Skip to content
正如不久前的帖子所描述的,KlayGE 4.0的渲染系统将会过渡到deferred rendering的框架。这样做 好处 各种效果都可以在这个框架内得到整合、发挥和发展 方便未来编辑器的构建 坏处 只需要一些底层的geek变得不方便了 我现在的考虑是,把渲染系统分为两层,底下一层是API抽象层,负责把图形API抽象成同样的接口;上一层是deferred rendering层,提供高级功能。这样就可以兼顾两种应用需要。 在deferred rendering里面,除了deferred框架本身,还会包含GI、SSVO、HDR tone mapping、FXAA、Color grading以及Stereo。
上文介绍了feature level和option features这两个最容易被误解的D3D11特性,本篇主要探讨一下另外两个重要特性,compute shader和multi-threaded。他们同样可以在D3D10级别硬件上使用,但存在很多细节需要注意。 Compute Shader compute shader(也叫DirectCompute)是D3D11新增的主要功能之一。在D3D11的GPU上,compute shader是完整的5.0版本,而在D3D10.x的GPU上,compute shader有个简化的4.x版。两者的具体差别请见Compute Shaders on Downlevel Hardware。 CS 4.x的一个很重要缺点是不支持RWTexture,所以shader无法写入texture,只能写入buffer。(这是NV造成的。AMD的硬件很 早就可以做到写入RWTexture,但因为CS 4.x要求同时兼 ...
OpenGL 4.2发布当天,NVIDIA就发布了支持OpenGL 4.2的驱动。现在AMD也发布了支持4.2的新驱动Catalyst 11.8 Preview。 Windows版下载 Linux版下载 详细信息请看这里。
[zh] KlayGE游戏引擎的子项目glloader是一个OpenGL扩展载入库。它支持OpenGL核心1.0到4.2,OpenGL ES核心1.0到2.0,同时也支持WGL、GLX、EGL和其他GL/GLES扩展。glloader有一个XML格式的数据库,包含了GL/GLES的所有入口函数、标示和类型定义。 请从这里下载。 [/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 GL/GLES extensions. The glloader also includes a datebase of all entries, tokens and typedefs in GL/GLES in XML format. You can download it ...
仅以此文献给那些自以为了解D3D11的专家 D3D11正式发布已经有两年多了。在这短短的时间里,各GPU厂商 都相继推出了支持D3D11的显卡,许多游戏引擎也迅速推出了对D3D11的支持。但在国内,D3D11的接受度几乎为零。国内很多“大”游戏公司的“技 术人员”对于D3D11完全出于一知半解的状态,却又在不懂装懂地指手画脚。 关于D3D11,有些事情你确实必须了解。 Feature Level 从KlayGE 3.11.0发布以来,几乎每个月都会听见有人问我,“为什么要去掉D3D9和D3D10插件,仅保留D3D11和OpenGL?”。(最近这个频率显著 提高,基本到了每周1-2次的程度)。在他们的观点里,D3D11就得在D3D11的硬件上跑,而现在D3D11硬件尚未普及,这么做会影响到 KlayGE ...
在SIGGRAPH 2011上,Khronos正式发布了OpenGL 4.2的规范,把最新的图形功能带给了最先进最为广泛应用的跨平台2D和3D图形API。完整的规范文档可以从这里下载。 OpenGL 4.2的新功能有: GL_ARB_texture_compression_bptc GL_ARB_compressed_texture_pixel_storage GL_ARB_shader_atomic_counters GL_ARB_texture_storage GL_ARB_transform_feedback_instanced GL_ARB_base_instance GL_ARB_shader_image_load_store GL_ARB_conservative_depth GL_ARB_shading_language_420pack GL_ARB_internalformat_query GL_ARB_shading_language_packing GL_ARB_map_buffer_alignment 这些功能同时以核心和扩展的形式提供 ...
Get the latest updates to the Kinect for Windows SDK beta, which includes driver and runtime enhancements, as well as documentation improvements. Thanks to the community for the great feedback they’ve provided since we launched the Kinect for Windows SDK beta last month, which helped with this refresh. Details of Kinect SDK Beta1 Refresh can be found here.
上周末实现了打算在KlayGE 4.0中使用的render to texture array功能。于是自然而然想到在ShadowCubeMap这个例子中使用,用来在1个pass内直接生成cubemap。结果,不比不知道,一比吓一跳。在不同GPU上FPS如下: NV 9800GT NV 480GTX AMD 5870 6 pass Cubemap 158.63 312.82 241.10 Dual Paraboloid 5.77 375.32 211.91 1 pass Cubemap 66.08 288.77 228.44 1 pass Cubemap with instance 105.37 281.34 224.10 1 pass Cubemap with instance GS NA 287.80 211.01 9800GT所在机器的CPU比后两套系统差得多,没法横向比较,只能纵向比较。后两套系统只有GPU不同,可以横向和纵向比较 ...
上周五,Linux 3.0核心终于正式发布了! Linux 3.0带来的新功能主要有 Btrfs数据检查和自动碎片整理 支持XEN Dom0 无需权限的ICMP_ECHO WLAN唤醒 Berkeley封包过滤器的即时过滤 类似于memcached的页面缓冲系统 新的系统调用sendmmsg(),可以合并多个sendmsg()和setns() 用于更好地处理轻量级虚拟化系统的新系统调用 增加的新硬件主要有 Microsoft Kinect AMD Llano Fusion APU Intel iwlwifi 105和135 Intel C600 serial-attached-scsi控制器 Ralink RT5370 USB 多种Realtek RTL81xx设备 Apple iSight摄像头 增加了其他很多驱动和小更新 详细更新可以在这里找到。 看得出来,新的Linux核心 ...
上篇文章讨论了两个API在功能上的交集,以及互操作的方法。本篇作为系列的结局,将讨论一些平台相关的问题。 平台 长久以来,一直可以听到一种说法,D3D只能在Windows上用,而OpenGL可以用在所有平台。那么,我们就来看看在各个平台上,几种3D API的可用性。 桌面平台 Windows Windows 平台在这方面相当全面,D3D11、D3D10、D3D9、OpenGL、OpenGL ES都支持(需要注意的是,只有Vista+支持D3D10和D3D11)。由于OpenGL 4.1可以建立OpenGL ES的context,NV和AMD的驱动都提供了原生的OpenGL ES。这也为浏览器中WebGL的实现提供了方便。 Mac OS X Mac OS X所支持的OpenGL比较老旧,也不支持D3D和OpenGL ES。 Linux Linux的主打API是OpenG ...