Skip to content

Commit 4202b65

Browse files
committed
Some alpha support for models.
Not everything that should have transparency has gotten it, and some cases that shouldn't have it are likely to have it.
1 parent e1e828b commit 4202b65

File tree

5 files changed

+198
-80
lines changed

5 files changed

+198
-80
lines changed

data/model_view.hlsl

+9-5
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ texture g_DiffuseTex;
55
sampler g_DiffuseTexSampler = sampler_state
66
{
77
Texture = <g_DiffuseTex>;
8-
MipFilter = LINEAR;
9-
MinFilter = LINEAR;
10-
MagFilter = LINEAR;
8+
MipFilter = ANISOTROPIC;
9+
MinFilter = ANISOTROPIC;
10+
MagFilter = ANISOTROPIC;
1111
};
1212

1313
struct VS_OUTPUT
@@ -34,8 +34,12 @@ struct PS_OUTPUT
3434
PS_OUTPUT RenderScenePS(VS_OUTPUT In)
3535
{
3636
PS_OUTPUT o;
37-
o.RGBColor.rgb = tex2D(g_DiffuseTexSampler, In.TextureUV1).rgb;
38-
o.RGBColor.a = 1;
37+
38+
float4 tColor = tex2D(g_DiffuseTexSampler, In.TextureUV1).rgba;
39+
float alpha = min(tColor.a * 2.f, 1.f);
40+
o.RGBColor.rgb = tColor.rgb;
41+
o.RGBColor.a = alpha;
42+
3943
return o;
4044
};
4145

src/Data.cpp

+150-69
Original file line numberDiff line numberDiff line change
@@ -206,76 +206,157 @@ const byte image_png[image_png_size] = {
206206
};
207207

