| 257 | } |
| 258 | |
| 259 | bool Render() override |
| 260 | { |
| 261 | if (!GraphicsApp::Render()) |
| 262 | return false; |
| 263 | |
| 264 | const HelloCubeFrame& frame = GetCurrentFrame(); |
| 265 | |
| 266 | // Issue commands for cube rendering |
| 267 | META_DEBUG_GROUP_VAR(s_debug_group, "Cube Rendering"); |
| 268 | frame.render_cmd_list.ResetWithState(m_render_state, &s_debug_group); |
| 269 | frame.render_cmd_list.SetViewState(GetViewState()); |
| 270 | #ifdef UNIFORMS_ENABLED |
| 271 | frame.render_cmd_list.SetProgramBindings(frame.program_bindings); |
| 272 | frame.render_cmd_list.SetVertexBuffers(m_vertex_buffer_set); |
| 273 | #else |
| 274 | frame.render_cmd_list.SetVertexBuffers(frame.vertex_buffer_set); |
| 275 | #endif |
| 276 | frame.render_cmd_list.SetIndexBuffer(m_index_buffer); |
| 277 | frame.render_cmd_list.DrawIndexed(Rhi::RenderPrimitive::Triangle); |
| 278 | frame.render_cmd_list.Commit(); |
| 279 | |
| 280 | // Execute command list on render queue and present frame to screen |
| 281 | m_render_cmd_queue.Execute(frame.execute_cmd_list_set); |
| 282 | GetRenderContext().Present(); |
| 283 | |
| 284 | return true; |
| 285 | } |
| 286 | |
| 287 | void OnContextReleased(Rhi::IContext& context) override |
| 288 | { |
nothing calls this directly
no test coverage detected