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:Windowssystem32文件夹(32位系统)或C:WindowsSysWOW64文件夹(64位系统)。将解压得到的glut.h复制到Visual Studio 2013的安装目录下的“VCincludegl”文件夹中。如果没有gl文件夹,请新建一个。将解压得到的glut.lib和glut32.lib放入静态函数库所在文件夹(对于VS2013,是其安装目录下的“VClib”文件夹)。
第一个OpenGL程序的C++代码:
代码语言:javascript代码运行次数:0
运行复制“`javascript#include // called draw scenevoid 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 statevoid 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) 设置窗口大小(400×400)。glutCreateWindow(“第一个OpenGL程序”) 根据前面设置的信息创建窗口,标题为“第一个OpenGL程序”。注意: 窗口创建后不会立即显示,需要调用glutMainLoop才能在屏幕上显示。glutDisplayFunc(&myDisplay) 设置回调函数,当需要绘图时,myDisplay函数会被调用。glutMainLoop 启动程序执行,进行消息处理循环,显示窗口并等待窗口关闭后返回。
参考链接:https://www.php.cn/link/436020d2ae84493b822204db77896285
以上就是OpenGL入门的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/111323.html
微信扫一扫
支付宝扫一扫