| 202 | } |
| 203 | |
| 204 | void HnMaterial::ProcessMaterialNetwork() |
| 205 | { |
| 206 | ReadFallbackValue(m_Network, HnTokens->diffuseColor, m_MaterialData.Attribs.BaseColorFactor); |
| 207 | ReadFallbackValue(m_Network, HnTokens->metallic, m_MaterialData.Attribs.MetallicFactor); |
| 208 | ReadFallbackValue(m_Network, HnTokens->roughness, m_MaterialData.Attribs.RoughnessFactor); |
| 209 | ReadFallbackValue(m_Network, HnTokens->occlusion, m_MaterialData.Attribs.OcclusionFactor); |
| 210 | if (!ReadFallbackValue(m_Network, HnTokens->emissiveColor, m_MaterialData.Attribs.EmissiveFactor)) |
| 211 | { |
| 212 | m_MaterialData.Attribs.EmissiveFactor = m_Textures.find(HnTokens->emissiveColor) != m_Textures.end() ? float4{1} : float4{0}; |
| 213 | } |
| 214 | |
| 215 | ApplyTextureInputScale(m_Network, HnTokens->diffuseColor, m_MaterialData.Attribs.BaseColorFactor); |
| 216 | ApplyTextureInputScale(m_Network, HnTokens->metallic, m_MaterialData.Attribs.MetallicFactor); |
| 217 | ApplyTextureInputScale(m_Network, HnTokens->roughness, m_MaterialData.Attribs.RoughnessFactor); |
| 218 | ApplyTextureInputScale(m_Network, HnTokens->occlusion, m_MaterialData.Attribs.OcclusionFactor); |
| 219 | ApplyTextureInputScale(m_Network, HnTokens->emissiveColor, m_MaterialData.Attribs.EmissiveFactor); |
| 220 | |
| 221 | if (const HnMaterialParameter* Param = m_Network.GetParameter(HnMaterialParameter::ParamType::Fallback, HnTokens->clearcoat)) |
| 222 | { |
| 223 | m_MaterialData.Attribs.ClearcoatFactor = Param->FallbackValue.Get<float>(); |
| 224 | if (m_MaterialData.Attribs.ClearcoatFactor > 0) |
| 225 | { |
| 226 | m_MaterialData.HasClearcoat = true; |
| 227 | |
| 228 | if (const HnMaterialParameter* RoughnessParam = m_Network.GetParameter(HnMaterialParameter::ParamType::Fallback, HnTokens->clearcoatRoughness)) |
| 229 | { |
| 230 | m_MaterialData.Attribs.ClearcoatRoughnessFactor = RoughnessParam->FallbackValue.Get<float>(); |
| 231 | } |
| 232 | } |
| 233 | } |
| 234 | |
| 235 | |
| 236 | m_MaterialData.Attribs.AlphaMode = MaterialTagToPbrAlphaMode(m_Network.GetTag()); |
| 237 | |
| 238 | m_MaterialData.Attribs.AlphaCutoff = m_Network.GetOpacityThreshold(); |
| 239 | m_MaterialData.Attribs.BaseColorFactor.a = m_Network.GetOpacity(); |
| 240 | } |
| 241 | |
| 242 | void HnMaterial::InitTextureAttribs(HnTextureRegistry& TexRegistry, const USD_Renderer& UsdRenderer, const TexNameToCoordSetMapType& TexNameToCoordSetMap) |
| 243 | { |
nothing calls this directly
no test coverage detected