srp
software rendering pipeline
Loading...
Searching...
No Matches

Object managing the runtime state. More...

Collaboration diagram for Context:

Files

file  context.h
 
file  message_callback.h
 
enum  SRPProvokingVertexMode { SRP_PROVOKING_VERTEX_FIRST , SRP_PROVOKING_VERTEX_LAST }
 
enum  SRPFrontFace { SRP_FRONT_FACE_CCW , SRP_FRONT_FACE_CW }
 
enum  SRPCullFace { SRP_CULL_FACE_NONE , SRP_CULL_FACE_FRONT , SRP_CULL_FACE_BACK , SRP_CULL_FACE_FRONT_AND_BACK }
 
enum  SRPPolygonMode { SRP_POLYGON_MODE_FILL , SRP_POLYGON_MODE_LINE , SRP_POLYGON_MODE_POINT }
 
enum  SRPContextParameter {
  SRP_CONTEXT_MESSAGE_CALLBACK_USER_PARAMETER , SRP_CONTEXT_PROVOKING_VERTEX_MODE , SRP_CONTEXT_FRONT_FACE , SRP_CONTEXT_CULL_FACE ,
  SRP_CONTEXT_POLYGON_MODE , SRP_CONTEXT_POINT_SIZE
}
 
typedef enum SRPProvokingVertexMode SRPProvokingVertexMode
 
typedef enum SRPFrontFace SRPFrontFace
 
typedef enum SRPCullFace SRPCullFace
 
typedef enum SRPPolygonMode SRPPolygonMode
 
typedef struct SRPContext SRPContext
 
typedef enum SRPContextParameter SRPContextParameter
 
SRPContext srpContext
 
void srpNewContext (SRPContext *pContext)
 
void srpContextSetMessageCallback (SRPMessageCallbackType callback)
 
SRPMessageCallbackType srpContextGetMessageCallback ()
 
void srpContextSetP (SRPContextParameter contextParameter, void *data)
 
void srpContextSetI (SRPContextParameter contextParameter, int data)
 
void srpContextSetF (SRPContextParameter contextParameter, float data)
 
void * srpContextGetP (SRPContextParameter contextParameter)
 
int srpContextGetI (SRPContextParameter contextParameter)
 
float srpContextGetF (SRPContextParameter contextParameter)
 
enum  SRPMessageType { SRP_MESSAGE_ERROR , SRP_MESSAGE_WARNING }
 
enum  SRPMessageSeverity { SRP_MESSAGE_SEVERITY_LOW , SRP_MESSAGE_SEVERITY_MODERATE , SRP_MESSAGE_SEVERITY_HIGH }
 
typedef enum SRPMessageType SRPMessageType
 
typedef enum SRPMessageSeverity SRPMessageSeverity
 
typedef void(* SRPMessageCallbackType) (SRPMessageType type, SRPMessageSeverity severity, const char *sourceFunction, const char *message, void *userParameter)
 

Detailed Description

Object managing the runtime state.

Typedef Documentation

◆ SRPContext

typedef struct SRPContext SRPContext

Holds runtime settings. This always needs to be declared as SRPContext srpContext in user programs and initialized with srpNewContext()

◆ SRPContextParameter

◆ SRPCullFace

typedef enum SRPCullFace SRPCullFace

Cull face mode

◆ SRPFrontFace

typedef enum SRPFrontFace SRPFrontFace

Front face mode

◆ SRPMessageCallbackType

typedef void(* SRPMessageCallbackType) (SRPMessageType type, SRPMessageSeverity severity, const char *sourceFunction, const char *message, void *userParameter)

A function of this type may be defined by user to handle the messages generated by the library (errors, warnings, etc.)

See also
SRPContext
Parameters
[in]typeThe type of the message
[in]severitySeverity of the message
[in]sourceFunctionString containing the name of the function which issued this callback
[in]messageMessage sent
[in]userParameterUser paramter pointer.
See also
SRPContext.messageCallbackUserParameter

◆ SRPMessageSeverity

Represents the message severity

