Class TMaterialProperties
Unit
Declaration
type TMaterialProperties = class(TObject)
Description
Store information that is naturally associated with a given material or texture in an external file. Documentation and example of such file is on https://castle-engine.io/creating_data_material_properties.php . Right now this allows to define things like:
footsteps,
toxic ground (hurts player),
bump mapping (normal maps and height maps for given texture),
texture GPU-compressed and downscaled alternatives.
In the future, it should be possible to express all these properties in pure VRML/X3D (inside Appearance / Material / ImageTexture nodes). Right now, you can do this with bump mapping, see https://castle-engine.io/x3d_extensions.php#section_ext_bump_mapping , but not footsteps or toxic ground. In the future it should also be possible to express these properties in 3D authoring software (like Blender), and easily export them to appropriate VRML/X3D nodes. For now, this TMaterialProperty allows us to easily customize materials in a way that is not possible in Blender.
Using an external file for material properties has also long-term advantages: it can be shared across many 3D models, for example you can define footsteps sound for all grounds using the grass.png
textures, in all levels, at once.
You have to load an XML file by setting MaterialProperties.URL property.
Hierarchy
- TObject
- TMaterialProperties
Overview
Methods
constructor Create(const AnAutoProcessImageURLs: Boolean); |
|
destructor Destroy; override; |
|
function FindTextureBaseName(const TextureBaseName: String): TMaterialProperty; |
|
function AutoGeneratedTextures: TCastleStringList; |
Properties
property URL: String read FURL write SetURL; |
|
property FileName: String read FURL write SetURL; deprecated 'use URL'; |
Description
Methods
constructor Create(const AnAutoProcessImageURLs: Boolean); |
|
destructor Destroy; override; |
|
function FindTextureBaseName(const TextureBaseName: String): TMaterialProperty; |
|
Find material properties for given texture basename. Returns |
function AutoGeneratedTextures: TCastleStringList; |
|
Get the URLs of all textures that should have automatically generated GPU-compressed and downscaled counterparts. Returns a list of absolute URLs. This actually searches on disk, right now, to find the texture list, applying the include/exclude rules specified in material_properties.xml file. This is to be used by "castle-engine auto-generate-textures" tool, or similar tools. The objects on this list refer to TAutoGeneratedTextures objects that define how to process this texture. Caller is responsible for freeing the returned TCastleStringList list. |
Properties
property FileName: String read FURL write SetURL; deprecated 'use URL'; |
|
Warning: this symbol is deprecated: use URL |
Generated by PasDoc 0.16.0.