代码改变世界

随笔分类 -  OPENGL

3DS 文件格式

2010-12-01 15:59 by bingcaihuang, 825 阅读, 收藏,
摘要: 3DS 文件格式 1、读取规则 3ds文件的读取规则如下:字节:直接读取;字:先读低位字节,后读高位字节,如ed 3c读出后的字为3c ed;双字:先读低位字,后读高位字,如ed 3c 25 43读出后的双字为43 25 3c ed;浮点数:直接读取四个字节。2、CHUNKchunk是3ds文件的基本构成单位。每一个chunk包括一个头和一个主体。chunk是相互嵌套的,这就决定了你必须以递归的方式读取它们。chunk的头又由两部分组成:ID长一个字,chunk的长度(以字节为单位,包括头)长一个双字。ID表示chunk的含义。事实上有上千个chunk,它们构成了一个复杂但灵活的文件系统,你不 阅读全文

Opengles之glRotatef()旋转方向判断

2010-12-01 15:59 by bingcaihuang, 595 阅读, 收藏,
摘要: 在使用glRotatef()的时候想了很久旋转方向问题,因为glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)给定旋转角度和坐标轴,还有个方向要确定,而具体的法则就是右手法则,即将张开右手掌,朝上,大拇指指向向量方向,然后四手指往里握成拳,四手指旋转的方向即旋转方向。当给定角度为负数时,旋转的方向当然与手指旋转的方向相反了。 阅读全文

3D Studio File Format Information

2010-12-01 15:58 by bingcaihuang, 426 阅读, 收藏,
摘要: 比较重要的,3DS文件结构,完全理解并不难,难的是要记住每个块和整个结构: 3D Studio File Format Information收藏Index=====1. Fast reference : The chunk tree----------------------------------This will help you to find rapidly a chunk number... 阅读全文

opengl-3.7源码的编译

2010-12-01 15:56 by bingcaihuang, 546 阅读, 收藏,
摘要: 在opengl官网找到了source code,但opengl官方没有提供在win下编译的dll供我们调用,这两天一直在找编译opengl的方法,无奈,从csdn转到博客园来了,搬家的时候才发现没有完全编译出glut3.7的包,有时间再试试。 阅读全文

学OpenGL的一些好的网站

2010-12-01 15:55 by bingcaihuang, 2660 阅读, 收藏,
摘要: 好的资源太多,自己懂的太少,而今迈步从头越!!fighting......一些OpenGL资源链接这是前几天自己简单整理的几个链接,希望对大家有用顺便问一下http://www.spacesimulator.net这个网站的教程有一部分是收费的,大家如果知道那里可以看到免费的告我一声,谢谢!如果大家有关于step-by-step用OpenGL教你制作游戏引擎的也告我一下,再次感谢!1. OpenG... 阅读全文

OpenGL开发包介绍

2010-12-01 15:55 by bingcaihuang, 710 阅读, 收藏,
摘要: 开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有OpenGL函数采用了以下格式:<库前缀><根命令><可选的参数个数><可选的参数类型>  库前缀有gl、glu、aux、glut、wgl、glx、agl等等,分别表示该函数属于OpenG... 阅读全文

Qt 2D绘图 渐变填充

2010-12-01 15:53 by bingcaihuang, 1038 阅读, 收藏,
摘要: 在qt中提供了三种渐变方式,分别是线性渐变,圆形渐变和圆锥渐变。如果能熟练应用它们,就能设计出炫目的填充效果。线性渐变:1.更改函数如下:void Dialog::paintEvent(QPaintEvent *){ QPainter painter(this); QLinearGradient linearGradient(100,150,300,150); //从点(100,150)开始到点(... 阅读全文

OPENGL的显示列表

2010-12-01 15:53 by bingcaihuang, 482 阅读, 收藏,
摘要: OPENGL的显示列表收藏1、显示列表概论  16.1.1 显示列表的优势  OpenGL显示列表的设计能优化程序运行性能,尤其是网络性能。它被设计成命令高速缓存,而不是动态数据库缓存。也就是说,一旦建立了显示列表,就不能修改它。因为若显示列表可以被修改,则显示列表的搜索、内存管理的执行等开销会降低性能。  采用显示列表方式绘图一般要比瞬时方式快,尤其是显示列表方式可以大量地提高网络性能,即当通过... 阅读全文

OpenGL中的glLoadIdentity、glTranslatef、glRotatef原理

2010-12-01 15:47 by bingcaihuang, 845 阅读, 收藏,
摘要: 关于这几个函数的文章比比皆是,这是OpenGL的入门函数,但我想我讲的将不同于目前网上的文章。OpenGL中的坐标用齐次坐标表示,即(x,y,z)表示成(x',y',z',h),其中x=x'/h; y=y'/h; z=z'/h. 通常h取1. 比如空间中的点(2,3,4),在OpenGL中将表示成(2,3,4,1). 齐次坐标表示方式适合于矩阵运算,也很方便地表示了无穷远的点,比如(1,0,0,0... 阅读全文

OpenGL基础知识

2010-12-01 15:46 by bingcaihuang, 585 阅读, 收藏,
摘要: OpenGL是个大的状态机。我们就是通过改变它的状态来实现场景的渲染的。1.最基本的矩阵变换:模型变换:移动和变换场景中的模型;投影变换 :对视见空间进行裁剪和扭曲;视角变换: 对最终输出进行缩放。矩阵变换通过前三章的学习,我们知道了如何使用OpenGL在3D空间中绘制基本图元,并把使用图元组成模型。然而,在我们绘制完一个物体或一个场景之后,我们总希望从多个角度观察这个物体,或者在场景中走动。这时... 阅读全文

引用 OpenGL函数库

2010-12-01 15:45 by bingcaihuang, 771 阅读, 收藏,
摘要: 1.OpenGL核心库核心库包含有115个函数,函数名的前缀为gl。  这部分函数用于常规的、核心的图形处理。此函数由gl.dll来负责解释执行。由于许多函数可以接收不同数以下几类。据类型的参数,因此派生出来的函数原形多达300多个。  核心库中的函数主要可以分为以下几类函数:  (1)绘制基本几何图元的函数。如绘制图元的函数glBegain()、glEnd()、glNormal*()、glVer... 阅读全文