@@ -20,8 +20,8 @@ namespace Core {
2020// / Epic's Fitted Marschner Workflow. Only works with geometry defined as lines.
2121class HairStrandMaterial : public IMaterial
2222{
23- protected:
24- Vec4 m_baseColor = {0 .27f , 0 .14f , 0 .04f , 1 .0f }; // w for opacity
23+ protected:
24+ Vec4 m_baseColor = { 0 .27f , 0 .14f , 0 .04f , 1 .0f }; // w for opacity
2525
2626 float m_thickness = 0 .003f ;
2727
@@ -47,53 +47,53 @@ class HairStrandMaterial : public IMaterial
4747
4848 std::unordered_map<int , bool > m_textureBindingState;
4949
50- virtual Graphics::MaterialUniforms get_uniforms () const ;
50+ virtual IMaterial::GPUPayload get_uniforms () const ;
5151 virtual inline std::unordered_map<int , ITexture*> get_textures () const {
5252 return m_textures;
5353 }
5454
5555 virtual std::unordered_map<int , bool > get_texture_binding_state () const {
5656 return m_textureBindingState;
5757 }
58- virtual void set_texture_binding_state (int id, bool state) {
58+ virtual void set_texture_binding_state ( int id, bool state ) {
5959 m_textureBindingState[id] = state;
6060 }
6161
62- HairStrandMaterial (Vec4 baseColor, MaterialSettings params, std::string shaderPassID)
63- : IMaterial(shaderPassID, params)
64- , m_baseColor(baseColor) {
62+ HairStrandMaterial ( Vec4 baseColor, MaterialSettings params, std::string shaderPassID )
63+ : IMaterial( shaderPassID, params )
64+ , m_baseColor( baseColor ) {
6565 }
6666
67- public:
68- HairStrandMaterial (Vec4 baseColor = Vec4(1 .0f , 1 .0f , 0 .5f , 1 .0f ) )
69- : IMaterial(" hairstr" )
70- , m_baseColor(baseColor) {
67+ public:
68+ HairStrandMaterial ( Vec4 baseColor = Vec4( 1 .0f , 1 .0f , 0 .5f , 1 .0f ) )
69+ : IMaterial( " hairstr" )
70+ , m_baseColor( baseColor ) {
7171 }
72- HairStrandMaterial (Vec4 baseColor, MaterialSettings params)
73- : IMaterial(" hairstr" , params)
74- , m_baseColor(baseColor) {
72+ HairStrandMaterial ( Vec4 baseColor, MaterialSettings params )
73+ : IMaterial( " hairstr" , params )
74+ , m_baseColor( baseColor ) {
7575 }
7676
7777 inline Vec3 get_base_color () const {
78- return Vec3 (m_baseColor);
78+ return Vec3 ( m_baseColor );
7979 }
80- inline void set_base_color (Vec3 c) {
81- m_baseColor = Vec4 (c, m_baseColor.w );
80+ inline void set_base_color ( Vec3 c ) {
81+ m_baseColor = Vec4 ( c, m_baseColor.w );
8282 m_isDirty = true ;
8383 }
8484
8585 float get_thickness () const {
8686 return m_thickness;
8787 }
88- void set_thickness (float thickness) {
88+ void set_thickness ( float thickness ) {
8989 m_thickness = thickness;
9090 }
9191
9292 // Primary reflection toggle
9393 bool get_R () const {
9494 return m_R;
9595 }
96- void set_R (bool R) {
96+ void set_R ( bool R ) {
9797 m_R = R;
9898 m_isDirty = true ;
9999 }
@@ -102,7 +102,7 @@ class HairStrandMaterial : public IMaterial
102102 float get_Rpower () const {
103103 return m_Rpower;
104104 }
105- void set_Rpower (float Rpower) {
105+ void set_Rpower ( float Rpower ) {
106106 m_Rpower = Rpower;
107107 m_isDirty = true ;
108108 }
@@ -111,15 +111,15 @@ class HairStrandMaterial : public IMaterial
111111 bool get_TT () const {
112112 return m_TT;
113113 }
114- void set_TT (bool TT) {
114+ void set_TT ( bool TT ) {
115115 m_TT = TT;
116116 }
117117
118118 // Transmitance reflection scale
119119 float get_TTpower () const {
120120 return m_TTpower;
121121 }
122- void set_TTpower (float TTpower) {
122+ void set_TTpower ( float TTpower ) {
123123 m_TTpower = TTpower;
124124 m_isDirty = true ;
125125 }
@@ -128,79 +128,79 @@ class HairStrandMaterial : public IMaterial
128128 bool get_TRT () const {
129129 return m_TRT;
130130 }
131- void set_TRT (bool TRT) {
131+ void set_TRT ( bool TRT ) {
132132 m_TRT = TRT;
133133 }
134134
135135 // Secoundary reflection scale
136136 float get_TRTpower () const {
137137 return m_TRTpower;
138138 }
139- void set_TRTpower (float TRTpower) {
139+ void set_TRTpower ( float TRTpower ) {
140140 m_TRTpower = TRTpower;
141141 m_isDirty = true ;
142142 }
143143
144144 float get_roughness () const {
145145 return m_roughness;
146146 }
147- void set_roughness (float roughness) {
147+ void set_roughness ( float roughness ) {
148148 m_roughness = roughness;
149149 m_isDirty = true ;
150150 }
151151
152152 float get_scatter () const {
153153 return m_scatter;
154154 }
155- void set_scatter (float scatter) {
155+ void set_scatter ( float scatter ) {
156156 m_scatter = scatter;
157157 m_isDirty = true ;
158158 }
159159
160160 float get_shift () const {
161161 return m_shift;
162162 }
163- void set_shift (float shift) {
163+ void set_shift ( float shift ) {
164164 m_shift = shift;
165165 m_isDirty = true ;
166166 }
167167
168168 float get_ior () const {
169169 return m_ior;
170170 }
171- void set_ior (float ior) {
171+ void set_ior ( float ior ) {
172172 m_ior = ior;
173173 m_isDirty = true ;
174174 }
175175
176176 bool get_glints () const {
177177 return m_glints;
178178 }
179- void set_glints (bool glints) {
179+ void set_glints ( bool glints ) {
180180 m_glints = glints;
181181 m_isDirty = true ;
182182 }
183183
184184 bool get_useScatter () const {
185185 return m_useScatter;
186186 }
187- void set_useScatter (bool useScatter) {
187+ void set_useScatter ( bool useScatter ) {
188188 m_useScatter = useScatter;
189189 m_isDirty = true ;
190190 }
191191
192192 bool get_coloredScatter () const {
193193 return m_coloredScatter;
194194 }
195- void set_coloredScatter (bool coloredScatter) {
195+ void set_coloredScatter ( bool coloredScatter ) {
196196 m_coloredScatter = coloredScatter;
197197 m_isDirty = true ;
198198 }
199199
200200 bool get_occlusion () const {
201201 return m_occlusion;
202202 }
203- void set_occlusion (bool occlusion) {
203+ void set_occlusion ( bool occlusion ) {
204204 m_occlusion = occlusion;
205205 m_isDirty = true ;
206206 }
@@ -228,13 +228,13 @@ class HairStrandMaterial2 : public HairStrandMaterial
228228 NGI_TRT = 5 ,
229229 };
230230
231- std::unordered_map<int , ITexture*> m_textures{{ N1, nullptr },
232- { N2, nullptr },
233- { GI, nullptr },
234- { MGI, nullptr },
235- { NGI, nullptr },
236- { NGI_TRT, nullptr } };
237- virtual Graphics::MaterialUniforms get_uniforms () const ;
231+ std::unordered_map<int , ITexture*> m_textures { { N1, nullptr },
232+ { N2, nullptr },
233+ { GI, nullptr },
234+ { MGI, nullptr },
235+ { NGI, nullptr },
236+ { NGI_TRT, nullptr } };
237+ virtual IMaterial::GPUPayload get_uniforms () const ;
238238
239239 virtual inline std::unordered_map<int , ITexture*> get_textures () const {
240240 return m_textures;
@@ -243,13 +243,13 @@ class HairStrandMaterial2 : public HairStrandMaterial
243243 virtual std::unordered_map<int , bool > get_texture_binding_state () const {
244244 return m_textureBindingState;
245245 }
246- virtual void set_texture_binding_state (int id, bool state) {
246+ virtual void set_texture_binding_state ( int id, bool state ) {
247247 m_textureBindingState[id] = state;
248248 }
249249
250- public:
251- HairStrandMaterial2 (HairPigmentType pigment = BLONDE)
252- : HairStrandMaterial(Vec4(0.0 ), {}, " hairstr2" ) {
250+ public:
251+ HairStrandMaterial2 ( HairPigmentType pigment = BLONDE )
252+ : HairStrandMaterial( Vec4( 0.0 ), {}, " hairstr2" ) {
253253 // m_coloredScatter = true;
254254 // TextureSettings settings{};
255255 // settings.useMipmaps = false;
0 commit comments