已经学习OpenGL一小段时间了,断断续续的。虽说没什么长进,但是感觉还是有一些入门。主要是看NEHE的教程(NEHE OpenGL Tutorials),有些东西很有深度,感觉很遥远……只是一个多看多学的过程,看不懂一遍,可以看第二遍、第三遍,每一遍都会有所收获的。
学习OpenGL的初衷是为了做游戏,所以也在研究《学OpenGL编3D游戏》的教程。关于OpenGL的东西还是做得很少,想在其基础上做一个第一人称射击游戏,但在写它之前还是想对OpenGL做一些系统学习和总结,肯定会有不小的收获的。
就从这里开始吧!网络为学习提供了极大的方便,有很多大牛,我会不断的把我学到的东西,整理到这个博客当中,放弃了网易,以为感觉这里更规范,是一个适合于程序员的专用博客(^o^)。
一个基于NEHE框架的MFC OpenGL向导,这儿是在网上发现的一个很不错的东东,十分实用。以下是说明和下载(参考文档):
下载:NEHE向导文件.rar (NEHE框架,for VC6)
以框架为例,首先看看里面的说明
1、拷贝awx文件到vc6安装目录下($Install_Directory\Common\MSDev98\Bin\IDE);
2、打开VC6,新建工程,选择MFC OpenGL AppWizard向导,输入新建工程名;
3、向导第二步,设置分辨率和屏幕深度,点示“完成”按钮;(注:最好选择1024*768,和 32bit)
4、选择左侧ClassView(类视导航),打开新建工程的类树;
5、在类树下,打开CMainFrame类;
6、点击到CMainFrame下的成员函数RenderGLScene。
修改glBegin(GL_QUADS)到glEnds()之间的代码。
好了,简单手动敲入:
glBegin(GL_QUADS);
……
glEnd();
|
改成→
|
glBegin(GL_TRIANGLES);
glVertex3f(-1,0,0);
glVertex3f(1,0,0);
glVertex3f(0,1,0);
glEnd();
|
怎么样?一个底边为2,高为1的三角形。
单位就是opengl坐标轴单位,三个顶点(x,y,z)分别在(-1,0,0),(1,0,0),(0,1,0);
opengl坐标轴(x-y-z右手系):你面对屏幕,你的右边是x正轴,上面是y正轴,屏幕指向你的就是z正轴啦。
(注:glTranslatef为了把图形移后点,因为屏幕平面就是x-y平面嘛,所以向z负轴移后点看得清楚;glRotatef实现了旋转,同时绕三个轴,三个*rot是速度啦。)
行为决定态度。
posted on 2010-09-11 09:29
vic.MINg 阅读(744)
评论(0) 编辑 收藏 引用 所属分类:
OpenGL