NW4F G3d
Loading...
Searching...
No Matches
g3d_ResMaterial.h
Go to the documentation of this file.
1#ifndef NW_G3D_RES_RESMATERIAL_H_
2#define NW_G3D_RES_RESMATERIAL_H_
3
4#include <nw/g3d/g3d_config.h>
5#include <nw/g3d/fnd/g3d_GfxObject.h>
6#include <nw/g3d/math/g3d_Vector3.h>
7#include <nw/g3d/math/g3d_Vector4.h>
8#include <nw/g3d/math/g3d_Matrix34.h>
9#include <nw/g3d/fnd/g3d_GfxState.h>
10#include <nw/g3d/res/g3d_ResCommon.h>
11#include <nw/g3d/res/g3d_ResDictionary.h>
12#include <nw/g3d/res/g3d_Binding.h>
13#include <nw/g3d/res/g3d_ResTexture.h>
14#include <nw/g3d/res/g3d_ResUserData.h>
15
16namespace nw { namespace g3d { namespace res {
17
18class BindCallback;
19class ResFile;
20
21struct Srt2d
22{
23 float sx, sy, r, tx, ty;
24};
25
26struct Srt3d
27{
29};
30
31struct TexSrt
32{
40
42 float sx, sy, r, tx, ty;
43
44};
45
47{
49 union
50 {
53#endif
55 };
56};
57
71
73{
75
76public:
77 enum Type
78 {
82 };
83
85
86 int GetArrayLength() const { return ref().arrayLength; }
87
88 Type GetType() const { return static_cast<Type>(ref().type); }
89
90 const int* GetInt() const
91 {
92 NW_G3D_ASSERT(ref().type == INT);
93 return reinterpret_cast<const int*>(ref().iValue);
94 }
95
96 const float* GetFloat() const
97 {
98 NW_G3D_ASSERT(ref().type == FLOAT);
99 return reinterpret_cast<const float*>(ref().fValue);
100 }
101
102 const char* GetString(int strIndex) const
103 {
104 NW_G3D_ASSERT(ref().type == STRING);
105 NW_G3D_ASSERT_INDEX_BOUNDS(strIndex, ref().arrayLength);
106 return ref().ofsString[strIndex].to_ptr();
107 }
108};
109
112
123
125{
127
128public:
136
144
151
152 void AdjustMode(Mode mode);
153
155
156 void Load() const;
157
158 Mode GetMode() const { return static_cast<Mode>((ref().flag & MODE_MASK) >> MODE_SHIFT); }
159
160 void SetMode(Mode mode)
161 {
162 ref().flag = (ref().flag & ~static_cast<bit32>(MODE_MASK)) | static_cast<bit32>(mode << MODE_SHIFT);
163 }
164
166 {
167 return static_cast<BlendMode>((ref().flag & BLEND_MASK) >> BLEND_SHIFT);
168 }
169
171 {
172 ref().flag = (ref().flag & ~static_cast<bit32>(BLEND_MASK)) | static_cast<bit32>(mode << BLEND_SHIFT);
173 }
174
176 {
177 return GfxPolygonCtrl::DownCast(ref().polygonCtrl);
178 }
179
181 {
182 return GfxPolygonCtrl::DownCast(ref().polygonCtrl);
183 }
184
186 {
187 return GfxDepthCtrl::DownCast(ref().depthCtrl);
188 }
189
191 {
192 return GfxDepthCtrl::DownCast(ref().depthCtrl);
193 }
194
196 {
197 return GfxAlphaTest::DownCast(ref().alphaTest);
198 }
199
201 {
202 return GfxAlphaTest::DownCast(ref().alphaTest);
203 }
204
206 {
207 return GfxColorCtrl::DownCast(ref().colorCtrl);
208 }
209
211 {
212 return GfxColorCtrl::DownCast(ref().colorCtrl);
213 }
214
216 {
217 return GfxBlendCtrl::DownCast(ref().blendCtrl);
218 }
219
221 {
222 return GfxBlendCtrl::DownCast(ref().blendCtrl);
223 }
224
226 {
227 return GfxBlendColor::DownCast(ref().blendColor);
228 }
229
231 {
232 return GfxBlendColor::DownCast(ref().blendColor);
233 }
234};
235
248
250{
252
253public:
254 NW_G3D_RES_FIELD_STRING_DECL(ShaderArchiveName)
255 NW_G3D_RES_FIELD_STRING_DECL(ShadingModelName)
256
258
259 NW_G3D_RES_FIELD_STR_DIC_DECL(SamplerAssign)
260
262};
263
272
274{
276
277public:
279
280 void Setup();
281 void Cleanup();
282
283 int GetIndex() const { return ref().index; }
284
285 GfxSampler* GetGfxSampler() { return GfxSampler::DownCast(&ref().gfxSampler); }
286
287 const GfxSampler* GetGfxSampler() const { return GfxSampler::DownCast(&ref().gfxSampler); }
288};
289
299
301{
303
304public:
317
318 typedef size_t (*ConvertParamCallback)(void* pDst, const void* pSrc, Type srcType, const void *pUserPtr);
319
321
322 template <bool swap>
323 void Convert(void* pDst, const void* pSrc) const;
324
325 Type GetType() const { return static_cast<Type>(ref().type); }
326
327 s32 GetOffset() const { return ref().offset; }
328
329 void SetOffset(s32 offset) { ref().offset = offset; }
330
331 s32 GetSrcOffset() const { return ref().srcOffset; }
332
333 // size_t GetSize() const { return GetSize(GetType()); }
334
335 size_t GetSrcSize() const { return ref().srcSize; }
336
337 // static size_t GetSize(Type type);
338
339 // static size_t GetSrcSize(Type type);
340};
341
373
375{
377
378public:
379 enum Signature { SIGNATURE = NW_G3D_MAKE_U8X4_AS_U32('F', 'M', 'A', 'T') };
380
381 enum Flag
382 {
383 VISIBILITY = 0x1 << 0
384 };
385
386 void Setup();
387 void Cleanup();
388 void Reset();
389
390 BindResult Bind(const ResFile* pFile);
391 BindResult Bind(const ResFile* pFile, BindCallback* pCallback);
392 bool ForceBind(const ResTexture* pTexture, const char* name);
393
394 void Release();
395
396 int GetIndex() const { return static_cast<int>(ref().index); }
397
399
400 void SetUserPtr(void* pUserPtr) { ref().pUserPtr.set_ptr(pUserPtr); }
401
402 void* GetUserPtr() { return ref().pUserPtr.to_ptr(); }
403
404 const void* GetUserPtr() const { return ref().pUserPtr.to_ptr(); }
405
406 template <typename T>
407 T* GetUserPtr() { return ref().pUserPtr.to_ptr<T>(); }
408
409 template <typename T>
410 const T* GetUserPtr() const { return ref().pUserPtr.to_ptr<T>(); }
411
412 int GetShaderParamVolatileCount() const { return ref().numShaderParamVolatile; }
413
414 bool HasVolatile() const { return ref().numShaderParamVolatile > 0; }
415
416 NW_G3D_RES_FIELD_DIC_DECL(ResRenderInfo, RenderInfo)
417
418 NW_G3D_RES_FIELD_CLASS_DECL(ResRenderState, RenderState)
419
420 void SetTextureCount(int textureCount)
421 {
422 NW_G3D_ASSERT(GetSamplerCount() <= textureCount);
423 ref().numTexture = static_cast<u8>(textureCount);
424 }
425
426 int GetTextureCount() const { return ref().numTexture; }
427
429 {
430 NW_G3D_RES_ASSERT_INDEX(Sampler, texIndex);
431 ResTextureRefData* pArray = ref().ofsTextureRefArray.to_ptr<ResTextureRefData>();
432 return ResTextureRef::ResCast(&pArray[texIndex]);
433 }
434
435 const ResTextureRef* GetTextureRef(int texIndex) const
436 {
437 NW_G3D_RES_ASSERT_INDEX(Sampler, texIndex);
438 const ResTextureRefData* pArray = ref().ofsTextureRefArray.to_ptr<ResTextureRefData>();
439 return ResTextureRef::ResCast(&pArray[texIndex]);
440 }
441
442 NW_G3D_RES_FIELD_CLASS_NAMED_ARRAY_DECL(ResSampler, Sampler)
443
444 void* GetSrcParam(int paramIndex)
445 {
446 return AddOffset(ref().ofsSrcParam.to_ptr(), static_cast<size_t>(GetShaderParam(paramIndex)->GetSrcOffset()));
447 }
448
449 const void* GetSrcParam(int paramIndex) const
450 {
451 return AddOffset(ref().ofsSrcParam.to_ptr(), static_cast<size_t>(GetShaderParam(paramIndex)->GetSrcOffset()));
452 }
453
454 template <typename T>
455 T* GetSrcParam(int paramIndex)
456 {
457 const ResShaderParam* pParam = GetShaderParam(paramIndex);
458 NW_G3D_ASSERT(sizeof(T) <= pParam->GetSrcSize());
459 return AddOffset<T>(ref().ofsSrcParam.to_ptr(), pParam->GetSrcOffset());
460 }
461
462 template <typename T>
463 const T* GetSrcParam(int paramIndex) const
464 {
465 const ResShaderParam* pParam = GetShaderParam(paramIndex);
466 NW_G3D_ASSERT(sizeof(T) <= pParam->GetSrcSize());
467 return AddOffset<T>(ref().ofsSrcParam.to_ptr(), pParam->GetSrcOffset());
468 }
469
470 u32 GetSrcParamSize() const { return ref().srcParamSize; }
471
472 u32 GetRawParamSize() const { return ref().rawParamSize; }
473
474 void SetRawParamSize(u32 size) { ref().rawParamSize = static_cast<u16>(size); }
475
476 NW_G3D_RES_FIELD_CLASS_NAMED_ARRAY_DECL(ResShaderParam, ShaderParam)
477
479
480 NW_G3D_RES_FIELD_CLASS_DECL(ResShaderAssign, ShaderAssign)
481
482 NW_G3D_RES_FIELD_DIC_DECL(ResUserData, UserData)
483};
484
485} } } // namespace nw::g3d::res
486
487#endif // NW_G3D_RES_RESMATERIAL_H_
Definition g3d_GfxState.h:127
Definition g3d_GfxState.h:215
Definition g3d_GfxState.h:181
Definition g3d_GfxState.h:152
Definition g3d_GfxState.h:74
Definition g3d_GfxState.h:29
Definition g3d_GfxObject.h:98
Definition g3d_Matrix34.h:34
Definition g3d_Vector3.h:30
Definition g3d_ResCommon.h:109
BinPtr & set_ptr(void *ptr)
Definition g3d_ResCommon.h:143
const void * to_ptr() const
Definition g3d_ResCommon.h:121
void * to_ptr()
Definition g3d_ResCommon.h:119
Definition g3d_ResCommon.h:93
Definition g3d_ResFile.h:131
Definition g3d_Binding.h:16
Definition g3d_ResCommon.h:62
Definition g3d_ResFile.h:62
Definition g3d_ResMaterial.h:375
ResTextureRef * GetTextureRef(int texIndex)
Definition g3d_ResMaterial.h:428
Flag
Definition g3d_ResMaterial.h:382
@ VISIBILITY
Definition g3d_ResMaterial.h:383
Signature
Definition g3d_ResMaterial.h:379
@ SIGNATURE
Definition g3d_ResMaterial.h:379
const T * GetUserPtr() const
Definition g3d_ResMaterial.h:410
void SetRawParamSize(u32 size)
Definition g3d_ResMaterial.h:474
int GetTextureCount() const
Definition g3d_ResMaterial.h:426
const void * GetSrcParam(int paramIndex) const
Definition g3d_ResMaterial.h:449
T * GetUserPtr()
Definition g3d_ResMaterial.h:407
void SetUserPtr(void *pUserPtr)
Definition g3d_ResMaterial.h:400
T * GetSrcParam(int paramIndex)
Definition g3d_ResMaterial.h:455
void Cleanup()
Definition g3d_ResMaterial.cpp:363
void * GetSrcParam(int paramIndex)
Definition g3d_ResMaterial.h:444
BindResult Bind(const ResFile *pFile)
Definition g3d_ResMaterial.cpp:336
u32 GetRawParamSize() const
Definition g3d_ResMaterial.h:472
const void * GetUserPtr() const
Definition g3d_ResMaterial.h:404
bool ForceBind(const ResTexture *pTexture, const char *name)
BindResult Bind(const ResFile *pFile, BindCallback *pCallback)
const ResTextureRef * GetTextureRef(int texIndex) const
Definition g3d_ResMaterial.h:435
const T * GetSrcParam(int paramIndex) const
Definition g3d_ResMaterial.h:463
u32 GetSrcParamSize() const
Definition g3d_ResMaterial.h:470
int GetIndex() const
Definition g3d_ResMaterial.h:396
void * GetUserPtr()
Definition g3d_ResMaterial.h:402
int GetShaderParamVolatileCount() const
Definition g3d_ResMaterial.h:412
void Setup()
Definition g3d_ResMaterial.cpp:354
bool HasVolatile() const
Definition g3d_ResMaterial.h:414
void SetTextureCount(int textureCount)
Definition g3d_ResMaterial.h:420
Definition g3d_ResMaterial.h:73
Type GetType() const
Definition g3d_ResMaterial.h:88
const float * GetFloat() const
Definition g3d_ResMaterial.h:96
Type
Definition g3d_ResMaterial.h:78
@ STRING
Definition g3d_ResMaterial.h:81
@ INT
Definition g3d_ResMaterial.h:79
@ FLOAT
Definition g3d_ResMaterial.h:80
const int * GetInt() const
Definition g3d_ResMaterial.h:90
const char * GetString(int strIndex) const
Definition g3d_ResMaterial.h:102
int GetArrayLength() const
Definition g3d_ResMaterial.h:86
Definition g3d_ResMaterial.h:125
const GfxAlphaTest & GetAlphaTest() const
Definition g3d_ResMaterial.h:200
void AdjustBlendMode(BlendMode mode)
void SetBlendMode(BlendMode mode)
Definition g3d_ResMaterial.h:170
GfxAlphaTest & GetAlphaTest()
Definition g3d_ResMaterial.h:195
const GfxPolygonCtrl & GetPolygonCtrl() const
Definition g3d_ResMaterial.h:180
const GfxBlendCtrl & GetBlendCtrl() const
Definition g3d_ResMaterial.h:220
GfxBlendColor & GetBlendColor()
Definition g3d_ResMaterial.h:225
BlendMode GetBlendMode() const
Definition g3d_ResMaterial.h:165
GfxColorCtrl & GetColorCtrl()
Definition g3d_ResMaterial.h:205
GfxBlendCtrl & GetBlendCtrl()
Definition g3d_ResMaterial.h:215
Flag
Definition g3d_ResMaterial.h:130
@ MODE_SHIFT
Definition g3d_ResMaterial.h:131
@ MODE_MASK
Definition g3d_ResMaterial.h:132
@ BLEND_MASK
Definition g3d_ResMaterial.h:134
@ BLEND_SHIFT
Definition g3d_ResMaterial.h:133
void Load() const
Definition g3d_ResMaterial.cpp:278
BlendMode
Definition g3d_ResMaterial.h:146
@ BLEND_NONE
Definition g3d_ResMaterial.h:147
@ BLEND_LOGICAL
Definition g3d_ResMaterial.h:149
@ BLEND_COLOR
Definition g3d_ResMaterial.h:148
const GfxBlendColor & GetBlendColor() const
Definition g3d_ResMaterial.h:230
GfxDepthCtrl & GetDepthCtrl()
Definition g3d_ResMaterial.h:185
const GfxColorCtrl & GetColorCtrl() const
Definition g3d_ResMaterial.h:210
GfxPolygonCtrl & GetPolygonCtrl()
Definition g3d_ResMaterial.h:175
Mode GetMode() const
Definition g3d_ResMaterial.h:158
void SetMode(Mode mode)
Definition g3d_ResMaterial.h:160
const GfxDepthCtrl & GetDepthCtrl() const
Definition g3d_ResMaterial.h:190
Mode
Definition g3d_ResMaterial.h:138
@ MODE_OPAQUE
Definition g3d_ResMaterial.h:140
@ MODE_CUSTOM
Definition g3d_ResMaterial.h:139
@ MODE_ALPHAMASK
Definition g3d_ResMaterial.h:141
@ MODE_TRANSLUCENT
Definition g3d_ResMaterial.h:142
Definition g3d_ResMaterial.h:274
void Cleanup()
Definition g3d_ResMaterial.cpp:293
GfxSampler * GetGfxSampler()
Definition g3d_ResMaterial.h:285
int GetIndex() const
Definition g3d_ResMaterial.h:283
const GfxSampler * GetGfxSampler() const
Definition g3d_ResMaterial.h:287
void Setup()
Definition g3d_ResMaterial.cpp:288
Definition g3d_ResMaterial.h:250
Definition g3d_ResMaterial.h:301
Type
Definition g3d_ResMaterial.h:306
@ TYPE_RESERVED2
Definition g3d_ResMaterial.h:311
@ TYPE_FLOAT3x3
Definition g3d_ResMaterial.h:312
@ NUM_TYPE
Definition g3d_ResMaterial.h:315
@ TYPE_UINT2
Definition g3d_ResMaterial.h:309
@ TYPE_UINT3
Definition g3d_ResMaterial.h:309
@ TYPE_RESERVED4
Definition g3d_ResMaterial.h:313
@ TYPE_BOOL
Definition g3d_ResMaterial.h:307
@ TYPE_BOOL2
Definition g3d_ResMaterial.h:307
@ TYPE_UINT
Definition g3d_ResMaterial.h:309
@ TYPE_INT3
Definition g3d_ResMaterial.h:308
@ TYPE_FLOAT2
Definition g3d_ResMaterial.h:310
@ TYPE_INT2
Definition g3d_ResMaterial.h:308
@ TYPE_INT
Definition g3d_ResMaterial.h:308
@ TYPE_FLOAT2x3
Definition g3d_ResMaterial.h:311
@ TYPE_FLOAT2x4
Definition g3d_ResMaterial.h:311
@ TYPE_TEXSRT
Definition g3d_ResMaterial.h:314
@ TYPE_FLOAT4x2
Definition g3d_ResMaterial.h:313
@ TYPE_FLOAT3x4
Definition g3d_ResMaterial.h:312
@ TYPE_RESERVED3
Definition g3d_ResMaterial.h:312
@ TYPE_FLOAT2x2
Definition g3d_ResMaterial.h:311
@ TYPE_SRT2D
Definition g3d_ResMaterial.h:314
@ TYPE_BOOL3
Definition g3d_ResMaterial.h:307
@ TYPE_TEXSRTEX
Definition g3d_ResMaterial.h:314
@ TYPE_FLOAT3x2
Definition g3d_ResMaterial.h:312
@ TYPE_FLOAT4x3
Definition g3d_ResMaterial.h:313
@ TYPE_FLOAT
Definition g3d_ResMaterial.h:310
@ TYPE_FLOAT4x4
Definition g3d_ResMaterial.h:313
@ TYPE_INT4
Definition g3d_ResMaterial.h:308
@ TYPE_SRT3D
Definition g3d_ResMaterial.h:314
@ TYPE_FLOAT4
Definition g3d_ResMaterial.h:310
@ TYPE_FLOAT3
Definition g3d_ResMaterial.h:310
@ TYPE_UINT4
Definition g3d_ResMaterial.h:309
@ TYPE_BOOL4
Definition g3d_ResMaterial.h:307
Type GetType() const
Definition g3d_ResMaterial.h:325
size_t GetSrcSize() const
Definition g3d_ResMaterial.h:335
s32 GetOffset() const
Definition g3d_ResMaterial.h:327
size_t(* ConvertParamCallback)(void *pDst, const void *pSrc, Type srcType, const void *pUserPtr)
Definition g3d_ResMaterial.h:318
void Convert(void *pDst, const void *pSrc) const
Definition g3d_ResMaterial.cpp:299
s32 GetSrcOffset() const
Definition g3d_ResMaterial.h:331
void SetOffset(s32 offset)
Definition g3d_ResMaterial.h:329
Definition g3d_ResTexture.h:70
Definition g3d_ResTexture.h:32
#define NW_G3D_RES_COMMON(class_name)
Definition g3d_ResCommon.h:30
#define NW_G3D_RES_FIELD_STR_DIC_DECL(name)
Definition g3d_ResDefs.h:67
#define NW_G3D_RES_FIELD_CLASS_NAMED_ARRAY_DECL(type, name)
Definition g3d_ResDefs.h:108
#define NW_G3D_RES_FIELD_CLASS_DECL(type, name)
Definition g3d_ResDefs.h:124
#define NW_G3D_RES_ASSERT_INDEX(name, idx)
Definition g3d_ResDefs.h:6
#define NW_G3D_RES_FIELD_STRING_DECL(name)
Definition g3d_ResDefs.h:137
#define NW_G3D_RES_FIELD_DIC_DECL(type, name)
Definition g3d_ResDefs.h:51
#define NW_G3D_ASSERT_INDEX_BOUNDS(index, size)
Definition g3d_assert.h:23
#define NW_G3D_ASSERT(exp)
Definition g3d_assert.h:17
#define NW_G3D_HOST_PTRSIZE
Definition g3d_defs.h:40
u32 bit32
Definition g3d_defs.h:131
#define NW_G3D_MAKE_U8X4_AS_U32(a, b, c, d)
Definition g3d_defs.h:90
#define NW_G3D_TARGET_PTRSIZE
Definition g3d_defs.h:34
Definition g3d_defs.h:122
ResRenderInfoData ResEnvRefData
Definition g3d_ResMaterial.h:110
ResRenderInfo ResEnvRef
Definition g3d_ResMaterial.h:111
Definition g3d_GfxManage.cpp:10
Definition g3d_GfxState.h:122
Definition g3d_GfxState.h:210
Definition g3d_GfxState.h:176
Definition g3d_GfxState.h:147
Definition g3d_GfxState.h:69
Definition g3d_GfxState.h:24
Definition g3d_GfxObject.h:92
Definition g3d_ResCommon.h:179
Definition g3d_ResMaterial.h:343
Offset ofsTextureRefArray
Definition g3d_ResMaterial.h:363
u16 numShaderParamVolatile
Definition g3d_ResMaterial.h:355
u16 numShaderParam
Definition g3d_ResMaterial.h:354
Offset ofsSrcParam
Definition g3d_ResMaterial.h:368
Offset ofsUserDataDic
Definition g3d_ResMaterial.h:369
u16 numUserData
Definition g3d_ResMaterial.h:358
bit32 flag
Definition g3d_ResMaterial.h:348
u8 numTexture
Definition g3d_ResMaterial.h:352
u16 numRenderInfo
Definition g3d_ResMaterial.h:350
BinPtr pUserPtr
Definition g3d_ResMaterial.h:371
Offset ofsShaderParamArray
Definition g3d_ResMaterial.h:366
Offset ofsSamplerDic
Definition g3d_ResMaterial.h:365
u8 numSampler
Definition g3d_ResMaterial.h:351
Offset ofsRenderInfoDic
Definition g3d_ResMaterial.h:360
Offset ofsShaderAssign
Definition g3d_ResMaterial.h:362
BinaryBlockHeader blockHeader
Definition g3d_ResMaterial.h:344
BinString ofsName
Definition g3d_ResMaterial.h:346
Offset ofsShaderParamDic
Definition g3d_ResMaterial.h:367
u16 srcParamSize
Definition g3d_ResMaterial.h:356
Offset ofsSamplerArray
Definition g3d_ResMaterial.h:364
u16 rawParamSize
Definition g3d_ResMaterial.h:357
u16 index
Definition g3d_ResMaterial.h:349
Offset ofsRenderState
Definition g3d_ResMaterial.h:361
Definition g3d_ResMaterial.h:59
BinString ofsName
Definition g3d_ResMaterial.h:63
BinString ofsString[1]
Definition g3d_ResMaterial.h:68
f32 fValue[1]
Definition g3d_ResMaterial.h:67
u8 type
Definition g3d_ResMaterial.h:61
u16 arrayLength
Definition g3d_ResMaterial.h:60
s32 iValue[1]
Definition g3d_ResMaterial.h:66
u8 reserved
Definition g3d_ResMaterial.h:62
Definition g3d_ResMaterial.h:114
GfxBlendCtrl_t blendCtrl
Definition g3d_ResMaterial.h:120
GfxDepthCtrl_t depthCtrl
Definition g3d_ResMaterial.h:117
GfxPolygonCtrl_t polygonCtrl
Definition g3d_ResMaterial.h:116
GfxAlphaTest_t alphaTest
Definition g3d_ResMaterial.h:118
bit32 flag
Definition g3d_ResMaterial.h:115
GfxBlendColor_t blendColor
Definition g3d_ResMaterial.h:121
GfxColorCtrl_t colorCtrl
Definition g3d_ResMaterial.h:119
Definition g3d_ResMaterial.h:265
u8 reserved0
Definition g3d_ResMaterial.h:269
u8 index
Definition g3d_ResMaterial.h:268
BinString ofsName
Definition g3d_ResMaterial.h:267
GfxSampler_t gfxSampler
Definition g3d_ResMaterial.h:266
u16 reserved1
Definition g3d_ResMaterial.h:270
Definition g3d_ResMaterial.h:237
u8 numSamplerAssign
Definition g3d_ResMaterial.h:242
Offset ofsSamplerAssignDic
Definition g3d_ResMaterial.h:245
u16 numShaderOption
Definition g3d_ResMaterial.h:243
BinString ofsShaderArchiveName
Definition g3d_ResMaterial.h:238
u32 revision
Definition g3d_ResMaterial.h:240
u8 numAttribAssign
Definition g3d_ResMaterial.h:241
BinString ofsShadingModelName
Definition g3d_ResMaterial.h:239
Offset ofsAttribAssignDic
Definition g3d_ResMaterial.h:244
Offset ofsShaderOptionDic
Definition g3d_ResMaterial.h:246
Definition g3d_ResMaterial.h:291
u16 srcOffset
Definition g3d_ResMaterial.h:294
u8 srcSize
Definition g3d_ResMaterial.h:293
BinString ofsId
Definition g3d_ResMaterial.h:297
s32 offset
Definition g3d_ResMaterial.h:295
u8 type
Definition g3d_ResMaterial.h:292
Definition g3d_ResTexture.h:64
Definition g3d_ResMaterial.h:22
float sy
Definition g3d_ResMaterial.h:23
float ty
Definition g3d_ResMaterial.h:23
float tx
Definition g3d_ResMaterial.h:23
float sx
Definition g3d_ResMaterial.h:23
float r
Definition g3d_ResMaterial.h:23
Definition g3d_ResMaterial.h:27
Vec3 rotate
Definition g3d_ResMaterial.h:28
Vec3 scale
Definition g3d_ResMaterial.h:28
Vec3 translate
Definition g3d_ResMaterial.h:28
Definition g3d_ResMaterial.h:47
TexSrt srt
Definition g3d_ResMaterial.h:48
u32 padding
Definition g3d_ResMaterial.h:54
Mtx34 * pEffectMtx
Definition g3d_ResMaterial.h:52
Definition g3d_ResMaterial.h:32
float tx
Definition g3d_ResMaterial.h:42
Mode mode
Definition g3d_ResMaterial.h:41
float sx
Definition g3d_ResMaterial.h:42
float sy
Definition g3d_ResMaterial.h:42
Mode
Definition g3d_ResMaterial.h:34
@ NUM_MODE
Definition g3d_ResMaterial.h:38
@ MODE_3DSMAX
Definition g3d_ResMaterial.h:36
@ MODE_MAYA
Definition g3d_ResMaterial.h:35
@ MODE_SOFTIMAGE
Definition g3d_ResMaterial.h:37
float r
Definition g3d_ResMaterial.h:42
float ty
Definition g3d_ResMaterial.h:42