<style type="text/css">
<!--
@page
{margin:2cm}
pre
{font-family:"DejaVu Sans Mono",monospace}
p.我的格式-western
{font-family:"DejaVu Sans",sans-serif;
font-size:10pt}
p.我的格式-cjk
{font-size:10pt}
p.我的格式-ctl
{font-size:12pt}
p
{margin-bottom:0.21cm}
-->
</style>
一些OpenGL的笔记
gluPerspective
gluPerspective的用法:
void gluPerspective(
GLdouble fovy, //角度
GLdouble aspect,//视景体的宽高比
GLdouble zNear,//沿z轴方向的两裁面之间的距离的近处
GLdouble zFar //沿z轴方向的两裁面之间的距离的远处
);
记住,默认情况(也就是使用以下的语句)
glMatrixMode( GL_PROJECTION );
glLoadIdentity( );
下,视口是朝向Z轴的负半轴的,我们在使用gluPerspective函数的时候,zNear和zFar是相对于我们的视口定义的。所以绘制图形的时候,决不能认为我们图形的z轴坐标是正的才能显示,恰恰相反,z轴坐标是负的才能显示。
注意:gluPerspective()函数中zNear一定要大于0,一旦等于0或小于0,则无法显示所有的三维物体。
当然了zFar要大于zNear,要不然也无法显示。
GlutPostRedisplay以及画面
注意:glutPostRedisplay()函数不能在渲染线程以外被调用,写在渲染线程之外的话调用将无效。
为什么我的画面在动的时候,移动窗口会出现一些延迟(俗称“有些卡”)?
因为游戏的绘制基本上在一个线程内进行,窗口化的程序FPS一般是60,取决于你设定的刷新率。这就意味着你在移动窗口的时候,系统同时要保证1秒内画面刷新60次,也就是说,1/60秒内才有一次响应你移动窗口的操作,我想一般的窗口不会这么频繁地刷新吧。所以呢,移动窗口会出现一些延迟,这是正常的。有的时候一些大型的游戏在进行密集GPU操作的时候,不也出现了移动窗口无法响应或者响应很慢的情况吗?
裁剪
glEnable( GL_DEPTH_TEST );// 使用深度测试
glFrontFace( GL_CW ); // 顺时针的绘制为正面
glEnable( GL_CULL_FACE ); // 剔除不是正面的面
如果让顺时针绘制的图形位正面,那么我们一旦画出了逆时针的图形,那么将不会显示,因为不是正面的面已经被剔除掉了。
显示列表
声明显示列表与渲染显示列表要倒置,否则无法渲染后声明的显示列表。例如:
void Init( void )
{
glNewList( list1, GL_COMPILE );
…
glEndList( );
glNewList( list2, GL_COMPILE );
…
glEndList( );
}
void Render( void )
{
/* 错误:无法显示list2。
glCallList( list1 );
glCallList( list2 );
*/
glCallList( list2 );
glCallList( list1 );
}
分享到:
相关推荐
OpenGL 学习笔记整理.
C#版的OpenGL,可以在C#中引用,还是比较好用的
现代OpenGL+Qt学习笔记之二:程序框架http://blog.csdn.net/chaojiwudixiaofeixia/article/details/77917697源码。
初学用opengl 编写游戏时记录的笔记
OpenGL超级宝典 笔记21 相关代码 用存储区块来传递变换矩阵
非常好的opengl笔记,适合想自学opengl编程的人
NULL 博文链接:https://swinex.iteye.com/blog/1547004
巫师笔记opengl4.3版s环境配置资源及OpenGL动态s库
package ljh.opengl;是对OpenglES的一些封装。 package ljh.game;是对一些游戏常用的代码的封装 都没写完! 最近改学IOS了 看看什么时候能补充完。
在我学习JOGL的时候,只找到了英文版的pdf资料,看不懂。。然后我找了C语言版的OpenGL学习教程,对照着将JOGL学完了,并写了一个word作为笔记
使用opengl生成简单的动画效果。这是本章的最后一个实例,接下来学习opengl的基本绘图。
Unity+OpenGL学习笔记
OpenGLES20学习笔记,word文档
基于opengl es 2.0 编程指南阅读下记录的知识小结,由于该书是英文版本,希望此笔记可以对其他看该书的人有点用。
2.窗口:esCreateWindow( esContext, ”test”, 320, 240, ES_WINDOW_RGB) 3.编译加载着色器: glCr
OpenGL超级宝典 中文 第四版 教材 下载 笔记OpenGL超级宝典 中文 第四版 教材 下载 笔记OpenGL超级宝典 中文 第四版 教材 下载 笔记OpenGL超级宝典 中文 第四版 教材 下载 笔记OpenGL超级宝典 中文 第四版 教材 下载...
首先:纹理坐标是这样规定的:左上(0,0),右上(1,0),左下(0,1),右下(1,1),中间(0.5,0.5)其他依次类推
对于刚刚接触android Opengl有一定帮助
这是我的学习nehe的opengl教程的笔记,觉得跟大家分享一下有好处
opengl,freeglut 基本绘制矩形矩形实例代码。