#include <ShProgram.hpp>
Collaboration diagram for SH::ShProgram< T >:
Public Member Functions | |
ShProgram (const ShProgram &other) | |
ShProgram (const std::string &target) | |
ShProgram (const ShProgramNodePtr &node) | |
ShProgram & | operator= (const ShProgram &other) |
ShProgramNodeCPtr | node () const |
Obtain the node which this ShProgram wraps. | |
ShProgramNodePtr | node () |
Obtain the node which this ShProgram wraps. | |
void | compile (const ShPointer< ShBackend > &backend) |
Forcefully compile this program for a particular backend, even if it has been compiled previously. | |
void | compile (const std::string &target, const ShPointer< ShBackend > &backend) |
Forcefully compile this program for a particular backend, even if it has been compiled previously. | |
std::string | describe_interface () const |
Obtain a listing of the inputs, outputs and uniforms used by this program. | |
ShPointer< ShBackendCode > | code () |
Obtain the code for currently active backend. | |
ShPointer< ShBackendCode > | code (const ShPointer< ShBackend > &backend) |
Obtain the code for a particular backend. | |
ShPointer< ShBackendCode > | code (const std::string &target, const ShPointer< ShBackend > &backend) |
Obtain the code for a particular backend. Generates it if necessary. | |
void | updateUniform (const ShVariableNodePtr &uniform) |
Notify this program that a uniform variable has changed. | |
std::string | target () const |
std::string & | target () |
It may be useful to change a program's target sometimes. | |
ShProgramNode::VarList::const_iterator | inputs_begin () const |
ShProgramNode::VarList::const_iterator | inputs_end () const |
ShProgramNode::VarList::const_iterator | outputs_begin () const |
ShProgramNode::VarList::const_iterator | outputs_end () const |
ShProgramNode::VarList::const_iterator | temps_begin () const |
ShProgramNode::VarList::const_iterator | temps_end () const |
ShProgramNode::VarList::const_iterator | constants_begin () const |
ShProgramNode::VarList::const_iterator | constants_end () const |
ShProgramNode::VarList::const_iterator | uniforms_begin () const |
ShProgramNode::VarList::const_iterator | uniforms_end () const |
ShProgramNode::TexList::const_iterator | textures_begin () const |
ShProgramNode::TexList::const_iterator | textures_end () const |
ShProgramNode::ChannelList::const_iterator | channels_begin () const |
ShProgramNode::ChannelList::const_iterator | channels_end () const |
ShProgramNode::PaletteList::const_iterator | palettes_begin () const |
ShProgramNode::PaletteList::const_iterator | palettes_end () const |
template<typename T0> | |
ShProgram | operator() (const ShChannel< T0 > &t0) const |
ShProgram | operator() (const ShStream &s0) const |
template<typename T0, typename T1> | |
ShProgram | operator() (const ShChannel< T0 > &t0, const ShChannel< T1 > &t1) const |
ShProgram | operator() (const ShStream &s0, const ShStream &s1) const |
template<typename T0, typename T1, typename T2> | |
ShProgram | operator() (const ShChannel< T0 > &t0, const ShChannel< T1 > &t1, const ShChannel< T2 > &t2) const |
ShProgram | operator() (const ShStream &s0, const ShStream &s1, const ShStream &s2) const |
template<typename T0, typename T1, typename T2, typename T3> | |
ShProgram | operator() (const ShChannel< T0 > &t0, const ShChannel< T1 > &t1, const ShChannel< T2 > &t2, const ShChannel< T3 > &t3) const |
ShProgram | operator() (const ShStream &s0, const ShStream &s1, const ShStream &s2, const ShStream &s3) const |
template<typename T0, typename T1, typename T2, typename T3, typename T4> | |
ShProgram | operator() (const ShChannel< T0 > &t0, const ShChannel< T1 > &t1, const ShChannel< T2 > &t2, const ShChannel< T3 > &t3, const ShChannel< T4 > &t4) const |
ShProgram | operator() (const ShStream &s0, const ShStream &s1, const ShStream &s2, const ShStream &s3, const ShStream &s4) const |
Definition at line 41 of file ShProgram.hpp.
|
Obtain the code for a particular backend. Generates it if necessary. This operation will fail if this program does not have a particular target. Definition at line 86 of file ShProgram.hpp. |
|
Obtain the code for currently active backend. This operation will fail if this program does not have a particular target. Definition at line 81 of file ShProgram.hpp. |
|
Forcefully compile this program for a particular backend, even if it has been compiled previously. Use code() to obtain the actual code. Definition at line 66 of file ShProgram.hpp. |
|
Forcefully compile this program for a particular backend, even if it has been compiled previously. Use code() to obtain the actual code. This operation will fail if this program does not have a particular target. Definition at line 62 of file ShProgram.hpp. |