OpenGL Hello World

▶ OpenGL 的环境配置与第一个程序

● CUDA 中自带 OpenGL 需要的头文件和库,直接拉进项目里边去就行

● VS项目属性右键,属性,C/C++ 目录,包含目录,添加 CUDA 的头文件目录,我的是 "C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.1extrasCUPTIinclude" ,一般代码中使用  #inlcude <CL/cl.h>  来包含头文件。

● VS项目属性右键,属性,C/C++ 目录,库目录,添加 CUDA 的库目录,注意 32 位和 64 位工程是不同的,64位 "C:ProgramDataNVIDIA CorporationCUDA Samplesv9.1commonlibx64",从外边随便找来一个 glut32.lib 也放进去(64 位 glut 依赖 32 位的文件)

● 找来 “C:ProgramDataNVIDIA CorporationCUDA Samplesv9.1inwin64Debug” 下的 freeglut.dll,放进可执行文件目录(懒得配置了)

▶ 第一个程序,画一条线

● 代码

 1 #include <stdio.h>
 2 #include <GLglut.h>
 3 
 4 void lineSegment()                  // 线对象描述
 5 {
 6     glClear(GL_COLOR_BUFFER_BIT);   // 清理显示窗口
 7 
 8     glColor3f(1.0, 1.0, 0.0);       // 线的颜色     
 9     
10     glBegin(GL_LINES);              // 对象描述
11     glVertex2i(100, 30);            // 两个端点
12     glVertex2i(50, 100);
13     glEnd();
14 
15     glFlush();                      // 刷新缓冲区
16 }
17 
18 int main(int argc, char ** argv)
19 {
20     glutInit(&argc, argv);                          // 初始化 GL
21 
22     glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);    // 设定窗口缓存和颜色模型
23     glutInitWindowPosition(400, 200);               // 设定窗口位置、大小、标题、背景颜色
24     glutInitWindowSize(400, 300);
25     glutCreateWindow("Example");
26     glClearColor(0.0, 0.0, 0.3, 1.0);
27 
28     glMatrixMode(GL_PROJECTION);                    // 使用正投影将世界坐标系微微矩阵区域的内容映射到屏幕上
29     gluOrtho2D(0.0, 200.0, 0.0, 150.0);             // 坐标范围
30     glutDisplayFunc(lineSegment);                   // 将图形输送到显示窗口
31     glutMainLoop();                                 // 现实所有对象并等待
32 
33     return 0;
34 }

● 输出结果

原文地址:https://www.cnblogs.com/cuancuancuanhao/p/9879060.html