Skip to content
独具特色的KlayGE字体系统现在可以独立使用啦! 在开发版本中,字体系统KFont成为了一个不依赖于KlayGE主体的子项目。目前包含的功能有.kfont格式的读写。未来可能加入字体转换工具和渲染代码生成。
为迎接即将到来的OpenGL ES 3.0(开发代号Halti),KlayGE的OpenGLES2插件正式更名为OpenGLES,以保持兼容性。同时,还增加了OGLESConditionalRender,通过GL_EXT_occlusion_query_boolean来实现遮挡查询。 另外说说OpenGL ES 3。在2007年的OpenGL ES Overview里面就有提到代号为Halti的OGLES3,是基于OpenGL 3.0来开发,目标发布时间是2010年。但现在显然延期了很久。终于,在前不久的CES2012上,Imagination Technologies宣布了PowerVR6,支持OpenGL ES 3、OpenGL 3、D3D 10和OpenCL。特定型号还可以支持D3D11.1和OpenGL 4。之前ARM也宣布了Mali-6xx支持OpenGLES 3、D3D11和OpenCL 1.1。同样,Qualcomm的Adreno 3xx也会支持OpenGL ES 3 ...
去年4月份我写过《OpenGL ES Emulator横向比较》,比较了4种常见的OpenGL ES模拟器。过了将近一年,让我们再次横向比较一下现在的模拟器。 基本特性 厂商 NVIDIA ARM 名称 x86 Windows OpenGL ES 2.0 Emulator OpenGL ES 2.0 Emulator v1.3 模拟目标 Tegra Mali 版本 OpenGL ES 1.1, 2.0; EGL 1.3 OpenGL ES 1.1,2.0; EGL 1.3 扩展 GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_NV_log_textures GL_OES_compressed_paletted_texture GL_OES_element_index_uint GL_OES_framebuffer_object GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_shader_source GL_OES_stencil8 ...
经过这几天的的开发和调试,KlayGE的所有例子都在NVIDIA的OpenGL ES模拟器上顺利运行了。除了没有GI、distance mapping退化成normal mapping、以及由于缺少float texture而不能实现高精度DoF之外,其他效果都和D3D11和OpenGL一致。 Tegra 2模拟器的问题 NVIDIA的OpenGL ES模拟器的模拟对象是Tegra 2,但支持的扩展不如真的Tegra 2。Tegra 2真机支持的OpenGL ES扩展有(来自Xoom): GL_ARB_draw_buffers GL_EXT_bgra GL_EXT_Cg_shader GL_EXT_packed_float GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_te ...
[zh] 上个星期,经过整个团队半年的努力,KlayGE迈进了4.0这个大版本!紧接着就是开始计划4.1的开发了。该版本大约在2012年6月发布,这里列出目前的新功能计划。 必然出现 这些特性一定会出现在KlayGE 4.1中,都有明确的实现方法,不确定性因素较小。 屏幕空间反射 FFT Bloom filter 基于Postprocess的stereo 通过Importance sampling加速GI(开发中) Collision detection函数库 进一步提升OpenGL ES 2兼容性 可能出现 可能出现的特性要么存在比较大不确定性,是否会出现在KlayGE 4.1取决于时间关系。 大气散射效果(开发中) SSGI 不会出现 这些东西不会在KlayGE 4.1中出现,所以不必再提了。 各种编 ...
从KlayGE 4.0开始,KlayGE转为使用双协议。默认的协议仍然是开放源代码的GPL。对于不适合用GPL的用户,在缴纳授权费的情况下,可以选择另一个协议,称为KlayGE Proprietary License(KPL)。因此对于需要避开GPL条款的用户,也有机会为项目购买另一个协议的KlayGE。 详细情况请见Licensing。
[zh] 经过KlayGE团队半年的努力,KlayGE 4.0.0正式发布了!作为一个大版本,KlayGE开始由一堆发散的功能集走向一个以Deferred Rendeirng为核心的系统。并且开始支持新平台Android。主要更新如下: Deferred Rendering layer集成到核心中 全局光照得到了很大的加速 支持Android(在王锐的协助下完成) 支持实时焦散(由Parsifal Wang完成) 蒙皮动画支持Dual quaternion(由Honyeung Lau、Xiaoyang Zhu完成) 增加了资源载入框架(由郭鹏设计) 改进的SSVO(由吴野完成) 骨骼数据压缩 用Phong Tessellation代替PN-Triangles 支持渲染到纹理数组 支持parallax occlusion mapping 从此处下载KlayGE 4.0.0。 ...
在KlayGE的空框架跑起来之后,经过几天艰苦的debug,修正了多个KlayGE的bug,绕开更多Android的bug。现在,Text和Vertex displacement两个例子已经能在Android上顺利执行了。 Text例子。乱码不是bug,只因为系统区域没设置成中文。 Vertex displacement例子。 在移植的过程中,遇到的一个麻烦是NDK的ANativeWindow_getWidth和ANativeWindow_getHeight总是返回1,无法得到正确的窗口大小。结果viewport被错误地设置成1x1,使得渲出的东西都只有1个pixel。在修改了native_app_glue,获取resize的消息后,viewport大小终于得到了正确的设置。那两个例子才因此能正常执行。从这里也可以看出,Android的NDK千疮百孔,开发的时候要异常小 ...
今天CrystaX终于发布了从官方NDK r7修改而来的定制版Android NDK r7。主要的变化有: 宽字符 Google的NDK无法很好地支持宽字符,不管是在C还是C++里。CrystaX NDK含有完全兼容标准的宽字符支持,所以可以更容易地把使用了宽字符/string/stream的现有代码和新代码移植过去。 新的4.6.3工具链 从r7-crystax-1开始,CrystaX NDK包含了两个版本的编译器工具链:4.4.3(老的,和Google用的一样)以及4.6.3(新的)。 新工具链包含了GCC 4.6.3,它包含了Graphite framework,可以让gcc做一些高层内存优化。 为了兼容于Google的NDK,4.6.3工具链不是默认打开的。打开它需要在Application.mk里加一行: APP_TOOLCHAIN_VERSION := 4.6.3 ...
[zh] glloader,KlayGE游戏引擎的一个子项目,是一个OpenGL扩展载入库。它可以载入OpenGL 1.0-4.2,OpenGL ES 1.0-2.0,同时也支持WGL、GLX、EGL和其他GL/GLES扩展,只要编写xml脚本就能自动生成扩展载入代码。glloader有一个 XML格式的数据库,包含了GL/GLES的所有入口函数、标示和类型定义。 在这个新版本中,glloader有了Android版,同时GL/GLES/EGL registry里的所有最新的扩展也都支持了。 请从这里下载。 [/zh] [en] The glloader, a subproject of Klay Game Engine, is an OpenGL extension loading library. It supports OpenGL core 1.0 to 4.2, OpenGL ES core 1.0 to 2.0, as well as WGL, GLX, EGL and other ...