示例#1
0
	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;
	}
示例#2
0
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;
}