#include <ShProgram.hpp>
Inheritance diagram for SH::ShProgram:


Public Member Functions | |
| ShProgram () | |
| 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. | |
| bool | is_compiled () const |
| Check whether the program has been compiled for the default backend. | |
| bool | is_compiled (const std::string &target) const |
| Check whether the program has been compiled for the default backend and the given target. | |
| std::string | describe_interface () const |
| Obtain a listing of the inputs, outputs and uniforms used by this program. | |
| std::string | describe_bindings () const |
| Obtain a listing stating which attributes will get bound to which program inputs under the current backend. | |
| std::string | describe_bindings (const std::string &target) const |
| Obtain a listing stating which attributes will get bound to which program inputs for the given target. | |
| 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 | backend_name () const |
| Return the name of the backend for which the program is currently compiled. | |
| std::string | target () const |
| std::string & | target () |
| It may be useful to change a program's target sometimes. | |
| ShProgramNode::VarList::const_iterator | begin_inputs () const |
| ShProgramNode::VarList::const_iterator | end_inputs () const |
| ShProgramNode::VarList::const_iterator | begin_outputs () const |
| ShProgramNode::VarList::const_iterator | end_outputs () const |
| ShProgramNode::VarList::const_iterator | begin_temps () const |
| ShProgramNode::VarList::const_iterator | end_temps () const |
| ShProgramNode::VarList::const_iterator | begin_constants () const |
| ShProgramNode::VarList::const_iterator | end_constants () const |
| ShProgramNode::VarList::const_iterator | begin_parameters () const |
| ShProgramNode::VarList::const_iterator | end_parameters () const |
| ShProgramNode::VarList::const_iterator | begin_all_parameters () const |
| ShProgramNode::VarList::const_iterator | end_all_parameters () const |
| ShProgramNode::TexList::const_iterator | begin_textures () const |
| ShProgramNode::TexList::const_iterator | end_textures () const |
| ShProgramNode::ChannelList::const_iterator | begin_channels () const |
| ShProgramNode::ChannelList::const_iterator | end_channels () const |
| ShProgramNode::PaletteList::const_iterator | begin_palettes () const |
| ShProgramNode::PaletteList::const_iterator | end_palettes () 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 |
| ShProgram | operator() (const ShRecord &rec) const |
| ShProgram | operator() (const ShVariable &v0) const |
| ShProgram | operator() (const ShVariable &v0, const ShVariable &v1) const |
| ShProgram | operator() (const ShVariable &v0, const ShVariable &v1, const ShVariable &v2) const |
| ShProgram | operator() (const ShVariable &v0, const ShVariable &v1, const ShVariable &v2, const ShVariable &v3) const |
Definition at line 35 of file ShProgram.hpp.
|
|
Return the name of the backend for which the program is currently compiled. Returns an empty string if the program is not yet compiled. Definition at line 125 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 106 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 101 of file ShProgram.hpp. Referenced by SH::shBind(), and SH::shUnbind(). |
|
||||||||||||
|
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 60 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 55 of file ShProgram.hpp. Referenced by SH::shCompile(). |
|
|
Check whether the program has been compiled for the default backend. This operation will fail if this program does not have particular target. Definition at line 68 of file ShProgram.hpp. |
1.4.6