大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
Win10+VS2019+OPENGL安装
- VS2019下载与安装
- OpenGL安装
-
- 1.创建项目,并命名(此处我命名为main),指定存储位置
- 2.创建好之后如图所示
- 3.下载GLFW
- 4.下载GLEW
- 5.下载FreeGLUT
- 6.进入VS2019,点击项目,管理NuGet程序包,在左边浏览栏目里搜索nupengl,安装它们
- 7.在运行代码之前,将freeglut.dll, glew32.dll, glfw3.dll 拷贝到C:\Windows\SysWOW64 或C:\Windows\System32中.(为保险起见我两个文件夹内都拷贝了)
- 8. 进入VS2019,右键之前创建的main项目(右侧),选择属性,连接器,输入,将freeglut.lib;glew32.lib;glfw3.lib;OpenGL32.lib;复制到附加依赖项中
- 3.测试代码1
- 4.测试代码2
- 参考链接
- 总结
VS2019下载与安装
选择社区版本进行下载即可
2.在 Visual Studio 中安装 C 和 C++ 支持
Visual Studio显示行号
找到工具菜单——–>选项——>文本编辑器——->C/C++
OpenGL安装
1.创建项目,并命名(此处我命名为main),指定存储位置
2.创建好之后如图所示
3.下载GLFW
GLFW下载链接(此处我下载的是32-bit Windows binaries,因为我的VS2019是在本地x86环境下编译的)
将下载好的文件进行解压,并把其中include文件夹内的GLFW文件夹内的头文件,拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\GL中。若没有GL文件夹则自己创建。
将解压后的文件夹中的lib-vc2019文件夹内的glfw3.dll拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin的Hostx64和Hostx6文件夹下的每个文件夹内部(每个都有x64和x86,需要拷贝到最小文件夹内部);
将glfw3. lib和glfw3dll.lib拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\lib的x64和x86文件夹内
4.下载GLEW
下载GLEW
解压下载好的压缩文件,将include文件夹中的GL文件夹内的头文件,全部拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\GL中
- 将glew-2.1.0-win32\glew-2.1.0\bin\Release下的Win32内的dll文件拷贝到C:\Program
Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin的Hostx64的x86文件夹内和Hostx86的x86文件夹内 - 同理,将glew-2.1.0-win32\glew-2.1.0\bin\Release下的x64内的dll文件拷贝到C:\Program
Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin的Hostx64的x64文件夹内和Hostx86的x64文件夹内
- 将glew-2.1.0-win32\glew-2.1.0\lib\Release下的Win32内的lib文件拷贝到C:\Program
Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.27.29110\lib的x86文件夹内 - 将glew-2.1.0-win32\glew-2.1.0\lib\Release下的x64内的lib文件拷贝到C:\Program
Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.27.29110\lib的x64文件夹内
5.下载FreeGLUT
FreeGLUT下载地址
将下载后的文件解压,将include文件夹内的GL文件夹内的除glut.h的其他头文件全部拷贝到C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\GL中
同理,将lib文件和dll文件按照glew的安装文件夹路径分别安装即可。
6.进入VS2019,点击项目,管理NuGet程序包,在左边浏览栏目里搜索nupengl,安装它们
7.在运行代码之前,将freeglut.dll, glew32.dll, glfw3.dll 拷贝到C:\Windows\SysWOW64 或C:\Windows\System32中.(为保险起见我两个文件夹内都拷贝了)
8. 进入VS2019,右键之前创建的main项目(右侧),选择属性,连接器,输入,将freeglut.lib;glew32.lib;glfw3.lib;OpenGL32.lib;复制到附加依赖项中
3.测试代码1
#include <GL/glew.h>
#include <GL/glfw3.h>
#include <iostream>
void window_resized(GLFWwindow* window, int width, int height);
void key_pressed(GLFWwindow* window, int key, int scancode, int action, int mods);
void show_glfw_error(int error, const char* description);
int main()
{
glfwSetErrorCallback(show_glfw_error);
if (!glfwInit()) {
std::cerr << "GLFW 초기화 실패" << '\n';
exit(-1);
}
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
GLFWwindow* window = glfwCreateWindow(
800, // width
600, // height
"OpenGL Example",
NULL, NULL);
if (!window)
{
std::cerr << "윈도우 생성 실패" << '\n';
glfwTerminate();
exit(-1);
}
glfwMakeContextCurrent(window);
glfwSetWindowSizeCallback(window, window_resized);
glfwSetKeyCallback(window, key_pressed);
glfwSwapInterval(1);
glewExperimental = GL_TRUE;
GLenum err = glewInit();
if (err != GLEW_OK) {
std::cerr << "GLEW 초기화 실패 " << glewGetErrorString(err) << '\n';
glfwTerminate();
exit(-1);
}
std::cout << glGetString(GL_VERSION) << '\n';
int nr_extensions = 0;
glGetIntegerv(GL_NUM_EXTENSIONS, &nr_extensions);
for (int i = 0; i < nr_extensions; ++i) {
std::cout << glGetStringi(GL_EXTENSIONS, i) << '\n';
}
glClearColor(0, 0, 1, 1);
while (!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
void show_glfw_error(int error, const char* description) {
std::cerr << "Error: " << description << '\n';
}
void window_resized(GLFWwindow* window, int width, int height) {
std::cout << "Window resized, new window size: " << width << " x " << height << '\n';
glClearColor(0, 0, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
}
void key_pressed(GLFWwindow* window, int key, int scancode, int action, int mods) {
if (key == 'Q' && action == GLFW_PRESS) {
glfwTerminate();
exit(0);
}
}
4.测试代码2
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void MyDisplay() {
//디스플레이 콜백함수
glClear(GL_COLOR_BUFFER_BIT); //GL 상태변수 설정
glViewport(0, 0, 300, 300);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_POLYGON); //입력 기본요소 정의
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, -0.5, 0.0);
glVertex3f(0.5, 0.5, 0.0);
glVertex3f(-0.5, 0.5, 0.0);
glEnd();
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv); //GLUT 윈도우 함수
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(300, 300);
glutInitWindowPosition(0, 0);
glutCreateWindow("OpenGL Sample Drawing");
glClearColor(0.0, 0.0, 0.0, 1.0); //GL 상태변수 설정
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(MyDisplay); //GLUT 콜백함수 등록
glutMainLoop(); //이벤트 루프 진입
return 0;
}
参考链接
1.Visual Studio 2019配置OpenGL环境
2.VS2019 安装配置OpenGL
3.For His Kingdom #SDN #SD-WAN #NFV #Cloud #System #OpenGL #ComputerGraphics
总结
至此环境配置完毕,已经是心如止水的状态进行完了配置的记录。不知道为什么配好了,也不知道之前为啥一直不对,其实现在也不能确定是否完全配置成功,但至少测试代码可以跑通了,日后遇到什么问题再进行修改补充。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/209535.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...