208208
// File: data/model_view.hlsl
209-
const uint model_view_hlsl_size = 1086;
209+
const uint model_view_hlsl_size = 1192;
210210
const byte model_view_hlsl[model_view_hlsl_size] = {
211-
0x0D, 0x0A, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x78, 0x34, 0x20, 0x67, 0x5F, 0x57, 0x6F, 0x72,
212-
0x6C, 0x64, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, 0x4D, 0x61, 0x74, 0x72, 0x69, 0x78,
213-
0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x20, 0x67, 0x5F,
214-
0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x54, 0x65, 0x78, 0x3B, 0x0D, 0x0A, 0x73, 0x61, 0x6D,
215-
0x70, 0x6C, 0x65, 0x72, 0x20, 0x20, 0x67, 0x5F, 0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x54,
216-
0x65, 0x78, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x73, 0x61, 0x6D, 0x70,
217-
0x6C, 0x65, 0x72, 0x5F, 0x73, 0x74, 0x61, 0x74, 0x65, 0x0D, 0x0A, 0x7B, 0x0D, 0x0A, 0x20, 0x20,
218-
0x20, 0x20, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x20, 0x20, 0x3D, 0x20, 0x3C, 0x67,
219-
0x5F, 0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x54, 0x65, 0x78, 0x3E, 0x3B, 0x0D, 0x0A, 0x20,
220-
0x20, 0x20, 0x20, 0x4D, 0x69, 0x70, 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x4C,
221-
0x49, 0x4E, 0x45, 0x41, 0x52, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x4D, 0x69, 0x6E, 0x46,
222-
0x69, 0x6C, 0x74, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x4C, 0x49, 0x4E, 0x45, 0x41, 0x52, 0x3B, 0x0D,
223-
0x0A, 0x20, 0x20, 0x20, 0x20, 0x4D, 0x61, 0x67, 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72, 0x20, 0x3D,
224-
0x20, 0x4C, 0x49, 0x4E, 0x45, 0x41, 0x52, 0x3B, 0x0D, 0x0A, 0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A,
225-
0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x56, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54,
226-
0x0D, 0x0A, 0x7B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20,
227-
0x50, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x50, 0x4F,
228-
0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, 0x3B, 0x20, 0x20, 0x20, 0x20, 0x2F, 0x2F, 0x20, 0x76, 0x65,
229-
0x72, 0x74, 0x65, 0x78, 0x20, 0x70, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x0D, 0x0A, 0x20,
230-
0x20, 0x20, 0x20, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x32, 0x20, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72,
231-
0x65, 0x55, 0x56, 0x31, 0x20, 0x20, 0x3A, 0x20, 0x54, 0x45, 0x58, 0x43, 0x4F, 0x4F, 0x52, 0x44,
232-
0x30, 0x3B, 0x20, 0x20, 0x20, 0x2F, 0x2F, 0x20, 0x76, 0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x74,
233-
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x63, 0x6F, 0x6F, 0x72, 0x64, 0x73, 0x20, 0x31, 0x0D,
234-
0x0A, 0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x56, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54,
235-
0x20, 0x52, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6E, 0x65, 0x56, 0x53, 0x28, 0x20,
236-
0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x76, 0x50, 0x6F, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20,
237-
0x20, 0x20, 0x3A, 0x20, 0x50, 0x4F, 0x53, 0x49, 0x54, 0x49, 0x4F, 0x4E, 0x2C, 0x0D, 0x0A, 0x20,
238-
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
239-
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x76,
240-
0x4E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x4E, 0x4F, 0x52, 0x4D,
241-
0x41, 0x4C, 0x2C, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
242-
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C,
243-
0x6F, 0x61, 0x74, 0x32, 0x20, 0x76, 0x54, 0x65, 0x78, 0x43, 0x6F, 0x6F, 0x72, 0x64, 0x30, 0x20,
244-
0x3A, 0x20, 0x54, 0x45, 0x58, 0x43, 0x4F, 0x4F, 0x52, 0x44, 0x30, 0x29, 0x0D, 0x0A, 0x7B, 0x0D,
245-
0x0A, 0x20, 0x20, 0x20, 0x20, 0x56, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x20, 0x6F,
246-
0x20, 0x20, 0x3D, 0x20, 0x28, 0x56, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x29, 0x30,
247-
0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E, 0x50, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F,
248-
0x6E, 0x20, 0x20, 0x20, 0x3D, 0x20, 0x6D, 0x75, 0x6C, 0x28, 0x76, 0x50, 0x6F, 0x73, 0x2C, 0x20,
249-
0x67, 0x5F, 0x57, 0x6F, 0x72, 0x6C, 0x64, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, 0x4D,
250-
0x61, 0x74, 0x72, 0x69, 0x78, 0x29, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E, 0x54,
251-
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x55, 0x56, 0x31, 0x20, 0x3D, 0x20, 0x76, 0x54, 0x65, 0x78,
252-
0x43, 0x6F, 0x6F, 0x72, 0x64, 0x30, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74,
253-
0x75, 0x72, 0x6E, 0x20, 0x6F, 0x3B, 0x0D, 0x0A, 0x7D, 0x0D, 0x0A, 0x0D, 0x0A, 0x73, 0x74, 0x72,
254-
0x75, 0x63, 0x74, 0x20, 0x50, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x0D, 0x0A, 0x7B,
255-
0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x52, 0x47, 0x42,
256-
0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3A, 0x20, 0x43, 0x4F, 0x4C, 0x4F, 0x52, 0x30, 0x3B, 0x0D,
257-
0x0A, 0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x50, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54,
258-
0x20, 0x52, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6E, 0x65, 0x50, 0x53, 0x28, 0x56,
259-
0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x20, 0x49, 0x6E, 0x29, 0x0D, 0x0A, 0x7B, 0x0D,
260-
0x0A, 0x20, 0x20, 0x20, 0x20, 0x50, 0x53, 0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x20, 0x6F,
261-
0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E, 0x52, 0x47, 0x42, 0x43, 0x6F, 0x6C, 0x6F,
262-
0x72, 0x2E, 0x72, 0x67, 0x62, 0x20, 0x3D, 0x20, 0x74, 0x65, 0x78, 0x32, 0x44, 0x28, 0x67, 0x5F,
263-
0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x54, 0x65, 0x78, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65,
264-
0x72, 0x2C, 0x20, 0x49, 0x6E, 0x2E, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x55, 0x56, 0x31,
265-
0x29, 0x2E, 0x72, 0x67, 0x62, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E, 0x52, 0x47,
266-
0x42, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x2E, 0x61, 0x20, 0x20, 0x20, 0x3D, 0x20, 0x31, 0x3B, 0x0D,
267-
0x0A, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6E, 0x20, 0x6F, 0x3B, 0x0D, 0x0A,
268-
0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x74, 0x65, 0x63, 0x68, 0x6E, 0x69, 0x71, 0x75, 0x65, 0x20,
269-
0x52, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6E, 0x65, 0x0D, 0x0A, 0x7B, 0x0D, 0x0A,
270-
0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x73, 0x73, 0x20, 0x50, 0x30, 0x0D, 0x0A, 0x20, 0x20, 0x20,
271-
0x20, 0x7B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, 0x65, 0x72, 0x74,
272-
0x65, 0x78, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x63, 0x6F, 0x6D, 0x70, 0x69,
273-
0x6C, 0x65, 0x20, 0x76, 0x73, 0x5F, 0x32, 0x5F, 0x30, 0x20, 0x52, 0x65, 0x6E, 0x64, 0x65, 0x72,
274-
0x53, 0x63, 0x65, 0x6E, 0x65, 0x56, 0x53, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
275-
0x20, 0x20, 0x20, 0x20, 0x50, 0x69, 0x78, 0x65, 0x6C, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20,
276-
0x20, 0x3D, 0x20, 0x63, 0x6F, 0x6D, 0x70, 0x69, 0x6C, 0x65, 0x20, 0x70, 0x73, 0x5F, 0x32, 0x5F,
277-
0x30, 0x20, 0x52, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6E, 0x65, 0x50, 0x53, 0x28,
278-
0x29, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x7D, 0x0D, 0x0A, 0x7D, 0x0D, 0x0A
211+
0x0D, 0x0A, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34,
212+
0x78, 0x34, 0x20, 0x67, 0x5F, 0x57, 0x6F, 0x72,
213+
0x6C, 0x64, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72,
214+
0x6F, 0x6A, 0x4D, 0x61, 0x74, 0x72, 0x69, 0x78,
215+
0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x74, 0x65, 0x78,
216+
0x74, 0x75, 0x72, 0x65, 0x20, 0x20, 0x67, 0x5F,
217+
0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x54,
218+
0x65, 0x78, 0x3B, 0x0D, 0x0A, 0x73, 0x61, 0x6D,
219+
0x70, 0x6C, 0x65, 0x72, 0x20, 0x20, 0x67, 0x5F,
220+
0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65, 0x54,
221+
0x65, 0x78, 0x53, 0x61, 0x6D, 0x70, 0x6C, 0x65,
222+
0x72, 0x20, 0x3D, 0x20, 0x73, 0x61, 0x6D, 0x70,
223+
0x6C, 0x65, 0x72, 0x5F, 0x73, 0x74, 0x61, 0x74,
224+
0x65, 0x0D, 0x0A, 0x7B, 0x0D, 0x0A, 0x20, 0x20,
225+
0x20, 0x20, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72,
226+
0x65, 0x20, 0x20, 0x20, 0x3D, 0x20, 0x3C, 0x67,
227+
0x5F, 0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65,
228+
0x54, 0x65, 0x78, 0x3E, 0x3B, 0x0D, 0x0A, 0x20,
229+
0x20, 0x20, 0x20, 0x4D, 0x69, 0x70, 0x46, 0x69,
230+
0x6C, 0x74, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x41,
231+
0x4E, 0x49, 0x53, 0x4F, 0x54, 0x52, 0x4F, 0x50,
232+
0x49, 0x43, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20,
233+
0x20, 0x4D, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x74,
234+
0x65, 0x72, 0x20, 0x3D, 0x20, 0x41, 0x4E, 0x49,
235+
0x53, 0x4F, 0x54, 0x52, 0x4F, 0x50, 0x49, 0x43,
236+
0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x4D,
237+
0x61, 0x67, 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72,
238+
0x20, 0x3D, 0x20, 0x41, 0x4E, 0x49, 0x53, 0x4F,
239+
0x54, 0x52, 0x4F, 0x50, 0x49, 0x43, 0x3B, 0x0D,
240+
0x0A, 0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x73,
241+
0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x56, 0x53,
242+
0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x0D,
243+
0x0A, 0x7B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
244+
0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x50,
245+
0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x20,
246+
0x20, 0x20, 0x20, 0x3A, 0x20, 0x50, 0x4F, 0x53,
247+
0x49, 0x54, 0x49, 0x4F, 0x4E, 0x3B, 0x20, 0x20,
248+
0x20, 0x20, 0x2F, 0x2F, 0x20, 0x76, 0x65, 0x72,
249+
0x74, 0x65, 0x78, 0x20, 0x70, 0x6F, 0x73, 0x69,
250+
0x74, 0x69, 0x6F, 0x6E, 0x0D, 0x0A, 0x20, 0x20,
251+
0x20, 0x20, 0x66, 0x6C, 0x6F, 0x61, 0x74, 0x32,
252+
0x20, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65,
253+
0x55, 0x56, 0x31, 0x20, 0x20, 0x3A, 0x20, 0x54,
254+
0x45, 0x58, 0x43, 0x4F, 0x4F, 0x52, 0x44, 0x30,
255+
0x3B, 0x20, 0x20, 0x20, 0x2F, 0x2F, 0x20, 0x76,
256+
0x65, 0x72, 0x74, 0x65, 0x78, 0x20, 0x74, 0x65,
257+
0x78, 0x74, 0x75, 0x72, 0x65, 0x20, 0x63, 0x6F,
258+
0x6F, 0x72, 0x64, 0x73, 0x20, 0x31, 0x0D, 0x0A,
259+
0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x56, 0x53,
260+
0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x20,
261+
0x52, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x53, 0x63,
262+
0x65, 0x6E, 0x65, 0x56, 0x53, 0x28, 0x20, 0x66,
263+
0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x76, 0x50,
264+
0x6F, 0x73, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
265+
0x20, 0x3A, 0x20, 0x50, 0x4F, 0x53, 0x49, 0x54,
266+
0x49, 0x4F, 0x4E, 0x2C, 0x0D, 0x0A, 0x20, 0x20,
267+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
268+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
269+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
270+
0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x76, 0x4E,
271+
0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x20, 0x20, 0x20,
272+
0x20, 0x3A, 0x20, 0x4E, 0x4F, 0x52, 0x4D, 0x41,
273+
0x4C, 0x2C, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
274+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
275+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
276+
0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C, 0x6F,
277+
0x61, 0x74, 0x32, 0x20, 0x76, 0x54, 0x65, 0x78,
278+
0x43, 0x6F, 0x6F, 0x72, 0x64, 0x30, 0x20, 0x3A,
279+
0x20, 0x54, 0x45, 0x58, 0x43, 0x4F, 0x4F, 0x52,
280+
0x44, 0x30, 0x29, 0x0D, 0x0A, 0x7B, 0x0D, 0x0A,
281+
0x20, 0x20, 0x20, 0x20, 0x56, 0x53, 0x5F, 0x4F,
282+
0x55, 0x54, 0x50, 0x55, 0x54, 0x20, 0x6F, 0x20,
283+
0x20, 0x3D, 0x20, 0x28, 0x56, 0x53, 0x5F, 0x4F,
284+
0x55, 0x54, 0x50, 0x55, 0x54, 0x29, 0x30, 0x3B,
285+
0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E,
286+
0x50, 0x6F, 0x73, 0x69, 0x74, 0x69, 0x6F, 0x6E,
287+
0x20, 0x20, 0x20, 0x3D, 0x20, 0x6D, 0x75, 0x6C,
288+
0x28, 0x76, 0x50, 0x6F, 0x73, 0x2C, 0x20, 0x67,
289+
0x5F, 0x57, 0x6F, 0x72, 0x6C, 0x64, 0x56, 0x69,
290+
0x65, 0x77, 0x50, 0x72, 0x6F, 0x6A, 0x4D, 0x61,
291+
0x74, 0x72, 0x69, 0x78, 0x29, 0x3B, 0x0D, 0x0A,
292+
0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E, 0x54, 0x65,
293+
0x78, 0x74, 0x75, 0x72, 0x65, 0x55, 0x56, 0x31,
294+
0x20, 0x3D, 0x20, 0x76, 0x54, 0x65, 0x78, 0x43,
295+
0x6F, 0x6F, 0x72, 0x64, 0x30, 0x3B, 0x0D, 0x0A,
296+
0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75,
297+
0x72, 0x6E, 0x20, 0x6F, 0x3B, 0x0D, 0x0A, 0x7D,
298+
0x0D, 0x0A, 0x0D, 0x0A, 0x73, 0x74, 0x72, 0x75,
299+
0x63, 0x74, 0x20, 0x50, 0x53, 0x5F, 0x4F, 0x55,
300+
0x54, 0x50, 0x55, 0x54, 0x0D, 0x0A, 0x7B, 0x0D,
301+
0x0A, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C, 0x6F,
302+
0x61, 0x74, 0x34, 0x20, 0x52, 0x47, 0x42, 0x43,
303+
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3A, 0x20, 0x43,
304+
0x4F, 0x4C, 0x4F, 0x52, 0x30, 0x3B, 0x0D, 0x0A,
305+
0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A, 0x50, 0x53,
306+
0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x20,
307+
0x52, 0x65, 0x6E, 0x64, 0x65, 0x72, 0x53, 0x63,
308+
0x65, 0x6E, 0x65, 0x50, 0x53, 0x28, 0x56, 0x53,
309+
0x5F, 0x4F, 0x55, 0x54, 0x50, 0x55, 0x54, 0x20,
310+
0x49, 0x6E, 0x29, 0x0D, 0x0A, 0x7B, 0x0D, 0x0A,
311+
0x20, 0x20, 0x20, 0x20, 0x50, 0x53, 0x5F, 0x4F,
312+
0x55, 0x54, 0x50, 0x55, 0x54, 0x20, 0x6F, 0x3B,
313+
0x0D, 0x0A, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
314+
0x66, 0x6C, 0x6F, 0x61, 0x74, 0x34, 0x20, 0x74,
315+
0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x20, 0x3D,
316+
0x20, 0x74, 0x65, 0x78, 0x32, 0x44, 0x28, 0x67,
317+
0x5F, 0x44, 0x69, 0x66, 0x66, 0x75, 0x73, 0x65,
318+
0x54, 0x65, 0x78, 0x53, 0x61, 0x6D, 0x70, 0x6C,
319+
0x65, 0x72, 0x2C, 0x20, 0x49, 0x6E, 0x2E, 0x54,
320+
0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x55, 0x56,
321+
0x31, 0x29, 0x2E, 0x72, 0x67, 0x62, 0x61, 0x3B,
322+
0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6C,
323+
0x6F, 0x61, 0x74, 0x20, 0x61, 0x6C, 0x70, 0x68,
324+
0x61, 0x20, 0x20, 0x20, 0x20, 0x3D, 0x20, 0x6D,
325+
0x69, 0x6E, 0x28, 0x74, 0x43, 0x6F, 0x6C, 0x6F,
326+
0x72, 0x2E, 0x61, 0x20, 0x2A, 0x20, 0x34, 0x2E,
327+
0x66, 0x2C, 0x20, 0x31, 0x2E, 0x66, 0x29, 0x3B,
328+
0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6F, 0x2E,
329+
0x52, 0x47, 0x42, 0x43, 0x6F, 0x6C, 0x6F, 0x72,
330+
0x2E, 0x72, 0x67, 0x62, 0x20, 0x3D, 0x20, 0x74,
331+
0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x2E, 0x72, 0x67,
332+
0x62, 0x3B, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
333+
0x6F, 0x2E, 0x52, 0x47, 0x42, 0x43, 0x6F, 0x6C,
334+
0x6F, 0x72, 0x2E, 0x61, 0x20, 0x20, 0x20, 0x3D,
335+
0x20, 0x61, 0x6C, 0x70, 0x68, 0x61, 0x3B, 0x0D,
336+
0x0A, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x72,
337+
0x65, 0x74, 0x75, 0x72, 0x6E, 0x20, 0x6F, 0x3B,
338+
0x0D, 0x0A, 0x7D, 0x3B, 0x0D, 0x0A, 0x0D, 0x0A,
339+
0x74, 0x65, 0x63, 0x68, 0x6E, 0x69, 0x71, 0x75,
340+
0x65, 0x20, 0x52, 0x65, 0x6E, 0x64, 0x65, 0x72,
341+
0x53, 0x63, 0x65, 0x6E, 0x65, 0x0D, 0x0A, 0x7B,
342+
0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61,
343+
0x73, 0x73, 0x20, 0x50, 0x30, 0x0D, 0x0A, 0x20,
344+
0x20, 0x20, 0x20, 0x7B, 0x0D, 0x0A, 0x20, 0x20,
345+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, 0x65,
346+
0x72, 0x74, 0x65, 0x78, 0x53, 0x68, 0x61, 0x64,
347+
0x65, 0x72, 0x20, 0x3D, 0x20, 0x63, 0x6F, 0x6D,
348+
0x70, 0x69, 0x6C, 0x65, 0x20, 0x76, 0x73, 0x5F,
349+
0x32, 0x5F, 0x30, 0x20, 0x52, 0x65, 0x6E, 0x64,
350+
0x65, 0x72, 0x53, 0x63, 0x65, 0x6E, 0x65, 0x56,
351+
0x53, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x20, 0x20,
352+
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x69,
353+
0x78, 0x65, 0x6C, 0x53, 0x68, 0x61, 0x64, 0x65,
354+
0x72, 0x20, 0x20, 0x3D, 0x20, 0x63, 0x6F, 0x6D,
355+
0x70, 0x69, 0x6C, 0x65, 0x20, 0x70, 0x73, 0x5F,
356+
0x32, 0x5F, 0x30, 0x20, 0x52, 0x65, 0x6E, 0x64,
357+
0x65, 0x72, 0x53, 0x63, 0x65, 0x6E, 0x65, 0x50,
358+
0x53, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x20, 0x20,
359+
0x20, 0x20, 0x7D, 0x0D, 0x0A, 0x7D, 0x0D, 0x0A
279360
};
280361

281362
//============================================================================/

src/Readers/ModelReader.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ void ModelReader::readMaterialData(Model& p_model, PackFile& p_packFile) const
553553
omp_set_lock(&locks[j]);
554554

555555
// Bail if this material index already has data
556-
if (data.diffuseMap) {
556+
if (data.diffuseMap && data.flags) {
557557
omp_unset_lock(&locks[j]);
558558
continue;
559559
}
@@ -562,7 +562,8 @@ void ModelReader::readMaterialData(Model& p_model, PackFile& p_packFile) const
562562
pos = offsetTable[j] + reinterpret_cast<const byte*>(&offsetTable[j]);
563563
auto materialInfo = reinterpret_cast<const ANetModelMaterialInfo*>(pos);
564564

565-
// We are *only* interested in textures
565+
// We are (almost) *only* interested in textures
566+
data.flags = materialInfo->flags;
566567
if (materialInfo->textureCount == 0) {
567568
omp_unset_lock(&locks[j]);
568569
continue;

src/Readers/ModelReader.h

+1
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ struct Mesh
107107
struct MaterialData
108108
{
109109
uint32 diffuseMap;
110+
uint32 flags;
110111
};
111112

112113
class ModelData : public wxRefCounter

0 commit comments

Comments
 (0)