cleaning up cmake defines; adding a Win32 Platform Backend

This commit is contained in:
Noel Berry
2021-03-23 01:56:53 -07:00
parent d34a55e2ac
commit 6fddd34ca5
11 changed files with 1009 additions and 254 deletions

View File

@ -15,9 +15,7 @@ namespace
// TODO:
// This shader needs to be graphics API agnostic
#ifdef BLAH_USE_OPENGL
const ShaderData shader_data = {
const ShaderData opengl_shader_data = {
// vertex shader
#ifdef __EMSCRIPTEN__
"#version 300 es\n"
@ -62,8 +60,6 @@ namespace
"}"
};
#elif BLAH_USE_D3D11
const char* d3d11_shader = ""
"cbuffer constants : register(b0)\n"
"{\n"
@ -110,7 +106,7 @@ namespace
" input.mask.z * input.color;\n"
"}\n";
const ShaderData shader_data = {
const ShaderData d3d11_shader_data = {
d3d11_shader,
d3d11_shader,
{
@ -121,10 +117,6 @@ namespace
}
};
#else
const ShaderData shader_data;
#endif
const VertexFormat format = VertexFormat(
{
{ 0, VertexType::Float2, false },
@ -384,7 +376,12 @@ void Batch::render(const FrameBufferRef& target, const Mat4x4& matrix)
m_mesh = Mesh::create();
if (!m_default_shader)
m_default_shader = Shader::create(shader_data);
{
if (App::renderer() == Renderer::OpenGL)
m_default_shader = Shader::create(opengl_shader_data);
else if (App::renderer() == Renderer::D3D11)
m_default_shader = Shader::create(d3d11_shader_data);
}
if (!m_default_material)
m_default_material = Material::create(m_default_shader);