add setMaterialProperty for int, add create_unlit_material_instance
This commit is contained in:
@@ -962,9 +962,19 @@ extern "C"
|
|||||||
((SceneManager *)sceneManager)->setMaterialProperty(entity, materialIndex, property, value);
|
((SceneManager *)sceneManager)->setMaterialProperty(entity, materialIndex, property, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
EMSCRIPTEN_KEEPALIVE void set_material_property_float4(void *const sceneManager, EntityId entity, int materialIndex, const char *property, float4 value)
|
EMSCRIPTEN_KEEPALIVE void set_material_property_int(void *const sceneManager, EntityId entity, int materialIndex, const char *property, int32_t value)
|
||||||
{
|
{
|
||||||
filament::math::float4 filamentValue{value.x, value.y, value.z, value.w};
|
|
||||||
|
((SceneManager *)sceneManager)->setMaterialProperty(entity, materialIndex, property, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
EMSCRIPTEN_KEEPALIVE void set_material_property_float4(void *const sceneManager, EntityId entity, int materialIndex, const char *property, double4 value)
|
||||||
|
{
|
||||||
|
filament::math::float4 filamentValue;
|
||||||
|
filamentValue.x = static_cast<float32_t>(value.x);
|
||||||
|
filamentValue.y = static_cast<float32_t>(value.y);
|
||||||
|
filamentValue.z = static_cast<float32_t>(value.z);
|
||||||
|
filamentValue.w = static_cast<float32_t>(value.w);
|
||||||
((SceneManager *)sceneManager)->setMaterialProperty(entity, materialIndex, property, filamentValue);
|
((SceneManager *)sceneManager)->setMaterialProperty(entity, materialIndex, property, filamentValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1023,6 +1033,11 @@ extern "C"
|
|||||||
return reinterpret_cast<TMaterialInstance*>(materialInstance);
|
return reinterpret_cast<TMaterialInstance*>(materialInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMSCRIPTEN_KEEPALIVE TMaterialInstance *create_unlit_material_instance(void *const sceneManager) {
|
||||||
|
auto * instance = ((SceneManager*)sceneManager)->createUnlitMaterialInstance();
|
||||||
|
return reinterpret_cast<TMaterialInstance*>(instance);
|
||||||
|
}
|
||||||
|
|
||||||
EMSCRIPTEN_KEEPALIVE void destroy_material_instance(void *const sceneManager, TMaterialInstance *instance) {
|
EMSCRIPTEN_KEEPALIVE void destroy_material_instance(void *const sceneManager, TMaterialInstance *instance) {
|
||||||
((SceneManager *)sceneManager)->destroy(reinterpret_cast<MaterialInstance*>(instance));
|
((SceneManager *)sceneManager)->destroy(reinterpret_cast<MaterialInstance*>(instance));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user