Skip to content

Archive

Category: News
在KlayGE走上OSX的实验中,我提到了目前OSX的版本还有两个主要问题,一是没法打开post processing,而是shader编译用的是Cg,以至于不能支持GL3+的功能。钱康来这几天又做了一些实验,在很大程度上解决了这些问题。 Post processing 原先一打开HDR、FXAA、Gamma校正等流水线末端的post processing之后,只能看到黑屏或一片混乱。在xcode的调试中看到的是,back buffer中有正确的结果,但swap到front buffer就只有错误的画面。这就排出了是depth或stencil没用清空造成的错误,只能是swap的地方有什么蹊跷。 经过一番尝试和查阅资料,发现了OSX和其他平台在swap上有所不同。Windows上的SwapBuffers,以及Linux上的glXSwapBuffers,都可以 ...
长期以来,把KlayGE移植到iOS的呼声很高。从别的平台直接移植到iOS,跨度有点大。所以我的计划里把MacOSX当作一个中间平台,先移植到OSX,把OSX当作开发平台来开发iOS版本。现在,KlayGE的OSX版本有些进展,在这里总结一下。 OSX几乎完全由新加入的组员钱康来完成的,在此表示感谢。这也是第一次不是由我亲自完成的平台移植。除了需要对付平台API的差异之外,还需要把一部分窗口相关代码用ObjC完成,在通过跨语言调用接入引擎的其他部分。目前有些初步的结果,在不加上post processing的情况下,一些sample可以顺利执行了。post processing一加就黑屏,具体原因正在调查中。 下面是一些结果。 除了post processing,还有 ...
几个月前KlayGE的WinRT工程就已经转到CMake的方式进行管理。但因为CMake本身不支持WinRT,当时的做法是修改CMake的代码,打上自己的补丁后才能使用。现今,CMake有了个微软的fork,从我的补丁出发,专攻WinRT等平台上的兼容问题。目前这个分支能很好地生成Windows Store和Windows Phone的工程。 使用方法 对于生成其他平台的工程,这个分支的CMake和原先完全一样。对于WinRT平台,需要通过这样的命令行参数来指定目标系统和版本号: -DCMAKE_SYSTEM_NAME=WindowsPhone(或WindowsStore) -DCMAKE_SYSTEM_VERSION=8.0(或8.1) 实际上这个做法相当于和WinCE一样,在platform generator级别生成WinRT的部分,比我原先用compiler gener ...
[zh] 又到了KlayGE的发布周期。今天,KlayGE 4.5正式发布了!这个版本除了KlayGE传统上在图形方面的发展之外,在工程方面和移动平台上也有较大的改进。这个趋势还会持续下去。在这个版本的开发中,多个大的组件是由团队成员完成的,同时也有很多朋友提供了宝贵意见和bug报告,在此表示感谢。KlayGE 4.5的主要更新如下: 新子项目 DXBC2GLSL。组员林胜华完成的一个库和工具,可以把D3D compiler生成的字节码转换成OpenGL 2.0-4.4和OpenGL ES 2.0-3.1的GLSL。 引擎方面的改进 G-Buffer中更好的normal表达。 Compute shader的TBDR实现。把4.4中基于PS的light indexed deferred进一步发展成compute shader的实现,一次处理1024 ...
[zh] 随着半年一个新版本的周期,今天KlayGE 4.4正式发布了!在这个版本的开发中,多名团队成员贡献了自己的代码,也有很多朋友提供了宝贵意见和bug报告。也从SALVIA项目的编译脚本中学习和借鉴了很多经验。这些都为KlayGE的发展和完善做出了贡献,在此表示感谢。KlayGE 4.4的主要更新如下: 改进的编译系统 尽可能使用MSBuild 第三方库使用cmake工程文件 自动搜索OpenGLES SDK的目录,简化了编译的配置 OpenGL ES 3.0支持 Tile-based deferred rendering OpenGL 4.4支持 Multi-resolution层 高质量地形渲染(由孙文全协助完成) 屏幕空间SSS和半透明效果(由石裕隆完成) 基于后处理的图片放缩 多线程场 ...
SIGGRAPH 2013今天已经结束,还挺迅速,有的course ppt已经放出来了。 Khronos 2013 SIGGRAPH Camera BOF Physically Based Shading in Theory and Practice Advances in Real-Time Rendering in 3D Graphics and Games的网页已经上线,但ppt还没
在一年一度的SIGGRAPH大会上,Khronos group按照惯例,发布了OpenGL 4.4。新的OpenGL 4.4标准包含了一些新功能,同时以核心和扩展的形式出现: ARB_buffer_storage ARB_clear_texture ARB_enhanced_layouts ARB_multi_bind ARB_query_buffer_object ARB_texture_mirror_clamp_to_edge ARB_texture_stencil8 ARB_vertex_type_10f_11f_11f_rev 另外,还有一些新扩展也宣布了: ARB_compute_variable_group_size ARB_indirect_parameters ARB_shader_draw_parameters ARB_shader_group_vote ARB_sparse_texture 为什么还是没有direct state access!为什么还是没有direct state access!为什么还是没有dire ...
在2010年,曾经有个d3d1x for linux的项目短暂地轰动过。它通过Gallium的state tracker,原生地支持了d3d10和11的API,能运行一些简单的demo。遗憾的是,由于Wine的人对d3d1x不是很感兴趣(d3d9还支持不过来呢),在2013年3月份,d3d1x for linux因为无法使用和无人维护,被从mesa的repository里删除了。 (题外话:尚在开发中的HLSL bytecode to GLSL编译器也用了d3d1x for linux的bytecode解析代码,里面bug不少,而且都是下标写错之类不执行到肉眼很难看出来的bug。) 与此同时,d3d9 for linux诞生了。和之前一样,它也是个state tracker,也是原生支持。更好的是,它已经可以执行d3d9的游戏,并且性能高于Wine的转换成OpenGL的方 ...
昨天微软发布了Windows 8.1 Preview,其中一个没怎么被发现的新功能是,DirectX 11.2!上一次DirectX出现.2的版本号还是在8.x时代吧。DirectX 11.2引入了以下新功能: HLSL shader linking:Shader可以分成小块,分开编译,连接后成为完整的shader。给模块替换提供了方便。甚至,在11.2中还提供了一个叫Function linking graph的功能,可以像offline shader那样,构建一个graph,每个节点是一小段shader。最后才link了送给GPU。 Inbox HLSL compiler:Win8的时候,shader编译器是个独立的dll,在metro里面不允许调用,得离线编译。现在编译器又回来了,D3DCompile都可以在metro和desktop里使用。 GPU overlay support:直接支持在3D ...
[zh] 经过KlayGE团队半年来的努力,今天KlayGE 4.3正式发布了!在这个版本的开发和测试过程中,很多朋友也提供了宝贵意见和bug报告,为KlayGE的发展和完善做出了贡献,在此表示感谢。KlayGE 4.3的主要更新如下: 一个新的子项目KFL 脚本引擎(由王锐完成) 高质量细节效果 改进的Deferred Rendering 改进阴影生成(由李渊完成) Deferred框架和GI分离 大量重构(论坛里的lcbiotech提出的建议) 大范围阴影支持 支持官方版Android NDK r8 全新的输入系统,支持触摸输入 非阻塞式资源载入和管理(论坛里的lcbiotech提出的建议) 增强的立体输出(由孙文全帮助测试) 支持嵌入其他GUI框架 支持多种OIT方 ...