Graphics: Fix PredefinedShaderBinding enum
This commit is contained in:
parent
a02c300c0c
commit
8027ae9abe
|
|
@ -17,16 +17,17 @@ namespace Nz
|
|||
Volume
|
||||
};
|
||||
|
||||
enum PredefinedShaderBinding
|
||||
enum class PredefinedShaderBinding
|
||||
{
|
||||
PredefinedShaderBinding_TexOverlay,
|
||||
PredefinedShaderBinding_UboInstanceData,
|
||||
PredefinedShaderBinding_UboLighData,
|
||||
PredefinedShaderBinding_UboViewerData,
|
||||
TexOverlay,
|
||||
UboInstanceData,
|
||||
UboLighData,
|
||||
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
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Nz
|
|||
{
|
||||
public:
|
||||
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 Texture;
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ namespace Nz
|
|||
ImageType_2D
|
||||
});
|
||||
|
||||
predefinedBinding[PredefinedShaderBinding_TexOverlay] = textures.size();
|
||||
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::TexOverlay)] = textures.size();
|
||||
textures.push_back({
|
||||
"TextureOverlay",
|
||||
"Overlay",
|
||||
|
|
@ -156,9 +156,9 @@ namespace Nz
|
|||
|
||||
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());
|
||||
predefinedBinding[PredefinedShaderBinding_UboViewerData] = textures.size() + uniformBlocks.size() + sharedUniformBlock.size();
|
||||
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboViewerData)] = textures.size() + uniformBlocks.size() + sharedUniformBlock.size();
|
||||
sharedUniformBlock.push_back(PredefinedViewerData::GetUniformBlock());
|
||||
|
||||
// Shaders
|
||||
|
|
|
|||
|
|
@ -199,11 +199,11 @@ namespace Nz
|
|||
});
|
||||
|
||||
std::vector<MaterialSettings::SharedUniformBlock> sharedUniformBlock;
|
||||
predefinedBinding[PredefinedShaderBinding_UboInstanceData] = sharedUniformBlock.size();
|
||||
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboInstanceData)] = sharedUniformBlock.size();
|
||||
sharedUniformBlock.push_back(PredefinedInstanceData::GetUniformBlock());
|
||||
predefinedBinding[PredefinedShaderBinding_UboLighData] = sharedUniformBlock.size();
|
||||
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboLighData)] = sharedUniformBlock.size();
|
||||
sharedUniformBlock.push_back(PredefinedLightData::GetUniformBlock());
|
||||
predefinedBinding[PredefinedShaderBinding_UboViewerData] = sharedUniformBlock.size();
|
||||
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::UboViewerData)] = sharedUniformBlock.size();
|
||||
sharedUniformBlock.push_back(PredefinedViewerData::GetUniformBlock());
|
||||
|
||||
std::vector<MaterialSettings::Texture> textures;
|
||||
|
|
@ -249,7 +249,7 @@ namespace Nz
|
|||
ImageType_2D
|
||||
});
|
||||
|
||||
predefinedBinding[PredefinedShaderBinding_TexOverlay] = textures.size();
|
||||
predefinedBinding[UnderlyingCast(PredefinedShaderBinding::TexOverlay)] = textures.size();
|
||||
textures.push_back({
|
||||
"TextureOverlay",
|
||||
"Overlay",
|
||||
|
|
|
|||
Loading…
Reference in New Issue