All Classes Files Functions Variables Typedefs Pages
Public Member Functions | Public Attributes | List of all members
HotProgram Class Reference

Description

Hot version of Program.

Represents a Program that is currently active, which means: All pipeline stages are active and will be used. You need a HotProgram to draw anything.

See Also
Program

Inherits GLObject.

Public Member Functions

void draw (const HotTexCont &texCont, const VertexSeq &data, PrimitiveType type, int offset=0, int count=-1)
 Draws a VertexSeq with one or more textures. More...
 
void draw (const VertexSeq &data, PrimitiveType type, int offset=0, int count=-1)
 Draws a VertexSeq without textures. More...
 
- Public Member Functions inherited from SingleBase
void setServiceContext (config::ServiceContext cnt)
 
template<typename Ex , LogLevel LL, typename... Ts>
Error Notice Debug void logAndThrow (Ts...args)
 

Public Attributes

internal::UniformSet uniform
 Uniform variables of the current Program.
 

Additional Inherited Members

- Protected Member Functions inherited from GLContextFreeObject
template<typename... Ts>
void checkGLError (Ts...)
 
template<typename... Ts>
void checkGLWarning (Ts...)
 
template<typename... Ts>
void logThrowGL (Ts...)
 
- Protected Member Functions inherited from SingleBase
template<typename... Ts>
void logCritical (Ts...args)
 
template<typename... Ts>
void logError (Ts...args)
 
template<typename... Ts>
void logWarning (Ts...args)
 
template<typename... Ts>
void logNotice (Ts...args)
 
template<typename... Ts>
void log (Ts...args)
 
template<typename... Ts>
void logDebug (Ts...args)
 
template<typename Ex , LogLevel LL = LogLevel::Error, typename... Ts>
void logAndThrow (Ts...args)
 
- Protected Member Functions inherited from NotCopyable
 NotCopyable (const NotCopyable &)=delete
 
NotCopyableoperator= (const NotCopyable &)=delete
 
- Static Protected Attributes inherited from GLContextFreeObject
static constexpr PrintGL GLERR = PrintGL::Error
 

Member Function Documentation

void draw ( const HotTexCont texCont,
const VertexSeq data,
PrimitiveType  type,
int  offset = 0,
int  count = -1 
)

Draws a VertexSeq with one or more textures.

Sends all vertices of the sequence into the pipeline to process them. OpenGL processes them as primitives of the type specified.

Parameters
texContA HotTexCont containing one or more textures. A Shader can only access the textures in this container.
dataThe VertexSeq whose vertices will be drawn.
typeThe PrimitiveType of the vertex data.
offsetOffset in the vertex sequence (default 0).
countSpecifies how many vertices out of the sequence are used. The default value (-1) causes the whole vertex sequence to be drawn.
void draw ( const VertexSeq data,
PrimitiveType  type,
int  offset = 0,
int  count = -1 
)

Draws a VertexSeq without textures.

See the other overload of draw() for more information.