The Vish Visualization Shell 0.3
Vish
List of all members
Wizt::VertexShader Class Reference

An OpenGL vertex shader. More...

#include <ocean/GLvish/Shader.hpp>

Inheritance diagram for Wizt::VertexShader:
Wizt::Shader MemCore::ReferenceBase< Shader >

Additional Inherited Members

- Public Types inherited from MemCore::ReferenceBase< Shader >
using reference_domain_t = Shader
 The type of the base class.
 
using SelfPtr_t = WeakPtr< Shader, Shader >
 Type for a pointer to this object itself.
 
- Public Member Functions inherited from Wizt::Shader
bool compile (const std::string &source, const string &srcfilename, unsigned lineNo)
 Compile this program from some GSGL source code.
 
std::string getSource () const
 Get the source code as stored by OpenGL.
 
std::string InfoLog () const
 Get the info log associated with this shader.
 
- Public Member Functions inherited from MemCore::ReferenceBase< Shader >
auto getObjectCountID () const noexcept
 Get a unique ID for this object in the given domain.
 
bool isIdentical (const WeakPtr< Shader, Shader > &PossibleSelf) const noexcept
 Check if this object is identical to the one used by the given pointer.
 
void mkAutoDestructive ()
 Marks this object as being automatically destructed, e.g.
 
refcount_t refcount () const noexcept
 The strong reference count.
 
 ReferenceBase (Shader *that) noexcept
 Constructor, initializes reference counter to zero.
 
const auto & self () const
 Return weak pointer to the object self.
 
refcount_t wrefcount () const noexcept
 The weak reference count.
 
- Protected Member Functions inherited from MemCore::ReferenceBase< Shader >
virtual void extremeUnction ()
 A virtual function that will be called just before the object is destroyed.
 
ReferenceBaseoperator= (const ReferenceBase &R)
 Protected assignment operator (should not be called).
 
void suicide ()
 Delete this.
 
virtual ~ReferenceBase ()
 Virtual destructor.
 

Detailed Description

An OpenGL vertex shader.

Special Output Variables (7.1 p42) access=RW
vec4 gl_Position; shader must write
float gl_PointSize; enable GL_VERTEX_PROGRAM_POINT_SIZE
vec4 gl_ClipVertex;
Attribute Inputs (7.3 p44) access=RO
attribute vec4 gl_Vertex;
attribute vec3 gl_Normal;
attribute vec4 gl_Color;
attribute vec4 gl_SecondaryColor;
attribute vec4 gl_MultiTexCoord0;
attribute vec4 gl_MultiTexCoord1;
attribute vec4 gl_MultiTexCoord2;
attribute vec4 gl_MultiTexCoord3;
attribute vec4 gl_MultiTexCoord4;
attribute vec4 gl_MultiTexCoord5;
attribute vec4 gl_MultiTexCoord6;
attribute vec4 gl_MultiTexCoord7;
attribute float gl_FogCoord;
Varying Outputs (7.6 p48) access=RW
varying vec4 gl_FrontColor;
varying vec4 gl_BackColor; enable GL_VERTEX_PROGRAM_TWO_SIDE
varying vec4 gl_FrontSecondaryColor;
varying vec4 gl_BackSecondaryColor;
varying vec4 gl_TexCoord[ ]; MAX=gl_MaxTextureCoords
varying float gl_FogFragCoord;

Default Shader:

void main(void)
{
gl_Position = ftransform();
}