ImpsEngine  1.0.0
A software library collection for end user applications.
IAProgram Class Reference
Inheritance diagram for IAProgram:
IAColorRectProgram IAImageProgram

Public Member Functions

IA_CONSTRUCTOR void IAProgram_init (IAProgram *, const char *vertexShaderCode, const char *fragmentShaderCode, void(*glBindAttributeLocations)(GLuint programId))
 
void IAProgram_registerDynamicAttribute (IAProgram *, GLint attributeLocation)
 
More...
 
GLint IAProgram_getAttributeLocation (IAProgram *, const GLchar *name)
 
GLint IAProgram_getUniformLocation (IAProgram *, const GLchar *name)
 
bool IAProgram_isEqual (IAProgram *, IAProgram *program2)
 
void IAProgram_use (IAProgram *)
 
static void IAProgram_registerForLinkingComplete (IAProgram *this, IANotificationDelegate *delegate)
 
static void IAProgram_unregisterFromLinkingComplete (IAProgram *this, IANotificationDelegate *delegate)
 
IA_DESTRUCTOR void IAProgram_deinit (IAProgram *)
 

Data Fields

IAObject base
 
GLuint programId
 
IAShadervertexShader
 
IAShaderfragmentShader
 
IAStructArrayList_IAProgramAttribute * attributes
 
void(* glBindAttributeLocations )(GLuint programId)
 
IAOpenGLResourceDelegate delegate
 
IANotificationEvent linkingComplete
 

Member Function Documentation

◆ IAProgram_init()

IA_CONSTRUCTOR void IAProgram_init ( IAProgram ,
const char *  vertexShaderCode,
const char *  fragmentShaderCode,
void(*)(GLuint programId glBindAttributeLocations 
)

◆ IAProgram_registerDynamicAttribute()

void IAProgram_registerDynamicAttribute ( IAProgram ,
GLint  attributeLocation 
)


register all dynamic attributes before you call program_use

◆ IAProgram_getAttributeLocation()

GLint IAProgram_getAttributeLocation ( IAProgram ,
const GLchar *  name 
)

◆ IAProgram_getUniformLocation()

GLint IAProgram_getUniformLocation ( IAProgram ,
const GLchar *  name 
)

◆ IAProgram_isEqual()

bool IAProgram_isEqual ( IAProgram ,
IAProgram program2 
)

◆ IAProgram_use()

void IAProgram_use ( IAProgram )

◆ IAProgram_registerForLinkingComplete()

static void IAProgram_registerForLinkingComplete ( IAProgram this,
IANotificationDelegate delegate 
)
inline

◆ IAProgram_unregisterFromLinkingComplete()

static void IAProgram_unregisterFromLinkingComplete ( IAProgram this,
IANotificationDelegate delegate 
)
inline

◆ IAProgram_deinit()

IA_DESTRUCTOR void IAProgram_deinit ( IAProgram )

Field Documentation

◆ base

IAObject IAProgram::base

◆ programId

GLuint IAProgram::programId

◆ vertexShader

IAShader* IAProgram::vertexShader

◆ fragmentShader

IAShader* IAProgram::fragmentShader

◆ attributes

IAStructArrayList_IAProgramAttribute* IAProgram::attributes

◆ glBindAttributeLocations

void(* IAProgram::glBindAttributeLocations) (GLuint programId)

◆ delegate

IAOpenGLResourceDelegate IAProgram::delegate

◆ linkingComplete

IANotificationEvent IAProgram::linkingComplete

The documentation for this class was generated from the following files: