FITD/FitdLib/shaders/embeddedShaders.cpp

104 lines
4.3 KiB
C++

#include "embeddedShadersMacro.h"
#include "config.h"
#if BGFX_PLATFORM_SUPPORTS_SPIRV
#include "shaders/generated/spirv/ui_vs.sc.bin.h"
#include "shaders/generated/spirv/ui_ps.sc.bin.h"
#include "shaders/generated/spirv/background_vs.sc.bin.h"
#include "shaders/generated/spirv/background_ps.sc.bin.h"
#include "shaders/generated/spirv/maskBackground_vs.sc.bin.h"
#include "shaders/generated/spirv/maskBackground_ps.sc.bin.h"
#include "shaders/generated/spirv/ramp_vs.sc.bin.h"
#include "shaders/generated/spirv/ramp_ps.sc.bin.h"
#include "shaders/generated/spirv/noise_vs.sc.bin.h"
#include "shaders/generated/spirv/noise_ps.sc.bin.h"
#include "shaders/generated/spirv/flat_vs.sc.bin.h"
#include "shaders/generated/spirv/flat_ps.sc.bin.h"
#include "shaders/generated/spirv/sphere_vs.sc.bin.h"
#include "shaders/generated/spirv/sphere_ps.sc.bin.h"
#endif
#if BGFX_PLATFORM_SUPPORTS_METAL
#include "shaders/generated/metal/ui_vs.sc.bin.h"
#include "shaders/generated/metal/ui_ps.sc.bin.h"
#include "shaders/generated/metal/background_vs.sc.bin.h"
#include "shaders/generated/metal/background_ps.sc.bin.h"
#include "shaders/generated/metal/maskBackground_vs.sc.bin.h"
#include "shaders/generated/metal/maskBackground_ps.sc.bin.h"
#include "shaders/generated/metal/ramp_vs.sc.bin.h"
#include "shaders/generated/metal/ramp_ps.sc.bin.h"
#include "shaders/generated/metal/noise_vs.sc.bin.h"
#include "shaders/generated/metal/noise_ps.sc.bin.h"
#include "shaders/generated/metal/flat_vs.sc.bin.h"
#include "shaders/generated/metal/flat_ps.sc.bin.h"
#include "shaders/generated/metal/sphere_vs.sc.bin.h"
#include "shaders/generated/metal/sphere_ps.sc.bin.h"
#endif
#if BGFX_PLATFORM_SUPPORTS_GLSL
#include "shaders/generated/glsl/ui_vs.sc.bin.h"
#include "shaders/generated/glsl/ui_ps.sc.bin.h"
#include "shaders/generated/glsl/background_vs.sc.bin.h"
#include "shaders/generated/glsl/background_ps.sc.bin.h"
#include "shaders/generated/glsl/maskBackground_vs.sc.bin.h"
#include "shaders/generated/glsl/maskBackground_ps.sc.bin.h"
#include "shaders/generated/glsl/ramp_vs.sc.bin.h"
#include "shaders/generated/glsl/ramp_ps.sc.bin.h"
#include "shaders/generated/glsl/noise_vs.sc.bin.h"
#include "shaders/generated/glsl/noise_ps.sc.bin.h"
#include "shaders/generated/glsl/flat_vs.sc.bin.h"
#include "shaders/generated/glsl/flat_ps.sc.bin.h"
#include "shaders/generated/glsl/sphere_vs.sc.bin.h"
#include "shaders/generated/glsl/sphere_ps.sc.bin.h"
#endif
#if BGFX_PLATFORM_SUPPORTS_DXBC
#include "shaders/generated/dx11/ui_vs.sc.bin.h"
#include "shaders/generated/dx11/ui_ps.sc.bin.h"
#include "shaders/generated/dx11/background_vs.sc.bin.h"
#include "shaders/generated/dx11/background_ps.sc.bin.h"
#include "shaders/generated/dx11/maskBackground_vs.sc.bin.h"
#include "shaders/generated/dx11/maskBackground_ps.sc.bin.h"
#include "shaders/generated/dx11/ramp_vs.sc.bin.h"
#include "shaders/generated/dx11/ramp_ps.sc.bin.h"
#include "shaders/generated/dx11/noise_vs.sc.bin.h"
#include "shaders/generated/dx11/noise_ps.sc.bin.h"
#include "shaders/generated/dx11/flat_vs.sc.bin.h"
#include "shaders/generated/dx11/flat_ps.sc.bin.h"
#include "shaders/generated/dx11/sphere_vs.sc.bin.h"
#include "shaders/generated/dx11/sphere_ps.sc.bin.h"
#endif
static const bgfx::EmbeddedShader s_embeddedShaders[] =
{
BGFX_EMBEDDED_SHADER(ui_vs),
BGFX_EMBEDDED_SHADER(ui_ps),
BGFX_EMBEDDED_SHADER(background_vs),
BGFX_EMBEDDED_SHADER(background_ps),
BGFX_EMBEDDED_SHADER(maskBackground_vs),
BGFX_EMBEDDED_SHADER(maskBackground_ps),
BGFX_EMBEDDED_SHADER(flat_vs),
BGFX_EMBEDDED_SHADER(flat_ps),
BGFX_EMBEDDED_SHADER(noise_vs),
BGFX_EMBEDDED_SHADER(noise_ps),
BGFX_EMBEDDED_SHADER(ramp_vs),
BGFX_EMBEDDED_SHADER(ramp_ps),
BGFX_EMBEDDED_SHADER(sphere_vs),
BGFX_EMBEDDED_SHADER(sphere_ps),
BGFX_EMBEDDED_SHADER_END()
};
bgfx::ProgramHandle loadBgfxProgram(const std::string& VSFile, const std::string& PSFile)
{
bgfx::RendererType::Enum type = bgfx::getRendererType();
bgfx::ProgramHandle ProgramHandle = bgfx::createProgram(
bgfx::createEmbeddedShader(s_embeddedShaders, type, VSFile.c_str())
, bgfx::createEmbeddedShader(s_embeddedShaders, type, PSFile.c_str())
, true
);
assert(bgfx::isValid(ProgramHandle));
return ProgramHandle;
}