Graphics: Fix PredefinedShaderBinding enum
This commit is contained in:
parent
a02c300c0c
commit
8027ae9abe
|
|
@ -17,16 +17,17 @@ namespace Nz
|
||||||
Volume
|
Volume
|
||||||
};
|
};
|
||||||
|
|
||||||
enum PredefinedShaderBinding
|
enum class PredefinedShaderBinding
|
||||||
{
|
{
|
||||||
PredefinedShaderBinding_TexOverlay,
|
TexOverlay,
|
||||||
PredefinedShaderBinding_UboInstanceData,
|
UboInstanceData,
|
||||||
PredefinedShaderBinding_UboLighData,
|
UboLighData,
|
||||||
PredefinedShaderBinding_UboViewerData,
|
UboViewerData,
|
||||||
|
|
||||||
PredefinedShaderBinding_Max = PredefinedShaderBinding_UboViewerData
|
Max = UboViewerData
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr std::size_t PredefinedShaderBindingCount = static_cast<std::size_t>(PredefinedShaderBinding::Max) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // NAZARA_ENUMS_GRAPHICS_HPP
|
#endif // NAZARA_ENUMS_GRAPHICS_HPP
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ namespace Nz
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using DefaultShaders = std::array<std::shared_ptr<ShaderStage>, ShaderStageTypeCount>;
|
using DefaultShaders = std::array<std::shared_ptr<ShaderStage>, ShaderStageTypeCount>;
|
||||||
using PredefinedBinding = std::array<std::size_t, PredefinedShaderBinding_Max + 1>;
|
using PredefinedBinding = std::array<std::size_t, PredefinedShaderBindingCount>;
|
||||||
|
|
||||||
struct SharedUniformBlock;
|
struct SharedUniformBlock;
|
||||||
struct Texture;
|
struct Texture;
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ namespace Nz
|
||||||
ImageType_2D
|
ImageType_2D
|
||||||
});
|
});
|
||||||
|
|
||||||
predefinedBinding[PredefinedShaderBinding_TexOverlay] = textures.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::TexOverlay)] = textures.size();
|
||||||
textures.push_back({
|
textures.push_back({
|
||||||
"TextureOverlay",
|
"TextureOverlay",
|
||||||
"Overlay",
|
"Overlay",
|
||||||
|
|
@ -156,9 +156,9 @@ namespace Nz
|
||||||
|
|
||||||
std::vector<MaterialSettings::SharedUniformBlock> sharedUniformBlock;
|
std::vector<MaterialSettings::SharedUniformBlock> sharedUniformBlock;
|
||||||
|
|
||||||
predefinedBinding[PredefinedShaderBinding_UboInstanceData] = textures.size() + uniformBlocks.size() + sharedUniformBlock.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboInstanceData)] = textures.size() + uniformBlocks.size() + sharedUniformBlock.size();
|
||||||
sharedUniformBlock.push_back(PredefinedInstanceData::GetUniformBlock());
|
sharedUniformBlock.push_back(PredefinedInstanceData::GetUniformBlock());
|
||||||
predefinedBinding[PredefinedShaderBinding_UboViewerData] = textures.size() + uniformBlocks.size() + sharedUniformBlock.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboViewerData)] = textures.size() + uniformBlocks.size() + sharedUniformBlock.size();
|
||||||
sharedUniformBlock.push_back(PredefinedViewerData::GetUniformBlock());
|
sharedUniformBlock.push_back(PredefinedViewerData::GetUniformBlock());
|
||||||
|
|
||||||
// Shaders
|
// Shaders
|
||||||
|
|
|
||||||
|
|
@ -199,11 +199,11 @@ namespace Nz
|
||||||
});
|
});
|
||||||
|
|
||||||
std::vector<MaterialSettings::SharedUniformBlock> sharedUniformBlock;
|
std::vector<MaterialSettings::SharedUniformBlock> sharedUniformBlock;
|
||||||
predefinedBinding[PredefinedShaderBinding_UboInstanceData] = sharedUniformBlock.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboInstanceData)] = sharedUniformBlock.size();
|
||||||
sharedUniformBlock.push_back(PredefinedInstanceData::GetUniformBlock());
|
sharedUniformBlock.push_back(PredefinedInstanceData::GetUniformBlock());
|
||||||
predefinedBinding[PredefinedShaderBinding_UboLighData] = sharedUniformBlock.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboLighData)] = sharedUniformBlock.size();
|
||||||
sharedUniformBlock.push_back(PredefinedLightData::GetUniformBlock());
|
sharedUniformBlock.push_back(PredefinedLightData::GetUniformBlock());
|
||||||
predefinedBinding[PredefinedShaderBinding_UboViewerData] = sharedUniformBlock.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboViewerData)] = sharedUniformBlock.size();
|
||||||
sharedUniformBlock.push_back(PredefinedViewerData::GetUniformBlock());
|
sharedUniformBlock.push_back(PredefinedViewerData::GetUniformBlock());
|
||||||
|
|
||||||
std::vector<MaterialSettings::Texture> textures;
|
std::vector<MaterialSettings::Texture> textures;
|
||||||
|
|
@ -249,7 +249,7 @@ namespace Nz
|
||||||
ImageType_2D
|
ImageType_2D
|
||||||
});
|
});
|
||||||
|
|
||||||
predefinedBinding[PredefinedShaderBinding_TexOverlay] = textures.size();
|
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::TexOverlay)] = textures.size();
|
||||||
textures.push_back({
|
textures.push_back({
|
||||||
"TextureOverlay",
|
"TextureOverlay",
|
||||||
"Overlay",
|
"Overlay",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue