summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/02-metaballs/metaballs.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/examples/02-metaballs/metaballs.cpp')
-rw-r--r--3rdparty/bgfx/examples/02-metaballs/metaballs.cpp43
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 */);