着色器源代码需要经过编译,链接,才能生成可执行的着色器程序,但是着色器的编译器和链接器都是内置在OpenGL库中的。因此我们需要调用OpenGL函数,才能创建出可执行的着色器程序。
着色器源代码需要经过编译,链接,才能生成可执行的着色器程序,但是着色器的编译器和链接器都是内置在OpenGL库中的。因此我们需要调用OpenGL函数,才能创建出可执行的着色器程序。
本片博文主要是为了在Windows环境下,创建一个空的OpenGL窗口,并且可以使用指定的颜色清除窗口背景。
为了方便后续的代码维护和使用,可以将OpenGL窗口常用的函数封装成MCOpenGLWindow类。在这个类中,先定义OpenGL窗口初始化、窗口大小设置、场景绘制、以及窗口销毁等几个最常用的函数。完成后的类定义如下:
具有Windows编程经验的人都知道,在Windows下用GDI作图必须通过设备上下文(DeviceContext简写DC)调用相应的函数;用OpenGL作图也是类似,OpenGL函数是通过"渲染上下文"(RenderingContext简写RC)完成三维图形的绘制
在创建OpenGL设备上下文之前,必须先引入项目所依赖的opengl32库。在这里按照下面的步骤即可:
本片博文属于Window编程的相关知识,对Windows开发很熟悉的读者可直接无视。
1、打开Visual Studio开发工具,版本可以随便选择,我个人使用的版本是Microsoft Visual studio 2010。
2、从菜单栏中依次选择【文件】—【新建】—【项目】菜单项,打开新建项目对话框;在项目类型列表中选择Win32,模板类型选择Win32控制台应用程序,然后输入项目名称。如下图所示:
在3D坐标系中,可以绕三个轴进行旋转,x轴,y轴,z轴。这里暂不考虑平移,所以只讨论旋转轴通过原点的情况。
绕Z轴旋转: