static void sceneInit(void) { // Load the vertex shader and create a shader program vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size); shaderProgramInit(&program); shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]); // Get the location of the projection matrix uniform uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection"); // Compute the projection matrix m4x4_ortho_tilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0); // Create the VBO (vertex buffer object) vbo_data = linearAlloc(sizeof(vertex_list)); memcpy(vbo_data, vertex_list, sizeof(vertex_list)); }
static void sceneInit(void) { // Load the shaders and create a shader program // The geoshader stride is set to 6 so that it processes a triangle at a time vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size); gshader_dvlb = DVLB_ParseFile((u32*)gshader_shbin, gshader_shbin_size); shaderProgramInit(&program); shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]); shaderProgramSetGsh(&program, &gshader_dvlb->DVLE[0], 6); // Get the location of the projection matrix uniform uLoc_projection = shaderInstanceGetUniformLocation(program.geometryShader, "projection"); // Compute the projection matrix m4x4_ortho_tilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0); // Create the VBO (vertex buffer object) vbo_data = linearAlloc(sizeof(vertex_list)); memcpy(vbo_data, vertex_list, sizeof(vertex_list)); }