材质表面参数接通:新增 emissiveFactor(无 emissive 贴图时的发光入口,glTF 语义)入 UBO/YAML/缓存键/两 shader;Transmission/Thickness 未勾 Transparent 时禁用编辑(不透明段 shader 不读)
This commit is contained in:
@@ -84,7 +84,10 @@ namespace Engine
|
||||
",s:" + std::to_string(params.surface.x) +
|
||||
"," + std::to_string(params.surface.y) +
|
||||
"," + std::to_string(params.surface.z) +
|
||||
"," + std::to_string(params.surface.w);
|
||||
"," + std::to_string(params.surface.w) +
|
||||
",e:" + std::to_string(params.emissiveFactor.x) +
|
||||
"," + std::to_string(params.emissiveFactor.y) +
|
||||
"," + std::to_string(params.emissiveFactor.z);
|
||||
// per-slot UV 变换 + unlit 入键:同一张贴图配不同变换是不同材质
|
||||
//(KHR_texture_transform 测试模型:一张棋盘格被 82 个材质以不同
|
||||
// 变换共享,键漏了会串成同一份)
|
||||
|
||||
@@ -84,6 +84,8 @@ namespace Engine
|
||||
EmitVec4(out, data.params.baseColor);
|
||||
out << YAML::Key << "Surface" << YAML::Value;
|
||||
EmitVec4(out, data.params.surface);
|
||||
out << YAML::Key << "EmissiveFactor" << YAML::Value;
|
||||
EmitVec4(out, data.params.emissiveFactor);
|
||||
out << YAML::Key << "Misc" << YAML::Value;
|
||||
EmitVec4(out, data.params.misc);
|
||||
// per-slot UV 变换(KHR_texture_transform):6 槽各 A(4 分量) + T
|
||||
@@ -145,6 +147,8 @@ namespace Engine
|
||||
m["BaseColor"], MaterialParams{}.baseColor);
|
||||
out.params.surface = ReadVec4(
|
||||
m["Surface"], MaterialParams{}.surface);
|
||||
out.params.emissiveFactor = ReadVec4(
|
||||
m["EmissiveFactor"], MaterialParams{}.emissiveFactor);
|
||||
out.params.misc = ReadVec4(
|
||||
m["Misc"], MaterialParams{}.misc);
|
||||
for (u32 slot = 0; slot < Material::kSlotCount; ++slot) {
|
||||
|
||||
Reference in New Issue
Block a user