05 2011 档案

引擎设计跟踪(三)
摘要: 编辑器UI的设计阅读全文

posted @ 2011-05-23 23:34 crazii 阅读(174) | 评论 (0) 编辑

DX9的窗口关闭了,设备依然有效
摘要: 最近在做多窗口渲染.说说我遇到的情况首先DX9Device是根据一个窗口(比如D3DPRESENT_PARAMETERS里面的hDeviceWindow)创建的,创建的时候必须制定一个窗口,否则创建失败.但诡异的是,当我关闭了这个窗口之后,渲染设备竟然依然有效(但为什么创建设备的时候非要一个HWND呢,很奇怪,求达人解惑,这个跟DX的Foreground window和焦点有关么?),而且我可以继续创建swapchain,继续多窗口渲染.甚至可以用新窗口,来复用 已经关闭窗口的那个隐式的Swapchian和Backbuffer,就是设备创建的时候带的那个,不过我这时用的是swapchain的p阅读全文

posted @ 2011-05-16 01:49 crazii 阅读(113) | 评论 (0) 编辑

地形法线贴图的优化
摘要: 法线可以保存在切空间和世界空间两种方式.保存在切线空间的好处是渲染对象无论怎么旋转,都可以得到正确的法线信息, 通常的法线也都保存在切空间.它的缺点是,在渲染时需要进行空间变换,有额外的开销, 比如将法线从切线空间变换到世界空间, 从而根据世界空间的光照方向,做N dot L, 或者把世界空间的光照方向变换到切线空间,在切空间计算光照.另外一个缺点就是需要保存顶点的切线信息,来完成切空间的计算.世界空间的法线贴图,则可以直接采样出来使用,不需要变换.缺点自然很明显,如果渲染对象有旋转,那么采样出来的法线已经跟原位置不匹配了.对于地形来说,通常都是不需要旋转的,所以,法线贴图使用世界空间的话,可阅读全文

posted @ 2011-05-15 09:57 crazii 阅读(218) | 评论 (0) 编辑