The abstract base class for a shader resource. More...
#include "murl_resource_shader.h"
Additional Inherited Members | |
Public Types inherited from Murl::IFactoryObject< IObject > | |
using | ClassInfoArray = Array< const ClassInfo * > |
Definition of an array of ClassInfo objects. | |
Public Member Functions inherited from Murl::Resource::IObject | |
virtual Bool | CreateBinary (Data &data) const =0 |
Create a binary representation from the object. More... | |
virtual Bool | GetFileDependencies (Array< String > &fileNames) const =0 |
Fill a given string array with names of files the resource depends on. More... | |
Public Member Functions inherited from Murl::IFactoryObject< IObject > | |
~IFactoryObject () override | |
The destructor. | |
virtual const ClassInfo * | GetObjectClassInfo () const=0 |
Get the object instance's class info, if present. More... | |
virtual void | ResetObjectProperties ()=0 |
Reset the object instance's properties to their default values. | |
Static Public Member Functions inherited from Murl::IFactoryObject< IObject > | |
static const PropertyInfo * | GetPropertyInfo () |
Get the class' property info struct. More... | |
static const AttributeInfo * | GetAttributeInfo () |
Get the class' attribute info struct. More... | |
static void | ResetProperties (IFactoryObject< IObject > *object) |
Reset an object instance's properties to their default values. More... | |
Detailed Description
The abstract base class for a shader resource.
Depending on the actual shader language used, it may be necessary to manually define the individual input and/or output variables used by that shader by setting the respective XML attribute(s) for varying variables, vertex attributes or texture samplers below, if they cannot be determined at run-time.
XML Elements
- XML Resource Object Attributes:
-
shaderType="UNDEFINED" [IEnums::ShaderType]
The shader type, either VERTEX or FRAGMENT. If not defined, the resource loader tries to auto-detect the actual type.
defines="" [String]
A comma-separated array of strings defining preprocessor definitions.
constants="" [String]
A comma-separated array of strings defining constant variable values.
attributeItem.N="" [IEnums::AttributeItem]
The predefined item for attribute N.
attributeType.N="" [IEnums::AttributeType]
The data type for attribute N.
varyingName.N="" [String]
The name for varying variable N.
varyingType.N="" [IEnums::VaryingType]
The data type for varying variable N.
textureSemantic.N.C="" [IEnums::TextureSemantic]
The semantic for texture sampler N and color channel C (r, g, b or a).
textureSemanticIndex.N.C="0" [UInt32]
The semantic index for texture sampler N and color channel C (r, g, b or a).
textureType.N="FLAT" [IEnums::TextureType]
The sampler type for texture sampler N.
The documentation for this class was generated from the following file:
- murl_resource_shader.h