opengl(全称为open graphics library)是一个跨编程语言、跨平台的专业图形编程接口规范。它适用于三维图像处理(二维亦可),提供了一个强大且易用的底层图形库。opengl™ 是业界最广泛接受的2d/3d图形api,自推出以来,已在各种计算机平台和设备上催生了数千个优秀应用程序。opengl™ 独立于视窗操作系统或其他操作系统,且具有网络透明性。在cad、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业中,opengl™ 帮助程序员在pc、工作站和超级计算机等硬件上开发高性能、视觉冲击力强的图形处理软件。
环境配置(以Windows10和Visual Studio2013为例)
首先,下载GLUT工具(这是OpenGL的工具库)。
下载地址:https://pan.baidu.com/s/1BoMxp-apBknXRP91m8uAvw
下载完成后,解压文件:
将解压得到的glut.dll和glut32.dll放入C:\Windows\system32文件夹(32位系统)或C:\Windows\SysWOW64文件夹(64位系统)。
将解压得到的glut.h复制到Visual Studio 2013的安装目录下的“\VC\include\gl”文件夹中。如果没有gl文件夹,请新建一个。
将解压得到的glut.lib和glut32.lib放入静态函数库所在文件夹(对于VS2013,是其安装目录下的“VC\lib”文件夹)。
第一个OpenGL程序的C++代码:
代码语言:javascript
代码运行次数:0
运行
复制
```javascript
#include
// called draw scene
void RenderScene(void)
{
// clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
// set current drawing color to red
glColor3f(1.0f, 1.0f, 0.0f);
// draw rectangle with current color
glRectf(-0.50f, -0.50f, 0.50f, 0.50f);
// Flush drawing commands & swap
glFlush();
}
// Setup the rendering state
void SetupRC(void)
{
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}
int main(int argc, char *argv[])
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutCreateWindow("Simple Opengl");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}
```
效果:
在OpenGL中,一些函数的作用如下:
glutInit(&argc, argv) 对GLUT进行初始化,必须在其他GLUT函数调用之前使用。
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE) 设置显示模式,其中GLUT_RGB表示使用RGB颜色,GLUT_SINGLE表示使用单缓冲。
glutInitWindowPosition(100, 100) 设置窗口在屏幕上的位置(100,100)。
glutInitWindowSize(400, 400) 设置窗口大小(400x400)。
glutCreateWindow("第一个OpenGL程序") 根据前面设置的信息创建窗口,标题为“第一个OpenGL程序”。
注意: 窗口创建后不会立即显示,需要调用glutMainLoop才能在屏幕上显示。
glutDisplayFunc(&myDisplay) 设置回调函数,当需要绘图时,myDisplay函数会被调用。
glutMainLoop 启动程序执行,进行消息处理循环,显示窗口并等待窗口关闭后返回。
参考链接:https://www./link/436020d2ae84493b822204db77896285