- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 OpenGL 天空盒
所谓天空盒,就是用一个矩形方盒作为形容远景贴图的物体。 在长方体的前后左右上5个面贴有天空远景的5幅图形(需要时底面也可以帖)。这5幅图形必须有以下规律: 1、图形为BMP位图格式,尺寸(像素点)为2的N次方; 2、顶图的4边与前后左右图的上边相连; 3、前后左右的4幅图形必须首尾相连。 对于每个面的贴图,就图的方向
2010-02-04 16:43:00 4801
原创 OpenGL 关于平面树的一点点理解
(1)如何使树的背景透明 当树的背景为纯色时,从文件中读进图片颜色信息后,现用数组存储此图片的颜色信息,然后用IF语句把颜色为纯色的像素点的深度设置为0或1,然后再深度测试,使用混合,就可去掉图片的纯色背景了。 (2)观察平面树时的问题 A、可使树随观察方向变化而旋转,始终使观察者看到完整的树的一面; B、在表示一棵树的地方
2010-02-04 16:37:00 1031
原创 OpenGL中关于视图要注意的几个问题
(1)记住,计算机图形的要点就是创建三维物体的二维图像(它必须是二维的,因为它是在平面的屏幕上显示的)。但是,当你决定在屏幕上绘图时,你必须用三维坐标的方式来考虑。 (2)“视图和模型变换”:这些变换对模型和照相机的相对位置进行定位,以获得所需的最终图像。 “投影变换”:描述了如何指定可视空间的形状和方向。可视空间决定了场景将如何投影到屏幕上(使用正投影或透视投影),以及
2010-02-04 16:19:00 768
原创 OpenGL 漫游
在计算机3D图形处理技术中,也有类似我们眼睛的东西gluLookAt()函数,如果这个观察点在OpenGL场景中的位置发生变化,我们在计算机屏幕上的图像(相当于我们的大脑的映像)就发生变化。 gluLookAt(视点,目标点,视点方向)其中视点(观察点)是一个三维坐标量: X量的变化就像是我们在场景中横向移动。 Y量的变化就像是我们的身体高
2010-02-04 16:03:00 2578 2
原创 OpenGL 纹理
摘自《OpenGL游戏程序设计》 当一个纹理映射到一个多边形上时,纹理就将随着此多边形的变换而进行相应的变换。纹理映射可以被认为是赋给了3D物体或多边形的一种皮肤。可以在物体上移动、拉伸或者压缩这个皮肤,但无论何种情况下,这个皮肤或者说纹理图总是不会与其所应用的多边形分离的。 将纹理数据从一个文件中载入内存之后,需要将其定义为一个OpenGL纹理图,而纹理图的维数
2010-02-02 22:48:00 1077
原创 对于OpenGL中光照和颜色混合的理解
摘自《OpenGL游戏程序设计》 光照 //光照变量 float ambientLight[] = {0.3f,0.5f,0.8f,1.0f} ; //环境光 float diffuseLight[] = {0.25f,0.25f,0.25f,1.0f) ; //散射光 这些变量定义了光的属性。ambientLight变量
2010-02-02 19:48:00 2082
原创 OpenGL和矩阵
OpenGL中的变换是依靠矩阵来完成所有数学计算的。OpenGL中有一种叫矩阵堆栈的东西,对于构建由很多简单物体组成的复杂模型是很有用的。 OpenGL中的矩阵堆栈提供了这样一个功能:用户能够相对于物体B的局部坐标原点移动物体A,以物体A的局部坐标绘制A,最后再撤销整个变换,以使得当前位置再次回到B物体的局部坐标原点。两个堆栈操作glPushMatrix()和glPopM
2010-02-02 08:59:00 1808 1
原创 设置OpenGL的运行环境
因为OpenGL仅仅是图形应用程序的编程接口,所有的用户交互或者屏幕窗口事务都需要其宿主操作系统来处理。为了减轻开发人员的负担,每种操作系统通常都有一组与OpenGL相应的扩展组件来处理用户交互和宿主环境的窗口处理。 对于UNIX系统,是通过GLX来完成的。 而在WINDOWS操作系统中,是使用一组叫做wiggle的函数。正是基于这个原因,此组函数中的每一
2010-02-02 08:51:00 946
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人