See also
SRPMessageCallbackType

◆ SRPMessageType

Represents the message type (error, warning, etc.)

See also
SRPMessageCallbackType

◆ SRPPolygonMode

Polygon rendering mode

◆ SRPProvokingVertexMode

Which vertex is considered to be the provoking vertex

Enumeration Type Documentation

◆ SRPContextParameter

◆ SRPCullFace

Cull face mode

Enumerator
SRP_CULL_FACE_NONE 

Do not cull any face; default

SRP_CULL_FACE_FRONT 

Cull the front face

SRP_CULL_FACE_BACK 

Cull the back face Cull both front and back faces. Primitives that don't have a face (lines, points) are left as-is.

◆ SRPFrontFace

Front face mode

Enumerator
SRP_FRONT_FACE_CCW 

Counterclockwise; default

SRP_FRONT_FACE_CW 

Clockwise

◆ SRPMessageSeverity

Represents the message severity

See also
SRPMessageCallbackType
Enumerator
SRP_MESSAGE_SEVERITY_LOW 

Low severity

SRP_MESSAGE_SEVERITY_MODERATE 

Moderate severity

SRP_MESSAGE_SEVERITY_HIGH 

High severity

◆ SRPMessageType

Represents the message type (error, warning, etc.)

See also
SRPMessageCallbackType

◆ SRPPolygonMode

Polygon rendering mode

Enumerator
SRP_POLYGON_MODE_FILL 

Filled triangles; default

SRP_POLYGON_MODE_LINE 

Lines only (wireframe)

SRP_POLYGON_MODE_POINT 

Points only

◆ SRPProvokingVertexMode

Which vertex is considered to be the provoking vertex

Enumerator
SRP_PROVOKING_VERTEX_FIRST 

The first vertex of the primitive is its provoking vertex

SRP_PROVOKING_VERTEX_LAST 

The last vertex of the primitive is its provoking vertex (default)

Function Documentation

◆ srpContextGetF()

float srpContextGetF ( SRPContextParameter  contextParameter)

Get a float parameter in the context

Parameters
[in]contextParameterThe context parameter you want to get
Returns
Requested parameter or 0 on error

◆ srpContextGetI()

int srpContextGetI ( SRPContextParameter  contextParameter)

Get an integer/enum parameter in the context

Parameters
[in]contextParameterThe context parameter you want to get
Returns
Requested parameter or 0 on error

◆ srpContextGetMessageCallback()

SRPMessageCallbackType srpContextGetMessageCallback ( )

Get the current message callback function

Returns
The pointer to the current message callback function

◆ srpContextGetP()

void * srpContextGetP ( SRPContextParameter  contextParameter)

Get a pointer parameter in the context

Parameters
[in]contextParameterThe context parameter you want to get
Returns
Requested parameter or NULL on error

◆ srpContextSetF()

void srpContextSetF ( SRPContextParameter  contextParameter,
float  data 
)

Set a float parameter in the context

Parameters
[in]contextParameterThe context parameter you want to modify
[in]dataThe value you want to assign to specified context parameter

◆ srpContextSetI()

void srpContextSetI ( SRPContextParameter  contextParameter,
int  data 
)

Set an integer/enum parameter in the context

Parameters
[in]contextParameterThe context parameter you want to modify
[in]dataThe value you want to assign to specified context parameter

◆ srpContextSetMessageCallback()

void srpContextSetMessageCallback ( SRPMessageCallbackType  callback)

Set message callback function

Parameters
[in]callbackThe pointer to the message callback function

◆ srpContextSetP()

void srpContextSetP ( SRPContextParameter  contextParameter,
void *  data 
)

Set a pointer parameter in the context

Parameters
[in]contextParameterThe context parameter you want to modify
[in]dataThe pointer you want to assign to specified context parameter

◆ srpNewContext()

void srpNewContext ( SRPContext pContext)

Initialize the context

Parameters
[in]pContextThe pointer to context

Variable Documentation

◆ srpContext

SRPContext srpContext
extern

Global context declaration