随笔分类 -  opengl

摘要:一、简介 GDI是通过设备句柄(Device Context以下简称"DC")来绘图,而OpenGL则需要绘制环境(Rendering Context,以下简称"RC")。每一个GDI命令需要传给它一个DC,但与GDI不同,OpenGL使用当前绘制环境(RC)。一旦在一个线程中指定 了一个当前RC,在此线程中其后所有的OpenGL命令都使用相同的当前RC。虽然在单一窗口中可以使用多个RC,但在单一... 阅读全文
posted @ 2011-05-06 14:09 一个农夫 阅读(2213) 评论(0) 推荐(0)
摘要:1、CSplitterWnd创建分割窗体,子窗体style需要为child,否则会抛出“创建空文档失败”等错误。2、对话框可视化设计中,设计完以后可以修改Tab键顺序,选中对话框,然后菜单栏:格式-〉Tab键顺序。3、使用户不可调整窗口大小。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CFrameWndEx::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATESTRUCT cs 来修改窗口类或样式 cs.styl... 阅读全文
posted @ 2011-04-30 23:38 一个农夫 阅读(1570) 评论(2) 推荐(0)
摘要:1、MFC画图测试void Codemo21View::draw(void)//画图测试 { HWND hWnd = GetSafeHwnd(); HDC hDC = ::GetDC(hWnd); wglMakeCurrent(hDC,m_hGLContext); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(1.5f,0.0f,-6.0f); glBegin(GL_QUADS); // 绘制正方形 glColor3f(-... 阅读全文
posted @ 2011-04-30 23:31 一个农夫 阅读(483) 评论(0) 推荐(0)
摘要:1、OpenGL坐标系 OpenGL坐标系跟笛卡尔直角坐标系类似,只是z轴相反,OpenGL坐标系z轴正方向向外。 2、顶点信息由坐标位置、颜色值、法向量、纹理坐标组成。 3、核心函数后缀 后缀 类型 对应C变量 对应OpenGL数据类型 b 8-bit int signed char GLbyte s 16-bit int short GLshort i 32-bit int long GLin... 阅读全文
posted @ 2011-04-30 23:25 一个农夫 阅读(1251) 评论(0) 推荐(0)
摘要://库文件 opengl32.lib glu32.lib // odemoView.h : CodemoView 类的接口 #include <windows.h>#include <gl\gl.h>#include <gl\glu.h> public: afx_msg int OnCreate(LPCREATESTRUCT lpCreateS... 阅读全文
posted @ 2009-12-29 13:37 一个农夫 阅读(1766) 评论(0) 推荐(0)
摘要:本课NeHe给大家实现了一个简单的粒子系统。 需要的图片在这里。 代码如下: #include<windows.h>//vs2008,windows.h has glaut.h#include<tchar.h>#include <gl\gl.h>#include <gl\glu.h>#pragma comment(lib,"opengl... 阅读全文
posted @ 2009-11-26 14:06 一个农夫 阅读(910) 评论(0) 推荐(0)
摘要:在NeHe程序框架基础上初步实现了这个烟花的demo。烟花的弹片生存期由life和fade两个值决定。烟花的弹片速度由speed和a两个值决定。生命值和速度值变换在每次循环中加减运算实现,所以有必要添加一个参数来根据每台电脑的运算速度加以调整优化。实现代码如下。所需BMP图片在这里。<完> 阅读全文
posted @ 2009-11-26 13:15 一个农夫 阅读(4281) 评论(0) 推荐(0)
摘要:本课介绍了怎样把一幅特定格式的BMP图片贴到3D图形表面的方法。本课的demo是矩形。 BMP图片有很多格式,需要写一个函数还专门读取BMP图片。 注释起来的是用了glaux库的,后来采用了NeHe提供的替换函数。本程序在vs2008下调试通过。 需要的图片在这里,保存到同级的data目录下。 #include<windows.h>//vs2008,windows.h has g... 阅读全文
posted @ 2009-11-25 23:49 一个农夫 阅读(569) 评论(0) 推荐(0)
摘要:本课在介绍了怎样绘制一个真实3D图形。 代码如下: int DrawGLScene(GLvoid) // Here's Where We Do All The Drawing{ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer glLoadIdentity();... 阅读全文
posted @ 2009-11-25 23:34 一个农夫 阅读(436) 评论(0) 推荐(0)
摘要:这是第二到第四课的内容。主要介绍了怎样画出一个三角形和矩形,为他们添加色彩,然后添加语句使这两个图形旋转。 代码如下,在vs2008中调试通过。 #include<windows.h>//vs2008,windows.h has glaut.h#include<tchar.h>#include <gl\gl.h>#include <gl\glu.h>... 阅读全文
posted @ 2009-11-25 23:25 一个农夫 阅读(683) 评论(0) 推荐(0)
摘要:从几个星期前开始学习OpenGL,因为项目的需要。有幸刚开始就知道了NeHe,以及他的OpenGL教程。于是上他的官网,一课一课的学下去。到现在,虽然学得不多,但已经能够应付需要。仅从这一点来说,NeHe是一个伟大的人。我由衷的向他致敬。 NeHe的官网是http://nehe.gamedev.net/ 到目前为止,我从来没有读过一个教程解释细致到NeHe的水平,他用简单的语言把一个小孩引入了... 阅读全文
posted @ 2009-11-25 23:12 一个农夫 阅读(963) 评论(0) 推荐(0)