| 376 | } |
| 377 | |
| 378 | ICF void FlushStream(CBackend& cmd_list, ref_geom hGeom, ref_shader shader, const u32& w_offset, FVF::LIT*& w_verts, FVF::LIT*& w_start, const BOOL bSuppressCull) |
| 379 | { |
| 380 | const u32 w_count = static_cast<u32>(w_verts - w_start); |
| 381 | RImplementation.Vertex.Unlock(w_count, hGeom->vb_stride); |
| 382 | if (w_count) |
| 383 | { |
| 384 | cmd_list.set_Shader(shader); |
| 385 | cmd_list.set_Geometry(hGeom); |
| 386 | if (bSuppressCull) |
| 387 | cmd_list.set_CullMode(CULL_NONE); |
| 388 | cmd_list.Render(D3DPT_TRIANGLELIST, w_offset, w_count / 3); |
| 389 | if (bSuppressCull) |
| 390 | cmd_list.set_CullMode(CULL_CCW); |
| 391 | Device.Statistic->RenderDUMP_WMT_Count += w_count / 3; |
| 392 | } |
| 393 | } |
| 394 | |
| 395 | void CWallmarksEngine::Render() |
| 396 | { |
no test coverage detected