Merge fixes

This commit is contained in:
SirLynix
2022-08-07 20:17:23 +02:00
committed by Jérôme Leclercq
parent d60fce169a
commit a9801894e8
13 changed files with 89 additions and 68 deletions

View File

@@ -188,7 +188,7 @@ namespace Nz
options.pbrTextureIndexes->emissive = settings.textures.size();
settings.textures.push_back({
7,
8,
"Emissive",
ImageType::E2D
});
@@ -197,7 +197,7 @@ namespace Nz
options.pbrTextureIndexes->height = settings.textures.size();
settings.textures.push_back({
8,
9,
"Height",
ImageType::E2D
});
@@ -206,7 +206,7 @@ namespace Nz
options.pbrTextureIndexes->metallic = settings.textures.size();
settings.textures.push_back({
9,
10,
"Metallic",
ImageType::E2D
});
@@ -215,7 +215,7 @@ namespace Nz
options.pbrTextureIndexes->normal = settings.textures.size();
settings.textures.push_back({
10,
11,
"Normal",
ImageType::E2D
});
@@ -224,7 +224,7 @@ namespace Nz
options.pbrTextureIndexes->roughness = settings.textures.size();
settings.textures.push_back({
11,
12,
"Roughness",
ImageType::E2D
});
@@ -233,7 +233,7 @@ namespace Nz
options.pbrTextureIndexes->specular = settings.textures.size();
settings.textures.push_back({
12,
13,
"Specular",
ImageType::E2D
});
@@ -249,8 +249,8 @@ namespace Nz
options.defaultValues
});
settings.sharedUniformBlocks.push_back(PredefinedLightData::GetUniformBlock(6, nzsl::ShaderStageType::Fragment));
settings.predefinedBindings[UnderlyingCast(PredefinedShaderBinding::LightDataUbo)] = 6;
settings.sharedUniformBlocks.push_back(PredefinedLightData::GetUniformBlock(7, nzsl::ShaderStageType::Fragment));
settings.predefinedBindings[UnderlyingCast(PredefinedShaderBinding::LightDataUbo)] = 7;
settings.shaders = options.shaders;

View File

@@ -2,6 +2,7 @@
module BasicMaterial;
import InstanceData from Engine.InstanceData;
import SkeletalData from Engine.SkeletalData;
import ViewerData from Engine.ViewerData;
option HasBaseColorTexture: bool = false;
@@ -34,14 +35,6 @@ struct MaterialSettings
BaseColor: vec4[f32]
}
const MaxJointCount: u32 = u32(200); //< FIXME: Fix integral value types
[layout(std140)]
struct SkeletalData
{
JointMatrices: array[mat4[f32], MaxJointCount]
}
external
{
[binding(0)] settings: uniform[MaterialSettings],
@@ -163,7 +156,7 @@ fn billboardMain(input: VertIn) -> VertOut
fn main(input: VertIn) -> VertOut
{
let pos: vec3[f32];
const if (HasSkinning)
const if (HasSkinning && false)
{
pos = vec3[f32](0.0, 0.0, 0.0);

View File

@@ -0,0 +1,11 @@
[nzsl_version("1.0")]
module Engine.SkeletalData;
const MaxJointCount: u32 = u32(200); //< FIXME: Fix integral value types
[export]
[layout(std140)]
struct SkeletalData
{
JointMatrices: array[mat4[f32], MaxJointCount]
}

View File

@@ -3,6 +3,7 @@ module PhongMaterial;
import InstanceData from Engine.InstanceData;
import LightData from Engine.LightData;
import SkeletalData from Engine.SkeletalData;
import ViewerData from Engine.ViewerData;
// Basic material options
@@ -62,6 +63,7 @@ external
[binding(3)] TextureOverlay: sampler2D[f32],
[binding(4)] instanceData: uniform[InstanceData],
[binding(5)] viewerData: uniform[ViewerData],
[binding(6)] skeletalData: uniform[SkeletalData],
[binding(7)] lightData: uniform[LightData],
[binding(8)] MaterialEmissiveMap: sampler2D[f32],
[binding(9)] MaterialHeightMap: sampler2D[f32],

View File

@@ -3,6 +3,7 @@ module PhysicallyBasedMaterial;
import InstanceData from Engine.InstanceData;
import LightData from Engine.LightData;
import SkeletalData from Engine.SkeletalData;
import ViewerData from Engine.ViewerData;
// Basic material options
@@ -64,13 +65,14 @@ external
[binding(3)] TextureOverlay: sampler2D[f32],
[binding(4)] instanceData: uniform[InstanceData],
[binding(5)] viewerData: uniform[ViewerData],
[binding(6)] lightData: uniform[LightData],
[binding(7)] MaterialEmissiveMap: sampler2D[f32],
[binding(8)] MaterialHeightMap: sampler2D[f32],
[binding(9)] MaterialMetallicMap: sampler2D[f32],
[binding(10)] MaterialNormalMap: sampler2D[f32],
[binding(11)] MaterialRoughnessMap: sampler2D[f32],
[binding(12)] MaterialSpecularMap: sampler2D[f32],
[binding(6)] skeletalData: uniform[SkeletalData],
[binding(7)] lightData: uniform[LightData],
[binding(8)] MaterialEmissiveMap: sampler2D[f32],
[binding(9)] MaterialHeightMap: sampler2D[f32],
[binding(10)] MaterialMetallicMap: sampler2D[f32],
[binding(11)] MaterialNormalMap: sampler2D[f32],
[binding(12)] MaterialRoughnessMap: sampler2D[f32],
[binding(13)] MaterialSpecularMap: sampler2D[f32],
}
struct VertToFrag

View File

@@ -215,7 +215,7 @@ namespace Nz
// Material
ParameterList matData;
matData.SetParameter(MaterialData::DiffuseTexturePath, (baseDir / md5Mesh.shader).generic_u8string());
matData.SetParameter(MaterialData::BaseColorTexturePath, (baseDir / md5Mesh.shader).generic_u8string());
mesh->SetMaterialData(i, std::move(matData));
@@ -341,7 +341,7 @@ namespace Nz
// Material
ParameterList matData;
matData.SetParameter(MaterialData::DiffuseTexturePath, (baseDir / md5Mesh.shader).generic_u8string());
matData.SetParameter(MaterialData::BaseColorTexturePath, (baseDir / md5Mesh.shader).generic_u8string());
mesh->SetMaterialData(i, std::move(matData));
}