OpenGL安装(适用于VS2017)

OpenGL安装(适用于VS2017)

这个是参考网上的博客,感谢前人的贡献,文末加上了一些我个人踩的坑
参考博客:在VS2017中安装OpenGL - 我有点帅哦 - 博客园


利用VS2017下的包管理软件Nuget下载安装OpenGL库
优点:安装很简单
缺点:每次创建项目都要重新下载OpenGL库

  1. VS2017创建C++控制台程序,最好选择空项目(否则可能会有其他的错误)

  2. 创建好了项目,点击菜单栏的“项目”下的“管理Nuget程序包”

  3. “浏览”下输入NupenGL,两个都点击安装

  4. 新建一个C++文件

  5. 输入下面的Demo,运行F5

#include   
#include   
#include   
#include   

#include   
#include   
#include   

void display(void) {
	GLubyte fly[] = {
		0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
		0x03,0x80,0x01,0xC0,0x06,0xC0,0x03,0x60,
		0x04,0x60,0x06,0x20,0x04,0x30,0x0C,0x20,
		0x04,0x18,0x18,0x20,0x04,0x0C,0x30,0x20,

		0x04,0x06,0x60,0x20,0x04,0x03,0xC0,0x22,
		0x44,0x01,0x80,0x22,0x44,0x01,0x80,0x22,
		0x44,0x01,0x80,0x22,0x44,0x01,0x80,0x22,
		0x44,0x01,0x80,0x22,0x44,0x01,0x80,0x22,

		0x66,0x01,0x80,0x66,0x33,0x01,0x80,0xCC,
		0x19,0x81,0x81,0x98,0x0C,0xC1,0x83,0x30,
		0x07,0xe1,0x87,0xe0,0x03,0x3f,0xfc,0xc0,
		0x03,0x31,0x8c,0xc0,0x03,0x33,0xCC,0xC0,

		0x06,0x64,0x26,0x60,0x0c,0xcc,0x33,0x30,
		0x18,0xcc,0x33,0x18,0x10,0xc4,0x23,0x08,
		0x10,0x63,0xc6,0x08,0x10,0x30,0x0c,0x08,
		0x10,0x18,0x18,0x08,0x10,0x00,0x00,0x08,
	};

	GLubyte halftone[] = {
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
		0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
	};

	glClear(GL_COLOR_BUFFER_BIT);
	glColor3f(1.0, 1.0, 1.0);
	glRectf(25.0, 25.0, 125.0, 125.0);
	glEnable(GL_POLYGON_STIPPLE);
	glPolygonStipple(fly);
	glRectf(125.0, 25.0, 225.0, 125.0);
	glPolygonStipple(halftone);
	glRectf(225.0, 25.0, 325.0, 125.0);
	glDisable(GL_POLYGON_STIPPLE);
	glFlush();
}

void init(void) {
	glClearColor(0.0, 0.0, 0.0, 0.0);
	glShadeModel(GL_FLAT);
}

void reshape(int w, int h) {
	glViewport(0, 0, (GLsizei)w, (GLsizei)h);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D(0.0, (GLdouble)w, 0.0, (GLdouble)h);
}

int main(int argc, char** argv) {
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(350, 150);
	glutCreateWindow(argv[0]);
	init();
	glutDisplayFunc(display);
	glutReshapeFunc(reshape);
	glutMainLoop();
	return 0;
}

效果图如下

可能遇到的小问题

  1. 创建项目时windows控制台项目,而非空项目可能遇到如下问题
错误	C1010	在查找预编译头时遇到意外的文件结尾。
是否忘记了向源中添加“#include "pch.h"

最简单的解决方案就是重新创建一个空项目
2. 在C++一个项目只能存在一个.cpp文件,否则可能会报错
解决办法:在VS2017项目管理中找到要移除C++文件,右击移除即可

你可能感兴趣的:(OpenGL)