opengl
文章平均质量分 56
T_W_S
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenGL中的glLoadIdentity、glTranslatef、glRotatef原理
http://blog.163.com/eugen009@126/blog/static/121764170200911171172667/关于这几个函数的文章比比皆是,这是OpenGL的入门函数,但我想我讲的将不同于目前网上的文章。OpenGL中的坐标用齐次坐标表示,即(x,y,z)表示成(x',y',z',h),其中x=x'/h; y=y'/h; z=z'/h. 通常h取1. 比如转载 2013-06-17 11:26:59 · 1079 阅读 · 0 评论 -
gl.h中的注意点
1.在这里也凭平时的经验总结一下opengl中的一些函数的参照坐标 glViewport函数:它的原点(0,0)在所生产的窗口的坐下角。 gluOrtho,glBegin,glEnd函数:它们的原点是glViewport在glutCreatWindow函数所产生的窗口的上的投影(即视口)的中心。比如说画一个点glVertex2i(0,0),在没设置gluOrtho函数(即默原创 2013-06-22 19:13:52 · 1632 阅读 · 0 评论 -
opengl编程错误及解决方案
错误1:如下蓝色部分表示:原因是变量的定义位置不正确,需要把变量name定义在函数的开头部分2.使用glGetString(GL_VERSION)函数的返回值是null,原因是在使用opengl函数之前,要先初始化渲染的上下文(rending text),在这里的解决方法是,在调用此函数前,要先调用glutInit()和glutCreateWindow()函数。3.原创 2013-07-22 08:34:30 · 6196 阅读 · 1 评论 -
GDI文字绘制和windows下opengl文字绘制小结
GDI绘制文字,要设置文字的属性,主要就是通过设置DC中的font对象来实现的。font对象的创建可以由createfont()、createfontIndirect()来实现。HFONT CreateFont( int nHeight, // height of font int nWidth, // average原创 2013-11-27 16:44:47 · 5234 阅读 · 3 评论 -
Opengl和windows的逻辑坐标到设备坐标转换的理解
1.绘图操作涉及到窗口,视口,屏幕几个概念(窗口是逻辑坐标,视口是设备坐标,是屏幕的一部分)。在opengl和windows中,窗口,和视口的定义是有所区别的。opengl中,窗口是在世界坐标系中定义的一个矩形框,也就是投影面。视口是在显示窗口中定义的一个矩形框,窗口中的物体完全投影到视口中。而视口之外的窗口区域将不进行绘图操作。窗口与视口的转换公式如下:xViewport =原创 2013-11-12 12:43:37 · 3277 阅读 · 0 评论 -
各章的专业术语介绍
第四章1.人眼是如何认识不同颜色的,显示器是如何显示颜色的? 不同频率(或波长、能量、他们可以相互确定)的光子有着不同的颜色,他们进入人眼后,人眼的红绿蓝三种锥细胞接受他们并组合成一种人眼感知的颜色。计算机模拟这种过程,当希望某个像素产生某种颜色时,就让此像素按照一定的合成比例发射红绿蓝三种光子(电子??),他们进入人眼后,被锥细胞组合后就形成了人们希望它出现的颜色。2.原创 2013-06-25 13:58:58 · 1150 阅读 · 0 评论 -
在Win32下使用OpenGL
1.win32程序的框架是winMain+WndProc。winMain中创建窗口同时实现消息循环,WndProc中实现的是消息的处理。2.win32程序运行时的过程主要是1:创建窗口2:捕获窗口中的消息并处理win32下要使用OpenGL的话,在创建窗口时,要增加此窗口对OpenGL的扩展的支持。那么在窗口创建的什么时候增加此窗口对Opengl的扩展呢?在窗口创建时,有WM_CREA转载 2013-09-03 22:43:27 · 7437 阅读 · 0 评论 -
glut.h中的注意点
1.在窗口初次创建时,或者当窗口移动或者改变窗口的大小时,会产生reshape和display消息。也就是产生reshape消息的同时,必然跟在其后产生display消息。但是display消息也可以单独产生,比如通过glutPostReDisplay()函数来发送display消息。2.原创 2013-06-17 09:41:20 · 957 阅读 · 0 评论 -
opengl绘制在屏幕坐标中固定位置的坐标轴模型
1,在时椎体的左下标定义为原点时:在视口发生变化时,scale=min(w,h)/pre(w,h)原创 2013-08-18 20:47:12 · 13857 阅读 · 1 评论 -
opengl:显示列表
GLuint glGenLists(GLuint range);glNewList(GLuint a);glEndList();glListBase(GLuint base);设置list地址的偏移量.默认为0.glCallList(GLuint list);当调用这些list时,其真实调用的list索引是list+偏移量glCallLists(GLuint n, GLenu原创 2013-07-15 16:07:59 · 868 阅读 · 0 评论 -
opengl像素格式和RC管理
http://hi.baidu.com/dem_simulation/item/7e45bc4086bb59a461d7b9c61.写在前面由于OpenGL被设计成独立于硬件,独立于窗口系统,因此OpenGL的用户不需要考虑如何对计算机图形设备中的显示面(display surfaces)进行初始化和管理,这些工作交由操作系统帮助完成。虽然如此,任何想要使用好OpenGL的开发人员转载 2013-07-22 09:52:00 · 3306 阅读 · 0 评论 -
opengl代码段
1.在显示图形时,窗口大小产生变化时,让图形始终显示在窗口的中心位置,同时能够完整的显示。我们1)在世界窗口中创建图形时将图形按照原点位置创建,2)根据w与h的大小关系,设置投影模型的left,right,bottom,top属性,使其高宽比符合h/w,同时能够完整将图形绘制出来。3)最后将视口大小设置为(0,0,w,h)就可以让世界坐标的原点位于窗口的中心了void reshape(原创 2013-07-22 15:13:11 · 793 阅读 · 0 评论 -
使用图像处理子集时的错误及其解决方案
1.readImage.C函数的修改结果如下:#include #includeGLubyte*readImage( const char* filename, GLsizei* width, GLsizei *height ){ int n; GLubyte* pixels; FILE* infile = fopen( filename, "原创 2013-07-20 16:38:56 · 1038 阅读 · 0 评论 -
OpenGL点阵字体绘制终极解决方案
OpenGL点阵字体绘制终极解决方案!事情总在变化, opengl迎来了3.3以及4.1的进化, 相信今后的扩充也会朝着这个方向. 对于字体渲染方面, 也并不是什么坏事. 今后有时间再写篇关于3.3和4.1的全屏字体渲染的新方案, 仍然是结合freetype2的, 相信随着freetype2的进步, 和对它的逐步认识, 应该会比现有方案更简单高效... 现在最最最重要的事是...睡觉!转载 2013-07-14 17:16:24 · 3032 阅读 · 0 评论 -
opengl绘制花托原理
花托实例如下:其中人眼从z正方向看向z负方向。这里的花托是关于z轴对称的。这是上面的花托实例的简略图为了计算个点的x、y、z坐标,从Y轴正方向向下看,建立集合模型如下:根据上图得到的p点的几何坐标表示如下:原创 2013-07-12 21:51:09 · 1312 阅读 · 0 评论 -
opengl在console程序中简单画图的过程
1.在main函数中实现初始化工作、初始化glut、窗口、gl、事件处理、主循环2.在reshape中实现display之前的模型视图矩阵设置、投影矩阵设置、视口设置等3.在display函数中实现绘图操作,一般会用到模型视图矩阵堆栈,实现图形的转换4.辅助的一些响应函数,mouse,keyboard等实现例子:#includestatic int year=0;stat原创 2013-06-24 17:24:46 · 1091 阅读 · 0 评论 -
opengl与vc(mfc)开发时的注意点
1,在view中使用opengl进行绘图时,要先设置绘图环境,也就是将view的dc关联到opengl的rc上。在设置像素格式上,当允许使用双缓冲时,则ondraw的最后使用swapbuffers来提交绘制语句,显示绘图。当不允许使用双缓冲时,ondraw做好通过调用glflush来提交绘图,进行显示。2.opengl在mfc中多视图间切换的问题(如何进行正确的视图重绘)我们在编写原创 2014-02-17 10:59:57 · 1391 阅读 · 0 评论
分享