remove TMaterialKey struct and pass directly as function params
This commit is contained in:
@@ -45,68 +45,6 @@ extern "C"
|
||||
typedef struct TFilamentAsset TFilamentAsset;
|
||||
typedef struct TColorGrading TColorGrading;
|
||||
|
||||
struct TMaterialKey {
|
||||
bool doubleSided;
|
||||
bool unlit;
|
||||
bool hasVertexColors;
|
||||
bool hasBaseColorTexture;
|
||||
bool hasNormalTexture;
|
||||
bool hasOcclusionTexture;
|
||||
bool hasEmissiveTexture;
|
||||
bool useSpecularGlossiness;
|
||||
int alphaMode;
|
||||
bool enableDiagnostics;
|
||||
union {
|
||||
#ifdef __cplusplus
|
||||
struct {
|
||||
bool hasMetallicRoughnessTexture;
|
||||
uint8_t metallicRoughnessUV;
|
||||
};
|
||||
struct {
|
||||
bool hasSpecularGlossinessTexture;
|
||||
uint8_t specularGlossinessUV;
|
||||
};
|
||||
#else
|
||||
struct {
|
||||
bool hasMetallicRoughnessTexture;
|
||||
uint8_t metallicRoughnessUV;
|
||||
};
|
||||
struct {
|
||||
bool hasSpecularGlossinessTexture;
|
||||
uint8_t specularGlossinessUV;
|
||||
};
|
||||
#endif
|
||||
};
|
||||
uint8_t baseColorUV;
|
||||
// -- 32 bit boundary --
|
||||
bool hasClearCoatTexture;
|
||||
uint8_t clearCoatUV;
|
||||
bool hasClearCoatRoughnessTexture;
|
||||
uint8_t clearCoatRoughnessUV;
|
||||
bool hasClearCoatNormalTexture;
|
||||
uint8_t clearCoatNormalUV;
|
||||
bool hasClearCoat;
|
||||
bool hasTransmission;
|
||||
bool hasTextureTransforms;
|
||||
// -- 32 bit boundary --
|
||||
uint8_t emissiveUV;
|
||||
uint8_t aoUV;
|
||||
uint8_t normalUV;
|
||||
bool hasTransmissionTexture;
|
||||
uint8_t transmissionUV;
|
||||
// -- 32 bit boundary --
|
||||
bool hasSheenColorTexture;
|
||||
uint8_t sheenColorUV;
|
||||
bool hasSheenRoughnessTexture;
|
||||
uint8_t sheenRoughnessUV;
|
||||
bool hasVolumeThicknessTexture;
|
||||
uint8_t volumeThicknessUV ;
|
||||
bool hasSheen;
|
||||
bool hasIOR;
|
||||
bool hasVolume;
|
||||
} ;
|
||||
typedef struct TMaterialKey TMaterialKey;
|
||||
|
||||
typedef struct {
|
||||
double x;
|
||||
double y;
|
||||
|
||||
@@ -9,7 +9,47 @@ extern "C"
|
||||
#endif
|
||||
|
||||
// EMSCRIPTEN_KEEPALIVE TMaterialProvider *MaterialProvider_create(TEngine *tEngine, uint8_t* data, size_t length);
|
||||
EMSCRIPTEN_KEEPALIVE TMaterialInstance *MaterialProvider_createMaterialInstance(TMaterialProvider *provider, TMaterialKey *key);
|
||||
EMSCRIPTEN_KEEPALIVE TMaterialInstance *MaterialProvider_createMaterialInstance(
|
||||
TMaterialProvider *provider,
|
||||
bool doubleSided,
|
||||
bool unlit,
|
||||
bool hasVertexColors,
|
||||
bool hasBaseColorTexture,
|
||||
bool hasNormalTexture,
|
||||
bool hasOcclusionTexture,
|
||||
bool hasEmissiveTexture,
|
||||
bool useSpecularGlossiness,
|
||||
int alphaMode,
|
||||
bool enableDiagnostics,
|
||||
bool hasMetallicRoughnessTexture,
|
||||
uint8_t metallicRoughnessUV,
|
||||
bool hasSpecularGlossinessTexture,
|
||||
uint8_t specularGlossinessUV,
|
||||
uint8_t baseColorUV,
|
||||
bool hasClearCoatTexture,
|
||||
uint8_t clearCoatUV,
|
||||
bool hasClearCoatRoughnessTexture,
|
||||
uint8_t clearCoatRoughnessUV,
|
||||
bool hasClearCoatNormalTexture,
|
||||
uint8_t clearCoatNormalUV,
|
||||
bool hasClearCoat,
|
||||
bool hasTransmission,
|
||||
bool hasTextureTransforms,
|
||||
uint8_t emissiveUV,
|
||||
uint8_t aoUV,
|
||||
uint8_t normalUV,
|
||||
bool hasTransmissionTexture,
|
||||
uint8_t transmissionUV,
|
||||
bool hasSheenColorTexture,
|
||||
uint8_t sheenColorUV,
|
||||
bool hasSheenRoughnessTexture,
|
||||
uint8_t sheenRoughnessUV,
|
||||
bool hasVolumeThicknessTexture,
|
||||
uint8_t volumeThicknessUV ,
|
||||
bool hasSheen,
|
||||
bool hasIOR,
|
||||
bool hasVolume
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -116,7 +116,47 @@ namespace thermion
|
||||
int materialInstanceCount,
|
||||
void (*callback)(TSceneAsset *)
|
||||
);
|
||||
void MaterialProvider_createMaterialInstanceRenderThread(TMaterialProvider *tMaterialProvider, TMaterialKey *tKey, void (*callback)(TMaterialInstance *));
|
||||
void MaterialProvider_createMaterialInstanceRenderThread(
|
||||
TMaterialProvider *tMaterialProvider,
|
||||
bool doubleSided,
|
||||
bool unlit,
|
||||
bool hasVertexColors,
|
||||
bool hasBaseColorTexture,
|
||||
bool hasNormalTexture,
|
||||
bool hasOcclusionTexture,
|
||||
bool hasEmissiveTexture,
|
||||
bool useSpecularGlossiness,
|
||||
int alphaMode,
|
||||
bool enableDiagnostics,
|
||||
bool hasMetallicRoughnessTexture,
|
||||
uint8_t metallicRoughnessUV,
|
||||
bool hasSpecularGlossinessTexture,
|
||||
uint8_t specularGlossinessUV,
|
||||
uint8_t baseColorUV,
|
||||
bool hasClearCoatTexture,
|
||||
uint8_t clearCoatUV,
|
||||
bool hasClearCoatRoughnessTexture,
|
||||
uint8_t clearCoatRoughnessUV,
|
||||
bool hasClearCoatNormalTexture,
|
||||
uint8_t clearCoatNormalUV,
|
||||
bool hasClearCoat,
|
||||
bool hasTransmission,
|
||||
bool hasTextureTransforms,
|
||||
uint8_t emissiveUV,
|
||||
uint8_t aoUV,
|
||||
uint8_t normalUV,
|
||||
bool hasTransmissionTexture,
|
||||
uint8_t transmissionUV,
|
||||
bool hasSheenColorTexture,
|
||||
uint8_t sheenColorUV,
|
||||
bool hasSheenRoughnessTexture,
|
||||
uint8_t sheenRoughnessUV,
|
||||
bool hasVolumeThicknessTexture,
|
||||
uint8_t volumeThicknessUV ,
|
||||
bool hasSheen,
|
||||
bool hasIOR,
|
||||
bool hasVolume,
|
||||
void (*callback)(TMaterialInstance *));
|
||||
|
||||
void AnimationManager_updateBoneMatricesRenderThread(
|
||||
TAnimationManager *tAnimationManager,
|
||||
|
||||
Reference in New Issue
Block a user