OPENGL学习【一】VS2008开发OPENGL程序开发环境搭建
2024-10-01 07:20:27
1.VS2008工具自行在网上下载安装,现只提供VS2008开发工具中配置OPENGL环境的详细步骤。开发包及编译工具会在下方一并放出链接。
2.打开CMake的工具,主要的配置信息如下,按照数字顺序依次配置即可:
本人在配置的编译完成后消息提示框提示一个警告信息,但最后还是忽略了,配置完毕之后还是能正常运行,可能是下载的GLFW包的问题吧。
3.上面编译成功之后,点击Open Project按钮,会自动在VS2008中打开编译的.sln项目。配置如下两个信息之后(All_BUILD为启动项和使用RelWithDebInfo方式进行编译),生成解决方案。
4.编译完成成功之后,在系统任意路径下新建两个文件夹,一个为包括,一个为LIB32文件夹。打开glew-1.10.0-win32.zip压缩包,把里面的GL文件夹拷贝出来到这个文件夹里面;把\ GLFW-3.0.4 \包括\目录下的文件夹GLFW复制到包括文件夹;效果如下(至于stdfx.h文件如果系统中没有的话就去找一份也复制到这个文件夹里面)
然后在编译的结果中/ Debug / Src /下的.lib,.dll文件拷贝下来到lib32文件夹,主要有下面3个文件。
5.在VS2008中新建一个Win32的控制台项目,在项目中右键打开属性配置对话框,配置下面几个信息即可:
6.上述配置完毕之后,加上如下的代码,来测试一下吧!
#include“stdafx.h”
#include <stdio.h>
#include <stdlib.h>
#include <GL / glew.h>
#include <GLFW / glfw3.h>
GLFWwindow *窗口;
#include <glm / glm.hpp>
使用名字空间glm;
int main(void)
{
//初始化GLFW
如果(!glfwInit())
{
fprintf(stderr,“无法初始化GLFW \ n”);
返回-1;
}
glfwWindowHint(GLFW_SAMPLES,4);
glfwWindowHint(GLFW_RESIZABLE,GL_FALSE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);
glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE);
//打开一个窗口并创建它的OpenGL上下文
window = glfwCreateWindow(1366,768,“This My First OpenGL Window”,NULL,NULL);
if(window == NULL){
fprintf(stderr,“打开GLFW窗口失败,如果你有一个英特尔GPU,它们不兼容3.3,试试教程的2.1版本。
glfwTerminate();
返回-1;
}
glfwMakeContextCurrent(窗口);
//初始化GLEW
if(glewInit()!= GLEW_OK){
fprintf(stderr,“无法初始化GLEW \ n”);
返回-1;
}
//确保我们可以捕获下面正在按下的退出键
glfwSetInputMode(window,GLFW_STICKY_KEYS,GL_TRUE);
//深蓝色的背景
glClearColor(0.0f,0.0f,0.4f,0.0f);
做{
//不要画任何东西,在教程2中见!
//交换缓冲区
glfwSwapBuffers(窗口);
glfwPollEvents();
} //检查ESC键是否被按下或窗口关闭
while(glfwGetKey(window,GLFW_KEY_ESCAPE)!= GLFW_PRESS &&
glfwWindowShouldClose(window)== 0);
//关闭OpenGL窗口并终止GLFW
glfwTerminate();
返回0;
}
环境配置安装包下载链接:
链接: https://pan.baidu.com/s/1snjxlEH 密码: s377
最新文章
- ENode框架Conference案例分析系列之 - 架构设计
- InfluxDB学习之InfluxDB数据保留策略(Retention Policies)
- c# winform 窗体起始位置 设置
- Swift基础语法学习总结
- 支付宝支付后回调通知中responseTxt=true isSign=False可能的问题
- springMVC框架下——通用接口之图片上传接口
- Spring注解@Scheduled定时任务
- jackson反序列化时忽略不需要的字段(zhuan)
- js,jquery判断某一节点是否存在
- 解决 border-radius 元素在应用了 transform 的子元素 时overflow:hidden 失效的问题
- VMware 11安装Mac OS X 10.10
- oralce 简单错误汇集。。。。。
- jQuery克隆DOM节点
- Three.js使用局部纹理更新
- GIT工程迁移方法总结
- 2018 github热门项目
- 7.15python进程锁
- qt资源加载出错
- TCP可靠传输:校验和,重传控制,序号标识,滑动窗口、确认应答
- 尚学堂java 参考答案 第九章
热门文章
- [bzoj2259][Oibh]新型计算机_Dijkstra
- unity font研究小结
- CodeForces 453A 	 概率题
- 【CSS】隐藏多行文本框Textarea在IE中的垂直滚动栏
- pip3使用
- Windows 10家庭版也能共享打印机(中)解除Guest账户网络登录限制,实现局域网共享
- CNN中的局部连接(Sparse Connectivity)和权值共享
- 转载【梦想天空(山边小溪)】Web 开发人员和设计师必读文章推荐【系列二十九】
- BZOJ 1443 二分图博弈 网络流
- LeetCode Weekly Contest 22