Unigine::Materials Class
Header: | #include <UnigineMaterials.h> |
Interface for managing loaded materials via the code. All materials existing in the project are loaded on its start-up and saved on world's saving or on calling the materials_save console command.
See Also#
- C++ API sample located in the folder <UnigineSDK>/source/samples/Api/Systems/Materials
Materials Class
Members
Materials * get( )
Returns a pointer to the materials manager.int isMaterial( const char * name )
Checks if there is a material with a given name.Arguments
- const char * name - Material name.
Return value
1 if the material exists; otherwise, 0.int isMaterial( const UGUID & guid )
Checks if there is a material with a given GUID.Arguments
- const UGUID & guid - A material GUID.
Return value
1 if the material exists; otherwise, 0.Ptr<Material> findMaterial( const char * name )
Searches for a material with a given name.Arguments
- const char * name - Material name.
Return value
Material smart pointer.void reloadMaterials( )
Reloads all loaded materials.void destroyTextures( )
Deletes all textures used by the loaded materials.int replaceMaterial( const Ptr<Material> & material, const Ptr<Material> & new_material )
Replaces the material with the given one.Arguments
- const Ptr<Material> & material - A material to be replaced.
- const Ptr<Material> & new_material - A replacing material.
Return value
1 if the material is replaced successfully; otherwise, 0.Ptr<Material> findManualMaterial( const char * name )
Searches for a manual material by the given name.Arguments
- const char * name - A manual material name.
Return value
A manual material smart pointer.Ptr<Material> findBaseMaterial( const char * name )
Searches for a base material by the given name.Arguments
- const char * name - A base material name.
Return value
A base material.void setPrecompileAllShaders( int shaders )
Enables or disables shader precompilation.Arguments
- int shaders - 1 to enable shader precompilation, 0 - to disable it.
int isPrecompileAllShaders( )
Returns a value indicating if shader precompilation is enabled.Return value
1 if shader precompilation is enabled; otherwise, 0.void compileShaders( const Vector< Ptr<Material> > & materials )
Compiles shaders for all specified materials.Arguments
- const Vector< Ptr<Material> > & materials - Vector containing the list of materials for which shaders are to be compiled.
void compileShaders( )
Compiles shaders for all loaded materials.void createShaders( )
Creates all shaders for all loaded materials.void reloadShaders( )
Reloads all shaders used by the loaded materials.void destroyShaders( )
Deletes all shaders used for the loaded materials.int saveMaterials( )
Saves changes made for all loaded materials.Return value
1 if materials are saved successfully; otherwise, 0.Ptr<Material> getMaterial( int num )
Returns the material by its number.Arguments
- int num - Material number.
Return value
A material.Ptr<Material> findMaterialByPath( const char * path )
Searches for a material stored by the specified path.Arguments
- const char * path - A loading path of the material (including a material's name).
Return value
A material smart pointer.Ptr<Material> loadMaterial( const char * path )
Loads a material stored by the given path. The function can be used to load materials created during application execution or stored outside the data directory.Arguments
- const char * path - A path to the material (including its name).
Return value
A loaded material.Ptr<Material> findMaterialByGUID( const UGUID & guid )
Searches for a material with the given GUID.Arguments
- const UGUID & guid - A material GUID.
Return value
A material smart pointer.int isManualMaterial( const char * name )
Checks if the material with the given name is the manual one.Arguments
- const char * name - A material name.
Return value
1 if the material is the manual one; otherwise, 0.int isBaseMaterial( const char * name )
Checks if the material with the given name is the base one.Arguments
- const char * name - A material name.
Return value
1 if the material is the base one; otherwise, 0.int getNumMaterials( )
Returns the number of materials loaded for the current project.Return value
The number of materials.const char * getMaterialName( int num )
Returns a name of the material with the given number.Arguments
- int num - A material number.
Return value
A material name.int removeMaterial( const UGUID & guid, int remove_file = 0, int remove_children = 1 )
Deletes a material. If the remove_file flag is enabled, the material file will be deleted as well. If the flag is disabled, the deleted material will be loaded again on the next application start-up. If the remove_children flag is enabled, all the children of the material will be deleted as well.Arguments
- const UGUID & guid - GUID of the material to be removed.
- int remove_file - Flag indicating if the material file will be deleted.
- int remove_children - Flag indicating if all the children of the material will be also deleted.
Return value
1 if the material is deleted successfully; otherwise, 0.Ptr<Material> findMaterialByFileGUID( const UGUID & guid )
Searches for a material with the given GUID of a material file.Arguments
- const UGUID & guid - A GUID of a material file.
Return value
A material smart pointer.Last update:
2020-01-14
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)