Skip to main content

MaterialScript

The MaterialScript class provides an interface for Material scripting. It includes methods to access different script parameters and allows embedding the script source into the scene file.

#include <scene/TellusimMaterialScript.h>

Inheritance

Constructors

explicit MaterialScript(void *ptr)
explicit MaterialScript(const char *name = nullptr)
explicit MaterialScript(Scene &scene, const char *name = nullptr)
explicit MaterialScript(Material *parent, const char *name = nullptr)

Methods

Release resources.

void release(const Device &device)

Material disabled flag.

void setDisabled(bool disabled)
bool isDisabled() const

Script file name.

void setScriptName(const char *name)
void setScriptName(const String &name)
String getScriptName() const

Script source.

void setScriptSource(const String &src)
String getScriptSource() const

Script hash.

String getScriptHash() const

Load material script.

bool load(const char *name, bool reload = false)
bool load(const String &name, bool reload = false)

Create material script.

bool create(const String &src, bool reload = false)

Material parameters.

void reserveParameters(uint32_t num_parameters, uint32_t size)
uint32_t addParameter(const char *type, const char *name, const char *layout = nullptr, bool check = true)
uint32_t findParameter(const String &name) const
uint32_t findParameter(const char *name) const
uint32_t getNumParameters() const
String getParameterType(uint32_t index) const
String getParameterName(uint32_t index) const
uint32_t getParameterSize(uint32_t index) const
String getParameterLayout(uint32_t index) const
String getParameterLayout(uint32_t index, const char *name) const
bool hasParameterLayout(uint32_t index, const char *name) const

Parameters by index.

void setParameter(uint32_t index, int32_t value)
void setParameter(uint32_t index, uint32_t value)
void setParameter(uint32_t index, float32_t value)
void setParameter(uint32_t index, float64_t value)
void setParameter(uint32_t index, Vector2f value)
void setParameter(uint32_t index, Vector3f value)
void setParameter(uint32_t index, Vector4f value)
void setParameter(uint32_t index, Matrix3x2f value)
void setParameter(uint32_t index, Matrix4x3f value)
void setParameter(uint32_t index, Matrix4x4f value)
void setParameter(uint32_t index, Color value)
void setParameter(uint32_t index, const char *value)
void setParameter(uint32_t index, const String &value)
void setParameter(uint32_t index, void *value)
int32_t getParameterScalari32(uint32_t index) const
uint32_t getParameterScalaru32(uint32_t index) const
float32_t getParameterScalarf32(uint32_t index) const
float64_t getParameterScalarf64(uint32_t index) const
Vector2f getParameterVector2f(uint32_t index) const
Vector3f getParameterVector3f(uint32_t index) const
Vector4f getParameterVector4f(uint32_t index) const
Matrix3x2f getParameterMatrix3x2f(uint32_t index) const
Matrix4x3f getParameterMatrix4x3f(uint32_t index) const
Matrix4x4f getParameterMatrix4x4f(uint32_t index) const
Color getParameterColor(uint32_t index) const
String getParameterString(uint32_t index) const
void *getParameterPointer(uint32_t index) const

Parameters by name.

void setParameter(const char *name, int32_t value)
void setParameter(const char *name, uint32_t value)
void setParameter(const char *name, float32_t value)
void setParameter(const char *name, float64_t value)
void setParameter(const char *name, Vector2f value)
void setParameter(const char *name, Vector3f value)
void setParameter(const char *name, Vector4f value)
void setParameter(const char *name, Matrix3x2f value)
void setParameter(const char *name, Matrix4x3f value)
void setParameter(const char *name, Matrix4x4f value)
void setParameter(const char *name, Color value)
void setParameter(const char *name, const char *value)
void setParameter(const char *name, const String &value)
void setParameter(const char *name, void *value)
int32_t getParameterScalari32(const char *name) const
uint32_t getParameterScalaru32(const char *name) const
float32_t getParameterScalarf32(const char *name) const
float64_t getParameterScalarf64(const char *name) const
Vector2f getParameterVector2f(const char *name) const
Vector3f getParameterVector3f(const char *name) const
Vector4f getParameterVector4f(const char *name) const
Matrix3x2f getParameterMatrix3x2f(const char *name) const
Matrix4x3f getParameterMatrix4x3f(const char *name) const
Matrix4x4f getParameterMatrix4x4f(const char *name) const
Color getParameterColor(const char *name) const
String getParameterString(const char *name) const
void *getParameterPointer(const char *name) const

Update parameters.

const Device getDevice() const
NodeCamera getCamera() const
Compute getCompute() const

Script callbacks.

virtual void update()
virtual void dispatch()