摘要: 基于OpenGL ES的压缩纹理有常见的如下几种实现:
1. ETC1(Ericcson texture compression)
2. PVRTC(PowerVR texture compression)
3. ATITC(ATI texture compression)
对于集成了NVIDIA Tegra2的手机如Motorola XOOM,ATRIX和DRIOID BIONIC则支持如下的纹理压缩
4. S3TC(S3 texture compression)
阅读全文
摘要: Linux环境下编译Irrlicht引擎的注意事项
阅读全文
摘要: Irrlicht如何做到跨平台?
Irrlicht中的两个抽象接口,IrrlichtDevice和IVideoDriver分别将设备与驱动抽象出来。对于不同的设备(比如Android手机或iPhone手机)只需要实现这两个接口,那么Irrlicht就基本可以被你所用了,因为引擎的其他部分大部分都是平台无关的,涉及到的平台相关的部分根据需要做调整就可以了。
阅读全文
摘要: 对于OpenGL的初学者来说,有两个不应该成为困难点的困难点。一个是编写OpenGL程序需要依赖特定平台的窗体系统。另外一个是OpenGL的扩展机制需要我们自己去处理。
这里推荐两个利器来解决这两个问题。让我们可以更加专注和有效的学习OpenGL。分别是GLUT和GLEW
阅读全文
摘要: OpenGL中的Frame Buffer Object(FBO)扩展,被推荐用于把数据渲染到纹理对像。相对于其它同类技术,如数据拷贝或交换缓冲区等,使用FBO技术会更高效并且更容易实现。
FBO一个最常见的应用就是:渲染到纹理(render to texture),通过这项技术可以实现发光效果,环境映射,阴影映射等很炫的效果。
在OpenGL渲染管线中,几何数据和纹理最终都是以2d像素绘制到屏幕上。最后一步的渲染目标在OpenGL渲染管线中被称为帧缓存(frame buffer)。帧缓存是颜色缓存、深度缓存、模板缓存、累积缓存的集合。默认情况下, OpenGL使用的帧缓存是由窗体系统创建和管理的。
在OpenGL扩展中,GL_EXT_framebuffer_object扩展提供了一个创建额外帧缓存对象(FBO)的接口。这个帧缓存的创建和控制完全是由OpenGL完成的,有别于窗体系统创建的默认的帧缓存。与系统默认的帧缓存类似,一个FBO也是颜色缓存、深度缓存、模板缓存的集合(FBO不包括累积缓存),然后OpenGL程序就可以把渲染重定向到FBO
阅读全文