37 bgfx::RendererType::Enum mRenderType = bgfx::RendererType::Count;
39 std::array<bgfx::ProgramHandle, toUnderlying(VertFragProgram::COUNT)>
42 std::array<bgfx::ProgramHandle, toUnderlying(ComputeProgram::COUNT)>
47 mRenderType(renderType)
55 for (
const auto&
program : mVFPrograms) {
61 for (
const auto&
program : mCPrograms) {
68 template<VertFragProgram PROGRAM>
69 bgfx::ProgramHandle getProgram()
72 if (!bgfx::isValid(mVFPrograms[
p])) {
73 mVFPrograms[
p] = vcl::createProgram(
78 assert(bgfx::isValid(mVFPrograms[
p]));
80 return mVFPrograms[
p];
83 template<ComputeProgram PROGRAM>
84 bgfx::ProgramHandle getComputeProgram()
87 if (!bgfx::isValid(mCPrograms[
p])) {
88 mCPrograms[
p] = vcl::createProgram(vcl::loadShader(