| 6 | |
| 7 | |
| 8 | struct Tr2IndirectDrawBufferLayout |
| 9 | { |
| 10 | Tr2IndirectDrawBufferLayout() = default; |
| 11 | Tr2IndirectDrawBufferLayout( const Tr2ShaderProgramAL& program, Tr2PrimaryRenderContextAL& renderContext ); |
| 12 | |
| 13 | #if TRINITY_PLATFORM == TRINITY_DIRECTX12 |
| 14 | Tr2ShaderProgramAL m_shaderProgram; |
| 15 | uint32_t m_materialOffsets[Tr2RenderContextEnum::SHADER_TYPE_COUNT]; |
| 16 | uint32_t m_perObjectDataOffsets[Tr2RenderContextEnum::SHADER_TYPE_COUNT]; |
| 17 | uint32_t m_drawOffset = 0; |
| 18 | uint32_t m_stride = 0; |
| 19 | #elif TRINITY_PLATFORM == TRINITY_METAL |
| 20 | bool m_hasMaterialData[2]; |
| 21 | bool m_hasPerObjectData[2]; |
| 22 | #endif |
| 23 | }; |
| 24 | |
| 25 | class Tr2IndirectDrawBuffer; |
| 26 | class Tr2IndirectDrawBufferWriter; |