MCPcopy Create free account
hub / github.com/NVIDIA-RTX/Donut / SetProperty

Method SetProperty

src/engine/Material.cpp:164–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

162 }
163
164 bool Material::SetProperty(const std::string& name, const dm::float4& value)
165 {
166#define FLOAT3_PROPERTY(pname) if (name == #pname) { pname = value.xyz(); dirty = true; return true; }
167#define FLOAT_PROPERTY(pname) if (name == #pname) { pname = value.x; dirty = true; return true; }
168#define FLOAT2_PROPERTY(pname) if (name == #pname) { pname = value.xy(); dirty = true; return true; }
169#define BOOL_PROPERTY(pname) if (name == #pname) { pname = (value.x > 0.5f); dirty = true; return true; }
170 FLOAT3_PROPERTY(baseOrDiffuseColor);
171 FLOAT3_PROPERTY(specularColor);
172 FLOAT3_PROPERTY(emissiveColor);
173 FLOAT_PROPERTY(emissiveIntensity);
174 FLOAT_PROPERTY(metalness);
175 FLOAT_PROPERTY(roughness);
176 FLOAT_PROPERTY(opacity);
177 FLOAT_PROPERTY(alphaCutoff);
178 FLOAT_PROPERTY(transmissionFactor);
179 FLOAT_PROPERTY(normalTextureScale);
180 FLOAT_PROPERTY(occlusionStrength);
181 FLOAT2_PROPERTY(normalTextureTransformScale);
182 BOOL_PROPERTY(enableBaseOrDiffuseTexture);
183 BOOL_PROPERTY(enableMetalRoughOrSpecularTexture);
184 BOOL_PROPERTY(enableNormalTexture);
185 BOOL_PROPERTY(enableEmissiveTexture);
186 BOOL_PROPERTY(enableOcclusionTexture);
187 BOOL_PROPERTY(enableTransmissionTexture);
188 BOOL_PROPERTY(enableOpacityTexture);
189#undef FLOAT3_PROPERTY
190#undef FLOAT_PROPERTY
191#undef BOOL_PROPERTY
192
193 return false;
194 }
195}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected