Dev C++环境中使用OpenGL

引入


dev-c++实际上已经包含了开发opengl程序基本的功能可以简单的选择:新建-multimedia-opengl,建立一个opengl程序。

这个程序包含了基本的opengl程序的结构,包括生成窗口,消息驱动机制,还有基本的opengl程序。直接点击运行可以看到一个不断旋转的彩色三角形。

技术分享

在该工程的 Project Option -> Parameters -> Link 中发现已经连接了库 libglu32.a, libopengl32.a

-lopengl32

在工程根目录的 Makefile.win 中也能看到

LIBS     = -L"E:/Program Files/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc -mwindows -lopengl32 -g3 

所以要想建立自己的 OpenGL 工程必须在建立win32工程的Link中加入下面参数

-lglu32
-lopengl32

现在根据《OpenGL 编程指南》中的例程简单实现:在黑色背景中渲染一个白色的矩形

#include<windows.h>
//#include<GL/gl.h>//glut.h中已经包含 
//#include<GL/glu.h>
#include<GL/glut.h>

//绘制程序 
void display()
{
     glClear(GL_COLOR_BUFFER_BIT);//将屏幕设置为黑色
     glColor3f(10.,1.0,1.0);//设置当前颜色状态为白色
     glBegin(GL_POLYGON);//绘制多边形
         glVertex3f(0.25, 0.25,0.0);
         glVertex3f(0.75,0.25,0.0);
         glVertex3f(0.75,0.75,0.0);
         glVertex3f(0.25,0.75,0.0);
     glEnd();

     glFlush();//发送缓冲区
}

//初始化绘制 
void init()
{
     glClearColor(0.0,0.0,0.0,0.0);//清除颜色设置
     glMatrixMode(GL_PROJECTION);//设置投影方式
     glLoadIdentity();
     glOrtho(0.0, 1.0, 0.0, 1.0,-1.0,1.0);设置投影空间
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);//初始化glut
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//设置显示模式为单缓冲,RGB模式
    glutInitWindowSize(250,250);//设置窗口大小
    glutInitWindowPosition(100,100);//设置窗口位置
    glutCreateWindow("Hello");//设置窗口标题
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;

}

配置


有了上面的感性认识,接下来就可以进一步理解在 DEV C++ 中配置 OpenGL 的原理了

  • WINDOWS配置:

    确保你的WINDOWS/SYSTEM32文件下有如下文件:

    glu32.dll, glut32.dll, glut.dll, opengl32.dll

  • DEV C++库的配置:

    确保DEV C++安装目录下的Lib文件中有如下文件:

    libglu32.a, libglut32.a, libglut.a, libopengl.a

    其次确保inlude\GL文件中又如下头文件:

    gl.h, glu.h, glut.h,

  • DEV C++文件工程的属性设置:

    右键单击工程,弹出菜单,点击工程属性,然后再弹出的表格中选择参数项,右边的连接器中输入:

    -lglut32
    -lglu32
    -lopengl32
    -lwinmm
    -lgdi32
    

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。