The abstract base class for a shader resource. More...

#include "murl_resource_shader.h"

Inheritance diagram for Murl::Resource::Shader:

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 PropertyInfoGetPropertyInfo ()
 Get the class' property info struct. More...
 
static const AttributeInfoGetAttributeInfo ()
 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


Copyright © 2011-2024 Spraylight GmbH.