| 304 | }; |
| 305 | |
| 306 | void Marker::initGFXResources() |
| 307 | { |
| 308 | if(smVertexBuffer != NULL) |
| 309 | return; |
| 310 | |
| 311 | GFXStateBlockDesc d; |
| 312 | d.cullDefined = true; |
| 313 | d.cullMode = GFXCullNone; |
| 314 | |
| 315 | smStateBlock = GFX->createStateBlock(d); |
| 316 | |
| 317 | smVertexBuffer.set(GFX, 4, GFXBufferTypeStatic); |
| 318 | GFXVertexPCT* verts = smVertexBuffer.lock(); |
| 319 | verts[0].point = wedgePoints[0] * 1.25f; |
| 320 | verts[1].point = wedgePoints[1] * 1.25f; |
| 321 | verts[2].point = wedgePoints[2] * 1.25f; |
| 322 | verts[3].point = wedgePoints[3] * 1.25f; |
| 323 | verts[1].color = GFXVertexColor(ColorI(255, 0, 0, 255)); |
| 324 | verts[0].color = verts[2].color = verts[3].color = GFXVertexColor(ColorI(0, 0, 255, 255)); |
| 325 | smVertexBuffer.unlock(); |
| 326 | |
| 327 | smPrimitiveBuffer.set(GFX, 24, 12, GFXBufferTypeStatic); |
| 328 | U16* prims; |
| 329 | smPrimitiveBuffer.lock(&prims); |
| 330 | prims[0] = 0; |
| 331 | prims[1] = 3; |
| 332 | prims[2] = 3; |
| 333 | prims[3] = 1; |
| 334 | prims[4] = 1; |
| 335 | prims[5] = 0; |
| 336 | |
| 337 | prims[6] = 3; |
| 338 | prims[7] = 1; |
| 339 | prims[8] = 1; |
| 340 | prims[9] = 2; |
| 341 | prims[10] = 2; |
| 342 | prims[11] = 3; |
| 343 | |
| 344 | prims[12] = 0; |
| 345 | prims[13] = 3; |
| 346 | prims[14] = 3; |
| 347 | prims[15] = 2; |
| 348 | prims[16] = 2; |
| 349 | prims[17] = 0; |
| 350 | |
| 351 | prims[18] = 0; |
| 352 | prims[19] = 2; |
| 353 | prims[20] = 2; |
| 354 | prims[21] = 1; |
| 355 | prims[22] = 1; |
| 356 | prims[23] = 0; |
| 357 | smPrimitiveBuffer.unlock(); |
| 358 | } |
| 359 | |
| 360 | IMPLEMENT_CO_NETOBJECT_V1(Marker); |
| 361 |
nothing calls this directly
no test coverage detected