bool Renderer::Initialize() { // Create/Get required systems g_resource_cache = m_context->GetSubsystem<ResourceCache>().get(); m_profiler = m_context->GetSubsystem<Profiler>().get(); // Editor specific m_gizmo_grid = make_unique<Grid>(m_rhi_device); m_gizmo_transform = make_unique<Transform_Gizmo>(m_context); // Create a constant buffer that will be used for most shaders m_buffer_global = make_shared<RHI_ConstantBuffer>(m_rhi_device); m_buffer_global->Create<ConstantBufferGlobal>(); // Line buffer m_vertex_buffer_lines = make_shared<RHI_VertexBuffer>(m_rhi_device); #ifdef API_GRAPHICS_VULKAN return true; #endif CreateDepthStencilStates(); CreateRasterizerStates(); CreateBlendStates(); CreateRenderTextures(); CreateFonts(); CreateShaders(); CreateSamplers(); CreateTextures(); return true; }
bool BoxApp::Init() { if (!D3DApp::Init()) { return false; } CreateRasterizerStates(); BuildFX(); BuildVertexLayout(); md3dImmediateContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY::D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST); m_Mesh = std::make_unique<Mesh>("Models/MeteorBig.FBX", md3dDevice); return true; }