Simply uniform set code in example
This commit is contained in:
parent
60df9ed7d6
commit
f7d344843e
@ -161,12 +161,12 @@ static void sceneRender(void)
|
||||
angleY += M_PI / 360;
|
||||
|
||||
// Update the uniforms
|
||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_projection, 4), &projection, sizeof(C3D_Mtx));
|
||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_modelView, 4), &modelView, sizeof(C3D_Mtx));
|
||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_material, 4), &material, sizeof(C3D_Mtx));
|
||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_lightVec, 1), (float[]){0.0f, -1.0f, 0.0f, 0.0f}, sizeof(C3D_FVec));
|
||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_lightHalfVec, 1), (float[]){0.0f, -1.0f, 0.0f, 0.0f}, sizeof(C3D_FVec));
|
||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_lightClr, 1), (float[]){1.0f, 1.0f, 1.0f, 1.0f}, sizeof(C3D_FVec));
|
||||
C3D_FVUnifMtx(GPU_VERTEX_SHADER, uLoc_projection, &projection);
|
||||
C3D_FVUnifMtx(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
|
||||
C3D_FVUnifMtx(GPU_VERTEX_SHADER, uLoc_material, &material);
|
||||
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightVec, 0.0f, 0.0f, -1.0f, 0.0f);
|
||||
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightHalfVec, 0.0f, 0.0f, -1.0f, 0.0f);
|
||||
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr, 1.0f, 1.0f, 1.0f, 1.0f);
|
||||
|
||||
// Draw the VBO
|
||||
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
|
||||
|
@ -25,6 +25,14 @@ static inline C3D_IVec* C3D_IVUnifWritePtr(GPU_SHADER_TYPE type, int id)
|
||||
return &C3D_IVUnif[type][id];
|
||||
}
|
||||
|
||||
static inline void C3D_FVUnifMtx(GPU_SHADER_TYPE type, int id, C3D_Mtx* mtx)
|
||||
{
|
||||
int i;
|
||||
C3D_FVec* ptr = C3D_FVUnifWritePtr(type, id, 4);
|
||||
for (i = 0; i < 4; i ++)
|
||||
ptr[i] = mtx->r[i];
|
||||
}
|
||||
|
||||
static inline void C3D_FVUnifSet(GPU_SHADER_TYPE type, int id, float x, float y, float z, float w)
|
||||
{
|
||||
C3D_FVec* ptr = C3D_FVUnifWritePtr(type, id, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user