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;
|
angleY += M_PI / 360;
|
||||||
|
|
||||||
// Update the uniforms
|
// Update the uniforms
|
||||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_projection, 4), &projection, sizeof(C3D_Mtx));
|
C3D_FVUnifMtx(GPU_VERTEX_SHADER, uLoc_projection, &projection);
|
||||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_modelView, 4), &modelView, sizeof(C3D_Mtx));
|
C3D_FVUnifMtx(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
|
||||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_material, 4), &material, sizeof(C3D_Mtx));
|
C3D_FVUnifMtx(GPU_VERTEX_SHADER, uLoc_material, &material);
|
||||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_lightVec, 1), (float[]){0.0f, -1.0f, 0.0f, 0.0f}, sizeof(C3D_FVec));
|
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightVec, 0.0f, 0.0f, -1.0f, 0.0f);
|
||||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_lightHalfVec, 1), (float[]){0.0f, -1.0f, 0.0f, 0.0f}, sizeof(C3D_FVec));
|
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightHalfVec, 0.0f, 0.0f, -1.0f, 0.0f);
|
||||||
memcpy(C3D_FVUnifWritePtr(GPU_VERTEX_SHADER, uLoc_lightClr, 1), (float[]){1.0f, 1.0f, 1.0f, 1.0f}, sizeof(C3D_FVec));
|
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr, 1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
|
|
||||||
// Draw the VBO
|
// Draw the VBO
|
||||||
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
|
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];
|
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)
|
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);
|
C3D_FVec* ptr = C3D_FVUnifWritePtr(type, id, 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user