68 NormalStrengthMask = 2,
69 SpecularAmountMask = 4,
70 ClearcoatAmountMask = 8,
71 ClearcoatRoughnessAmountMask = 16,
72 ClearcoatNormalStrengthMask = 32,
73 HeightAmountMask = 64,
75 OcclusionAmountMask = 256,
76 ThicknessFactorMask = 512,
77 TransmissionFactorMask = 1024
108 float diffuseLightWrap = 0.0f;
109 float fresnelScaleBiasEnabled =
false;
110 float fresnelScale = 1.0f;
111 float fresnelBias = 0.0f;
112 float fresnelPower = 0.0f;
113 float clearcoatFresnelScaleBiasEnabled =
false;
114 float clearcoatFresnelScale = 1.0f;
115 float clearcoatFresnelBias = 0.0f;
116 float clearcoatFresnelPower = 5.0f;
117 float specularAmount = 1.0f;
118 float specularRoughness = 0.0f;
119 float metalnessAmount = 0.0f;
120 float opacity = 1.0f;
121 bool invertOpacityMapValue =
false;
122 bool baseColorSingleChannelEnabled =
false;
123 bool specularAmountSingleChannelEnabled =
false;
124 bool emissiveSingleChannelEnabled =
false;
125 float bumpAmount = 0.0f;
126 float translucentFalloff = 0.0f;
127 float occlusionAmount = 1.0f;
128 float alphaCutoff = 0.5f;
129 float heightAmount = 0.0f;
130 int minHeightSamples = 8;
131 int maxHeightSamples = 32;
132 float clearcoatAmount = 0.0f;
133 float clearcoatRoughnessAmount = 0.0f;
134 float clearcoatNormalStrength = 1.0f;
135 float transmissionFactor = 0.0f;
136 float thicknessFactor = 0.0f;
137 float attenuationDistance = std::numeric_limits<float>::infinity();
146 bool vertexColorsEnabled =
false;
147 bool vertexColorsMaskEnabled =
false;
162 float pointSize = 1.0f;
163 float lineWidth = 1.0f;
164 VertexColorMaskFlags vertexColorRedMask = VertexColorMask::NoMask;
165 VertexColorMaskFlags vertexColorGreenMask = VertexColorMask::NoMask;
166 VertexColorMaskFlags vertexColorBlueMask = VertexColorMask::NoMask;
167 VertexColorMaskFlags vertexColorAlphaMask = VertexColorMask::NoMask;
183 bool hasLighting()
const {
return lighting != MaterialLighting::NoLighting; }
187 [[nodiscard]]
inline bool isDirty()
const {
return dirty; }