DirectX小记

1、关于SetViewPort

如果不调用SetViewPort,那么设备对应的ViewPort是什么。

 

2、关于多线程渲染

如果逻辑线程和渲染线程分开, 则存在两种渲染方式

a、逻辑线程一次性提交渲染任务, 即先update,再render,两个过程严格分开, 在render提交渲染指令。

b、逻辑线程多次提交渲染任务, 即update和render两个过程混合。

这两种工作方式的影响是什么?

 

3、DirectX的命名方式,不同的命名方式代表了不同的功能,或者说分属于不同的模块包。

[Direct3D]

interface: IDirect3D

IDirect3D9

IDirect3DDevice9

 

function: Direct3D

Direct3DCreate9

 

其他: D3D

D3DDEVTYPE

D3DCAPS9

 

[D3DX系列]

interface: ID3DX

ID3DXSprite

 

function、其他: D3DX

D3DXMatrixLookAtLH

 

4、BeginScene和EndScene的作用

 

5、对于纹理过滤器, 如果渲染的纹理不放大缩小, 不同的过滤器设置是否影响性能。

 

6、如何简单的将一张纹理变成灰色, 不通过pixel shader和把纹理的像素值改变这两种方法。

 

7、创建d3d device时如果没有指定MulitThread标志, 则使用device和创建device必须是同一个线程, 否则reset device的时候会报错。这个问题可以用一个锁同步来解决。

 

8、用D3DUSAGE_RENDERTARGET创建的纹理能否直接使用像素拷贝的方法提高渲染效率, 比如利用脏矩形技术?

posted @ 2014-02-08 10:53  紫龙_  阅读(210)  评论(0编辑  收藏  举报