Axmol Engine 2.4.0-258ceca
Loading...
Searching...
No Matches
ShaderModuleMTL Class Reference

To Create a vertex or fragment shader. More...

#include <ShaderModuleMTL.h>

Inherits ShaderModule.

Public Member Functions

 ShaderModuleMTL (id< MTLDevice > mtlDevice, ShaderStage stage, std::string_view source)
 
id< MTLFunction > getMTLFunction () const
 Get MTLFunction object.
 
const hlookup::string_map< UniformInfo > & getAllActiveUniformInfo () const
 Get all uniformInfos.
 
const int getMaxLocation () const
 Get maximum uniform location.
 
const hlookup::string_map< AttributeBindInfo > & getAttributeInfo () const
 Get active attribute informations.
 
const UniformInfo & getUniformInfo (Uniform name) const
 Get uniform info by engine built-in uniform enum name.
 
const UniformInfo & getUniformInfo (std::string_view name) const
 Get uniform info by name.
 
int getAttributeLocation (Attribute name) const
 Get attribute location by engine built-in attribute enum name.
 
int getAttributeLocation (std::string_view name)
 Get attribute location by attribute name.
 
std::size_t getUniformBufferSize () const
 Get uniform buffer size in bytes that holds all the uniforms.
 
- Public Member Functions inherited from ShaderModule
ShaderStage getShaderStage () const
 Get shader stage.
 
- Public Member Functions inherited from Object
void retain ()
 Retains the ownership.
 
void release ()
 Releases the ownership immediately.
 
Objectautorelease ()
 Releases the ownership sometime soon automatically.
 
unsigned int getReferenceCount () const
 Returns the Object's current reference count.
 
virtual ~Object ()
 Destructor.
 

Additional Inherited Members

- Public Attributes inherited from Object
unsigned int _ID
 object id, ScriptSupport need public _ID
 
int _luaID
 Lua reference id.
 

Detailed Description

To Create a vertex or fragment shader.

Constructor & Destructor Documentation

◆ ShaderModuleMTL()

ShaderModuleMTL ( id< MTLDevice > mtlDevice,
ShaderStage stage,
std::string_view source )
Parameters
mtlDeviceThe device for which MTLFunction object was created.
stageSpecify what kinds of shader to be created.
sourceSpecify the shader source.

Member Function Documentation

◆ getMTLFunction()

id< MTLFunction > getMTLFunction ( ) const
inline

Get MTLFunction object.

Returns
A MTLFunction object.

◆ getAllActiveUniformInfo()

const hlookup::string_map< UniformInfo > & getAllActiveUniformInfo ( ) const
inline

Get all uniformInfos.

Returns
The uniformInfos.

◆ getMaxLocation()

const int getMaxLocation ( ) const
inline

Get maximum uniform location.

Returns
Maximum uniform location.

◆ getAttributeInfo()

const hlookup::string_map< AttributeBindInfo > & getAttributeInfo ( ) const
inline

Get active attribute informations.

Returns
Active attribute informations. key is attribute name and Value is corresponding attribute info.

◆ getUniformInfo() [1/2]

const UniformInfo & getUniformInfo ( Uniform name) const

Get uniform info by engine built-in uniform enum name.

Parameters
nameSpecifies the engine built-in uniform enum name.
Returns
The uniform location.

◆ getUniformInfo() [2/2]

const UniformInfo & getUniformInfo ( std::string_view name) const

Get uniform info by name.

Parameters
uniformSpecifies the uniform name.
Returns
The uniform location.

◆ getAttributeLocation() [1/2]

int getAttributeLocation ( Attribute name) const

Get attribute location by engine built-in attribute enum name.

Parameters
nameSpecifies the engine built-in attribute enum name.
Returns
The attribute location.

◆ getAttributeLocation() [2/2]

int getAttributeLocation ( std::string_view name)

Get attribute location by attribute name.

Parameters
nameSpecifies the attribute name.
Returns
The attribute location.

◆ getUniformBufferSize()

std::size_t getUniformBufferSize ( ) const
inline

Get uniform buffer size in bytes that holds all the uniforms.

Returns
The uniform buffer size.

The documentation for this class was generated from the following file: