|
ClanLib
2.3.7
|
SWRender Graphic Context. More...
#include <swr_program_object.h>

Public Member Functions | |
| CL_ProgramObject_SWRender () | |
| Construction. More... | |
| CL_ProgramObject_SWRender (CL_SoftwareProgram *program, bool is_sprite_program) | |
| Create a SWRender specific graphics context. More... | |
| CL_ProgramObject_SWRender (const CL_ProgramObject &program_object) | |
| Create a SWRender specific program object. More... | |
| ~CL_ProgramObject_SWRender () | |
| CL_SoftwareProgram * | get_program () const |
| Attributes. More... | |
| CL_SWRenderProgramObjectProvider * | get_provider () const |
| Retrieves the provider. More... | |
| bool | is_sprite_program () const |
| Returns true if this program object was created as a sprite program. More... | |
Attributes | |
| bool | is_null () const |
| Returns true if this object is invalid. More... | |
| void | throw_if_null () const |
| Throw an exception if this object is invalid. More... | |
| unsigned int | get_handle () const |
| Returns the OpenGL program object handle. More... | |
| std::vector< CL_ShaderObject > | get_shaders () const |
| Returns the shaders attached to the program object. More... | |
| CL_String | get_info_log () const |
| Returns the current info log for the program object. More... | |
| int | get_attribute_count () const |
| Returns the count of active attributes. More... | |
| std::vector< CL_ProgramAttribute > | get_attributes () const |
| Returns the active attributes. More... | |
| int | get_attribute_location (const CL_StringRef &name) const |
| Returns the location of a named active attribute. More... | |
| int | get_uniform_count () const |
| Returns the count of active uniform variables. More... | |
| std::vector< CL_ProgramUniform > | get_uniforms () const |
| Returns the active uniforms. More... | |
| int | get_uniform_location (const CL_StringRef &name) const |
| Returns the location of a named uniform variable. More... | |
Operations | |
| bool | operator== (const CL_ProgramObject &other) const |
| Equality operator. More... | |
| void | attach (const CL_ShaderObject &obj) |
| Add shader to program object. More... | |
| void | detach (const CL_ShaderObject &obj) |
| Remove shader from program object. More... | |
| void | bind_attribute_location (int index, const CL_StringRef &name) |
| Bind attribute to specific location. More... | |
| void | bind_frag_data_location (int color_number, const CL_StringRef &name) |
| Bind shader out variable a specific color buffer location. More... | |
| bool | link () |
| Link program. More... | |
| bool | validate () |
| Validate program. More... | |
| void | set_uniform1i (const CL_StringRef &name, int value_a) |
| Set uniform variable(s). More... | |
| void | set_uniform2i (const CL_StringRef &name, int value_a, int value_b) |
| Set uniform2i. More... | |
| void | set_uniform2i (const CL_StringRef &name, CL_Vec2i vec) |
| Set uniform2i. More... | |
| void | set_uniform3i (const CL_StringRef &name, int value_a, int value_b, int value_c) |
| Set uniform2i. More... | |
| void | set_uniform3i (const CL_StringRef &name, CL_Vec3i vec) |
| Set uniform3i. More... | |
| void | set_uniform4i (const CL_StringRef &name, int value_a, int value_b, int value_c, int value_d) |
| Set uniform4i. More... | |
| void | set_uniform4i (const CL_StringRef &name, CL_Vec4i vec) |
| Set uniform4i. More... | |
| void | set_uniformiv (const CL_StringRef &name, int size, int count, int *data) |
| Set uniformiv. More... | |
| void | set_uniformiv (const CL_StringRef &name, int count, CL_Vec2i *data) |
| Set uniformiv. More... | |
| void | set_uniformiv (const CL_StringRef &name, int count, CL_Vec3i *data) |
| Set uniformiv. More... | |
| void | set_uniformiv (const CL_StringRef &name, int count, CL_Vec4i *data) |
| Set uniformiv. More... | |
| void | set_uniform2s (const CL_StringRef &name, CL_Vec2s vec) |
| Set uniform2s. More... | |
| void | set_uniform3s (const CL_StringRef &name, CL_Vec3s vec) |
| Set uniform3s. More... | |
| void | set_uniform4s (const CL_StringRef &name, CL_Vec4s vec) |
| Set uniform4s. More... | |
| void | set_uniform2b (const CL_StringRef &name, CL_Vec2b vec) |
| Set uniform2b. More... | |
| void | set_uniform3b (const CL_StringRef &name, CL_Vec3b vec) |
| Set uniform3b. More... | |
| void | set_uniform4b (const CL_StringRef &name, CL_Vec4b vec) |
| Set uniform4b. More... | |
| void | set_uniform1f (const CL_StringRef &name, float value_a) |
| Set uniform1f. More... | |
| void | set_uniform2f (const CL_StringRef &name, float value_a, float value_b) |
| Set uniform2f. More... | |
| void | set_uniform2f (const CL_StringRef &name, CL_Vec2f vec) |
| Set uniform2f. More... | |
| void | set_uniform3f (const CL_StringRef &name, float value_a, float value_b, float value_c) |
| Set uniform2f. More... | |
| void | set_uniform3f (const CL_StringRef &name, CL_Vec3f vec) |
| Set uniform3f. More... | |
| void | set_uniform4f (const CL_StringRef &name, float value_a, float value_b, float value_c, float value_d) |
| Set uniform4f. More... | |
| void | set_uniform4f (const CL_StringRef &name, CL_Vec4f vec) |
| Set uniform4f. More... | |
| void | set_uniformfv (const CL_StringRef &name, int size, int count, float *data) |
| Set uniformfv. More... | |
| void | set_uniformfv (const CL_StringRef &name, int count, CL_Vec2f *data) |
| Set uniformfv. More... | |
| void | set_uniformfv (const CL_StringRef &name, int count, CL_Vec3f *data) |
| Set uniformfv. More... | |
| void | set_uniformfv (const CL_StringRef &name, int count, CL_Vec4f *data) |
| Set uniformfv. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, int size, int count, bool transpose, float *data) |
| Set uniform matrices. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, CL_Mat2f matrix) |
| Set uniform matrix. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, CL_Mat3f matrix) |
| Set uniform matrix. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, CL_Mat4f matrix) |
| Set uniform matrix. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat2f *matrix) |
| Set uniform matrix. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat3f *matrix) |
| Set uniform matrix. More... | |
| void | set_uniform_matrix (const CL_StringRef &name, int count, CL_Mat4f *matrix) |
| Set uniform matrix. More... | |
Static Public Member Functions | |
Construction | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &resource_id, CL_ResourceManager *resman) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &fragment_fullname) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &geometry_fullname, const CL_StringRef &fragment_fullname) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &geometry_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &fragment_file) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &geometry_file, CL_IODevice &fragment_file) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &fragment_fullname) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory) |
| Load. More... | |
| static CL_ProgramObject | load (CL_GraphicContext &gc, CL_IODevice &fragment_file) |
| Load. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &fragment_fullname) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_fullname, const CL_StringRef &geometry_fullname, const CL_StringRef &fragment_fullname) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, const CL_StringRef &vertex_filename, const CL_StringRef &geometry_filename, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &fragment_file) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, CL_IODevice &vertex_file, CL_IODevice &geometry_file, CL_IODevice &fragment_file) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, const CL_StringRef &fragment_fullname) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, const CL_StringRef &fragment_filename, const CL_VirtualDirectory &directory) |
| Load and link. More... | |
| static CL_ProgramObject | load_and_link (CL_GraphicContext &gc, CL_IODevice &fragment_file) |
| Load and link. More... | |
SWRender Graphic Context.
|
inline |
Construction.
| CL_ProgramObject_SWRender::CL_ProgramObject_SWRender | ( | CL_SoftwareProgram * | program, |
| bool | is_sprite_program | ||
| ) |
Create a SWRender specific graphics context.
| program | = The software program |
| is_sprite_program | = true when the specified triangles will form rectangles (This is slightly faster) |
| CL_ProgramObject_SWRender::CL_ProgramObject_SWRender | ( | const CL_ProgramObject & | program_object) |
Create a SWRender specific program object.
An exception is thrown if the program object is not a SWRender object
| CL_ProgramObject_SWRender::~CL_ProgramObject_SWRender | ( | ) |
|
inherited |
Add shader to program object.
|
inherited |
Bind attribute to specific location.
This function must be called before linking.
|
inherited |
Bind shader out variable a specific color buffer location.
This function must be called before linking.
|
inherited |
Remove shader from program object.
|
inherited |
Returns the count of active attributes.
|
inherited |
Returns the location of a named active attribute.
|
inherited |
Returns the active attributes.
|
inherited |
Returns the OpenGL program object handle.
|
inherited |
Returns the current info log for the program object.
| CL_SoftwareProgram* CL_ProgramObject_SWRender::get_program | ( | ) | const |
Attributes.
Get the attached program
| CL_SWRenderProgramObjectProvider* CL_ProgramObject_SWRender::get_provider | ( | ) | const |
Retrieves the provider.
|
inherited |
Returns the shaders attached to the program object.
|
inherited |
Returns the count of active uniform variables.
|
inherited |
Returns the location of a named uniform variable.
|
inherited |
Returns the active uniforms.
|
inlineinherited |
Returns true if this object is invalid.
| bool CL_ProgramObject_SWRender::is_sprite_program | ( | ) | const |
Returns true if this program object was created as a sprite program.
|
inherited |
Link program.
If the linking fails, get_info_log() will return the link log.
|
staticinherited |
Load.
| gc | = Graphic Context |
| resource_id | = String Ref |
| resman | = Resource Manager |
|
staticinherited |
Load.
| gc | = Graphic Context |
| vertex_fullname | = String Ref |
| fragment_fullname | = String Ref |
|
staticinherited |
Load.
| gc | = Graphic Context |
| vertex_fullname | = String Ref |
| geometry_fullname | = String Ref |
| fragment_fullname | = String Ref |
|
staticinherited |
Load.
| gc | = Graphic Context |
| vertex_filename | = String Ref |
| fragment_filename | = String Ref |
| directory | = Virtual Directory |
|
staticinherited |
Load.
| gc | = Graphic Context |
| vertex_filename | = String Ref |
| geometry_filename | = String Ref |
| fragment_filename | = String Ref |
| directory | = Virtual Directory |
|
staticinherited |
Load.
| gc | = Graphic Context |
| vertex_file | = IODevice |
| fragment_file | = IODevice |
|
staticinherited |
Load.
| gc | = Graphic Context |
| vertex_file | = IODevice |
| geometry_file | = IODevice |
| fragment_file | = IODevice |
|
staticinherited |
Load.
| gc | = Graphic Context |
| fragment_fullname | = String Ref |
|
staticinherited |
Load.
| gc | = Graphic Context |
| fragment_filename | = String Ref |
| directory | = Virtual Directory |
|
staticinherited |
Load.
| gc | = Graphic Context |
| fragment_file | = IODevice |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| vertex_fullname | = String Ref |
| fragment_fullname | = String Ref |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| vertex_fullname | = String Ref |
| geometry_fullname | = String Ref |
| fragment_fullname | = String Ref |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| vertex_filename | = String Ref |
| fragment_filename | = String Ref |
| directory | = Virtual Directory |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| vertex_filename | = String Ref |
| geometry_filename | = String Ref |
| fragment_filename | = String Ref |
| directory | = Virtual Directory |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| vertex_file | = IODevice |
| fragment_file | = IODevice |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| vertex_file | = IODevice |
| geometry_file | = IODevice |
| fragment_file | = IODevice |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| fragment_fullname | = String Ref |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| fragment_filename | = String Ref |
| directory | = Virtual Directory |
|
staticinherited |
Load and link.
| gc | = Graphic Context |
| fragment_file | = IODevice |
|
inherited |
Equality operator.
|
inherited |
Set uniform1f.
| name | = String Ref |
| value_a | = value |
|
inherited |
Set uniform variable(s).
| name | = String Ref |
| value_a | = value |
|
inlineinherited |
Set uniform2b.
| name | = String Ref |
| vec | = Vec2b |
References CL_Vec2< Type >::x, and CL_Vec2< Type >::y.
|
inherited |
Set uniform2f.
| name | = String Ref |
| value_a | = value |
| value_b | = value |
|
inlineinherited |
Set uniform2f.
| name | = String Ref |
| vec | = Vec2f |
References CL_ProgramObject::set_uniform2f(), CL_Vec2< Type >::x, and CL_Vec2< Type >::y.
Referenced by CL_ProgramObject::set_uniform2f().
|
inherited |
Set uniform2i.
| name | = String Ref |
| value_a | = value |
| value_b | = value |
|
inlineinherited |
Set uniform2i.
| name | = String Ref |
| vec | = Vec2i |
References CL_ProgramObject::set_uniform2i(), CL_Vec2< Type >::x, and CL_Vec2< Type >::y.
Referenced by CL_ProgramObject::set_uniform2i().
|
inlineinherited |
Set uniform2s.
| name | = String Ref |
| vec | = Vec2s |
References CL_Vec2< Type >::x, and CL_Vec2< Type >::y.
|
inlineinherited |
Set uniform3b.
| name | = String Ref |
| vec | = Vec3b |
References CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.
|
inherited |
Set uniform2f.
| name | = String Ref |
| value_a | = value |
| value_b | = value |
| value_c | = value |
|
inlineinherited |
Set uniform3f.
| name | = String Ref |
| vec | = Vec3f |
References CL_ProgramObject::set_uniform3f(), CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.
Referenced by CL_ProgramObject::set_uniform3f().
|
inherited |
Set uniform2i.
| name | = String Ref |
| value_a | = value |
| value_b | = value |
| value_c | = value |
|
inlineinherited |
Set uniform3i.
| name | = String Ref |
| vec | = Vec3i |
References CL_ProgramObject::set_uniform3i(), CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.
Referenced by CL_ProgramObject::set_uniform3i().
|
inlineinherited |
Set uniform3s.
| name | = String Ref |
| vec | = Vec3s |
References CL_Vec3< Type >::x, CL_Vec3< Type >::y, and CL_Vec3< Type >::z.
|
inlineinherited |
Set uniform4b.
| name | = String Ref |
| vec | = Vec4b |
References CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.
|
inherited |
Set uniform4f.
| name | = String Ref |
| value_a | = value |
| value_b | = value |
| value_c | = value |
| value_d | = value |
|
inlineinherited |
Set uniform4f.
| name | = String Ref |
| vec | = Vec4f |
References CL_ProgramObject::set_uniform4f(), CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.
Referenced by CL_ProgramObject::set_uniform4f().
|
inherited |
Set uniform4i.
| name | = String Ref |
| value_a | = value |
| value_b | = value |
| value_c | = value |
| value_d | = value |
|
inlineinherited |
Set uniform4i.
| name | = String Ref |
| vec | = Vec4i |
References CL_ProgramObject::set_uniform4i(), CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.
Referenced by CL_ProgramObject::set_uniform4i().
|
inlineinherited |
Set uniform4s.
| name | = String Ref |
| vec | = Vec4s |
References CL_Vec4< Type >::w, CL_Vec4< Type >::x, CL_Vec4< Type >::y, and CL_Vec4< Type >::z.
|
inherited |
Set uniform matrices.
|
inlineinherited |
Set uniform matrix.
| name | = String Ref |
| matrix | = Mat2f |
References CL_Mat2< Type >::matrix, and CL_ProgramObject::set_uniform_matrix().
Referenced by CL_ProgramObject::set_uniform_matrix().
|
inlineinherited |
Set uniform matrix.
| name | = String Ref |
| matrix | = Mat3f |
References CL_Mat3< Type >::matrix, and CL_ProgramObject::set_uniform_matrix().
Referenced by CL_ProgramObject::set_uniform_matrix().
|
inlineinherited |
Set uniform matrix.
| name | = String Ref |
| matrix | = Mat4f |
References CL_Mat4< Type >::matrix, and CL_ProgramObject::set_uniform_matrix().
Referenced by CL_ProgramObject::set_uniform_matrix().
|
inlineinherited |
Set uniform matrix.
| name | = String Ref |
| count | = value |
| matrix | = Mat2f |
References CL_Mat2< Type >::matrix, and CL_ProgramObject::set_uniform_matrix().
Referenced by CL_ProgramObject::set_uniform_matrix().
|
inlineinherited |
Set uniform matrix.
| name | = String Ref |
| count | = value |
| matrix | = Mat3f |
References CL_Mat3< Type >::matrix, and CL_ProgramObject::set_uniform_matrix().
Referenced by CL_ProgramObject::set_uniform_matrix().
|
inlineinherited |
Set uniform matrix.
| name | = String Ref |
| count | = value |
| matrix | = Mat4f |
References CL_Mat4< Type >::matrix, and CL_ProgramObject::set_uniform_matrix().
Referenced by CL_ProgramObject::set_uniform_matrix().
|
inherited |
Set uniformfv.
| name | = String Ref |
| size | = value |
| count | = value |
| data | = value |
|
inlineinherited |
Set uniformfv.
| name | = String Ref |
| count | = value |
| data | = Vec2f |
References CL_ProgramObject::set_uniformfv().
Referenced by CL_ProgramObject::set_uniformfv().
|
inlineinherited |
Set uniformfv.
| name | = String Ref |
| count | = value |
| data | = Vec3f |
References CL_ProgramObject::set_uniformfv().
Referenced by CL_ProgramObject::set_uniformfv().
|
inlineinherited |
Set uniformfv.
| name | = String Ref |
| count | = value |
| data | = Vec4f |
References CL_ProgramObject::set_uniformfv().
Referenced by CL_ProgramObject::set_uniformfv().
|
inherited |
Set uniformiv.
| name | = String Ref |
| size | = value |
| count | = value |
| data | = value |
|
inlineinherited |
Set uniformiv.
| name | = String Ref |
| count | = value |
| data | = Vec2i |
References CL_ProgramObject::set_uniformiv().
Referenced by CL_ProgramObject::set_uniformiv().
|
inlineinherited |
Set uniformiv.
| name | = String Ref |
| count | = value |
| data | = Vec3i |
References CL_ProgramObject::set_uniformiv().
Referenced by CL_ProgramObject::set_uniformiv().
|
inlineinherited |
Set uniformiv.
| name | = String Ref |
| count | = value |
| data | = Vec4i |
References CL_ProgramObject::set_uniformiv().
Referenced by CL_ProgramObject::set_uniformiv().
|
inherited |
Throw an exception if this object is invalid.
|
inherited |
Validate program.
If the validation fails, get_info_log() will return the validation log.
1.8.4