diff options
Diffstat (limited to 'src/example/example_texture.c')
-rw-r--r-- | src/example/example_texture.c | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/src/example/example_texture.c b/src/example/example_texture.c deleted file mode 100644 index db2868b..0000000 --- a/src/example/example_texture.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "example.h" - -Vert** quad; -static Vec3 verts[] = { - // front face - {1, 1, 1}, {-1, 1, 1}, {-1, -1, 1}, {1, -1, 1}, - // back face - {1, 1, -1}, {-1, 1, -1}, {-1, -1, -1}, {1, -1, -1}, -}; -static Color colors[] = { - 0xffff0000, 0xff00ff00, 0xff0000ff, 0xffff00ff, - 0xffaa28aa, 0xffFFC58E, 0xffA100FF, 0xffFAFF00, -}; - -int face[] = { - 0, 1, 2, 0, 2, 3, - 1, 5, 2, 2, 5, 6, - 4, 6, 5, 4, 7, 6, - 0, 3, 7, 0, 7, 4, - 0, 4, 1, 1, 4, 5, - 2, 6, 3, 3, 6, 7 -}; - -void vert(UniformCollection* uniforms, VertexShaderIn* in, Vec4* homocoord) { - static Vec4 p; p.xyz = *in->vertex->position; p.w = 1; - mat4_applytovec4(uniforms->mvp, &p, homocoord); -} -bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color* color) { - ssrS_bcpcolor(in->bc, in->A->color, in->B->color, in->C->color, color); - return 1; -} -Program program = { vert, frag }; - -void onloadtexture(void* data) { - ssr_matrixmode(MATRIX_PROJECTION); - ssr_loadidentity(); - ssr_perspective(90, 1.25f, 0.1f, 10); - //ssr_ortho(-5, 5, -4, 4, 0.1, 10); - ssr_matrixmode(MATRIX_VIEW); - ssr_loadidentity(); - Vec3 p = { 0, 0, 0 }, target = { 0, 0, -1 }; - ssr_lookat(&p, &target, &vec3up); - - quad = ssrM_newvector(Vert*, 8); - quad[0] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[1] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[2] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[3] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[4] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[5] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[6] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[7] = vert_new(VERTMASK_POSITION | VERTMASK_COLOR); - quad[0]->index = 0; *quad[0]->position = verts[0]; quad[0]->color = colors[0]; - quad[1]->index = 1; *quad[1]->position = verts[1]; quad[1]->color = colors[1]; - quad[2]->index = 2; *quad[2]->position = verts[2]; quad[2]->color = colors[2]; - quad[3]->index = 3; *quad[3]->position = verts[3]; quad[3]->color = colors[3]; - quad[4]->index = 4; *quad[4]->position = verts[4]; quad[4]->color = colors[4]; - quad[5]->index = 5; *quad[5]->position = verts[5]; quad[5]->color = colors[5]; - quad[6]->index = 6; *quad[6]->position = verts[6]; quad[6]->color = colors[6]; - quad[7]->index = 7; *quad[7]->position = verts[7]; quad[7]->color = colors[7]; - - ssr_bindvertices(quad, 8, face, 12); - - ssr_useprogram(&program); - ssr_enable(ENABLEMASK_BACKFACECULL); - ssr_enable(ENABLEMASK_DEPTHTEST); -} - -void oneventtexture(void* data) { - SDL_Event* e = (SDL_Event*)data; -} - -static float _t = 0; - -void onupdatetexture(void*data) { - uint dt = *(uint*)data; - ssr_matrixmode(MATRIX_MODEL); - ssr_loadidentity(); - ssr_translate(0, 0, -3); - ssr_rotate(_t -= dt / 50.f, 1, 1, 1); -} - -void ondrawtexture(void*data) { - ssr_clearcolor(0x00); - ssr_cleardepth(); - - ssr_draw(PRIMITIVE_TRIANGLE); -} |