录十六

持之以恒

创建和编译着色器

着色器源代码需要经过编译,链接,才能生成可执行的着色器程序,但是着色器的编译器和链接器都是内置在OpenGL库中的。因此我们需要调用OpenGL函数,才能创建出可执行的着色器程序。

创建OpenGL窗口

本片博文主要是为了在Windows环境下,创建一个空的OpenGL窗口,并且可以使用指定的颜色清除窗口背景。

一、OpenGL窗口类定义

为了方便后续的代码维护和使用,可以将OpenGL窗口常用的函数封装成MCOpenGLWindow类。在这个类中,先定义OpenGL窗口初始化、窗口大小设置、场景绘制、以及窗口销毁等几个最常用的函数。完成后的类定义如下:

创建OpenGL设备上下文

具有Windows编程经验的人都知道,在Windows下用GDI作图必须通过设备上下文(DeviceContext简写DC)调用相应的函数;用OpenGL作图也是类似,OpenGL函数是通过"渲染上下文"(RenderingContext简写RC)完成三维图形的绘制

一、链接OpenGL库。

在创建OpenGL设备上下文之前,必须先引入项目所依赖的opengl32库。在这里按照下面的步骤即可:

创建Windows窗口

本片博文属于Window编程的相关知识,对Windows开发很熟悉的读者可直接无视。

一、创建空项目

1、打开Visual Studio开发工具,版本可以随便选择,我个人使用的版本是Microsoft Visual studio 2010。

2、从菜单栏中依次选择【文件】­—【新建】—【项目】菜单项,打开新建项目对话框;在项目类型列表中选择Win32,模板类型选择Win32控制台应用程序,然后输入项目名称。如下图所示:

3D中的旋转变换

在3D坐标系中,可以绕三个轴进行旋转,x轴,y轴,z轴。这里暂不考虑平移,所以只讨论旋转轴通过原点的情况。

一、绕坐标轴旋转

  1. 绕Z轴旋转:

Copyright © 1999-2019, lu16.com, All Rights Reserved