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创建的纹理能否直接使用像素拷贝的方法提高渲染效率, 比如利用脏矩形技术?

05-08 14:56