diff options
Diffstat (limited to '3rdparty/bgfx/examples/02-metaballs/metaballs.cpp')
-rw-r--r-- | 3rdparty/bgfx/examples/02-metaballs/metaballs.cpp | 43 |
1 files changed, 14 insertions, 29 deletions
diff --git a/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp b/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp index e40142cb7c3..cd6865da730 100644 --- a/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp +++ b/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp @@ -1,15 +1,25 @@ /* - * Copyright 2011-2016 Branimir Karadzic. All rights reserved. + * Copyright 2011-2017 Branimir Karadzic. All rights reserved. * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause */ #include "common.h" #include "bgfx_utils.h" +#include <bgfx/embedded_shader.h> + // embedded shaders #include "vs_metaballs.bin.h" #include "fs_metaballs.bin.h" +static const bgfx::EmbeddedShader s_embeddedShaders[] = +{ + BGFX_EMBEDDED_SHADER(vs_metaballs), + BGFX_EMBEDDED_SHADER(fs_metaballs), + + BGFX_EMBEDDED_SHADER_END() +}; + struct PosNormalColorVertex { float m_pos[3]; @@ -490,35 +500,10 @@ class ExampleMetaballs : public entry::AppI // Create vertex stream declaration. PosNormalColorVertex::init(); - const bgfx::Memory* vs_metaballs; - const bgfx::Memory* fs_metaballs; - - switch (bgfx::getRendererType() ) - { - case bgfx::RendererType::Direct3D9: - vs_metaballs = bgfx::makeRef(vs_metaballs_dx9, sizeof(vs_metaballs_dx9) ); - fs_metaballs = bgfx::makeRef(fs_metaballs_dx9, sizeof(fs_metaballs_dx9) ); - break; - - case bgfx::RendererType::Direct3D11: - case bgfx::RendererType::Direct3D12: - vs_metaballs = bgfx::makeRef(vs_metaballs_dx11, sizeof(vs_metaballs_dx11) ); - fs_metaballs = bgfx::makeRef(fs_metaballs_dx11, sizeof(fs_metaballs_dx11) ); - break; - - case bgfx::RendererType::Metal: - vs_metaballs = bgfx::makeRef(vs_metaballs_mtl, sizeof(vs_metaballs_mtl) ); - fs_metaballs = bgfx::makeRef(fs_metaballs_mtl, sizeof(fs_metaballs_mtl) ); - break; - - default: - vs_metaballs = bgfx::makeRef(vs_metaballs_glsl, sizeof(vs_metaballs_glsl) ); - fs_metaballs = bgfx::makeRef(fs_metaballs_glsl, sizeof(fs_metaballs_glsl) ); - break; - } + bgfx::RendererType::Enum type = bgfx::getRendererType(); - bgfx::ShaderHandle vsh = bgfx::createShader(vs_metaballs); - bgfx::ShaderHandle fsh = bgfx::createShader(fs_metaballs); + bgfx::ShaderHandle vsh = bgfx::createEmbeddedShader(s_embeddedShaders, type, "vs_metaballs"); + bgfx::ShaderHandle fsh = bgfx::createEmbeddedShader(s_embeddedShaders, type, "fs_metaballs"); // Create program from shaders. m_program = bgfx::createProgram(vsh, fsh, true /* destroy shaders when program is destroyed */); |