posts - 12,  comments - 6,  trackbacks - 0


   已经学习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 阅读(739) 评论(0)  编辑 收藏 引用 所属分类: OpenGL

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2010年9月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(1)

随笔分类(13)

随笔档案(12)

搜索

  •  

最新评论

阅读排行榜

评论排行榜