|
- #define R2VB_ENABLE 0x70ff0001
- #define R2VB_DISABLE 0x70ff0000
- #define R2VB_DMAP 0
- #define R2VB_VTX0 1
- #define R2VB_VTX1 2
- #define R2VB_VTX2 3
- #define R2VB_VTX3 4
- #define R2VB_MAP_STREAM(stream, sampler) (0x71ff0000 | stream | (sampler << 4))
- #define R2VB_UNMAP_STREAM(stream) (0x71ff0050 | stream)
复制代码
检测R2VB支持
- if (d3d->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, 0, D3DRTYPE_SURFACE, (D3DFORMAT) MAKEFOURCC('R','2','V','B')) == D3D_OK)
复制代码
调用方法
- renderer->setVertexBuffer(1, terrainVB);
- dev->SetRenderState(D3DRS_POINTSIZE, R2VB_ENABLE);
- dev->SetRenderState(D3DRS_POINTSIZE, R2VB_MAP_STREAM(1, R2VB_DMAP));
- dev->SetTexture(D3DDMAPSAMPLER, ((Direct3DRenderer *) renderer)->getD3DTexture(terrainRT));
复制代码
从这个例子中比较出的fps相差是‘相当’的大,大概x700p是6600的6倍左右吧 |
|