|

楼主 |
发表于 2009-10-2 13:21:00
|
显示全部楼层
Re:为什么把mesh的索引缓存增加到32位后会蓝屏?
IDirect3D9* d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
if(d3d9)
{
D3DCAPS9 caps;
d3d9->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);
cout<<"最大索引缓存:"<<caps.MaxVertexIndex<<endl;
}
查了一下,我的机器支持的最大索引值是16M,即24位的,那我D3DXCreateMeshFVF函数的第三个参数用哪个呢?它好象只能用16位或32位这两种,难道没办法了么?
之前,我用这个方法想知道我的显卡支持的最大光源数MaxActiveLights,结果显示为0,再烂的显卡也不可能不支持光源的吧,所以,以后我就不太相信这个GetDeviceCaps了!
请大家指点一下吧! |
|