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