diff options
author | chai <chaifix@163.com> | 2020-02-22 23:33:06 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-02-22 23:33:06 +0800 |
commit | b656c9415a8e7e3b5b7d8bf1f3c8a5444f830c79 (patch) | |
tree | f4f0578d58e5f12b00d2753efef83aaedc03137e /src/example | |
parent | 9c89460e136ed6c6c43704d9a3a15105e0f006b0 (diff) |
*misc
Diffstat (limited to 'src/example')
-rw-r--r-- | src/example/03_texture/03_texture.c | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/src/example/03_texture/03_texture.c b/src/example/03_texture/03_texture.c index f10c41a..352ea9c 100644 --- a/src/example/03_texture/03_texture.c +++ b/src/example/03_texture/03_texture.c @@ -41,9 +41,9 @@ static Texture* cyborg_albedo; static Mesh* cyborg_mesh; void onload_texture(void* data) { - ssr_matrixmode(MATRIX_PROJECTION); - ssr_loadidentity(); - ssr_perspective(90, ssr_getaspect(), 0.1, 10); + //ssr_matrixmode(MATRIX_PROJECTION); + //ssr_loadidentity(); + //ssr_perspective(90, ssr_getaspect(), 0.1, 10); //ssr_ortho(-5, 5, -4, 4, 0.1, 10); ssr_bindvertices(verts, 8, cube, 12); @@ -76,12 +76,12 @@ void onupdate_texture(void*data) { uint dt = *(uint*)data; _t += dt / 1000.f; - ssr_matrixmode(MATRIX_VIEW); - ssr_loadidentity(); - float distance = 2; - Vec3 p = { distance * sin(_t), 5, distance * cos(_t) }, target = { 0, 0, 0 }; - //Vec3 p = { 0, 0, 700}, target = { 0, 0, 0 }; - ssr_lookat(&p, &target, &vec3up); + //ssr_matrixmode(MATRIX_VIEW); + //ssr_loadidentity(); + //float distance = 2; + //Vec3 p = { 0, 0, 10 }, target = { 0, 0, 0 }; + ////Vec3 p = { 0, 0, 700}, target = { 0, 0, 0 }; + //ssr_lookat(&p, &target, &vec3up); ssr_matrixmode(MATRIX_MODEL); ssr_loadidentity(); @@ -103,33 +103,34 @@ void ondraw_texture(void*data) { ssr_clearcolor(0xff202020); ssr_cleardepth(); ssr_clearstencil(0); -///* -// ssr_enable(ENABLE_STENCILTEST); -// ssr_setstencilfunc(STENCILFUNC_ALWAYS, 1, 0xff); -// ssr_setstencilop(STENCILOP_KEEP, STENCILOP_KEEP, STENCILOP_REPLACE); -//*/ -// /*render mech*/ -// ssr_setuniformtex(0, mech_albedo); -// ssr_setuniformtex(1, mech_normal); -// ssr_setuniformtex(2, mech_roughness); -// ssr_setuniformtex(3, mech_metalness); -// ssr_bindvertices(mech_mesh->vertices, mech_mesh->vert_count, mech_mesh->triangles, mech_mesh->tris_count); -// ssr_draw(PRIMITIVE_TRIANGLE); -///* -// ssr_setstencilfunc(STENCILFUNC_EQUAL, 1, 0xff); -// ssr_setstencilop(STENCILOP_KEEP, STENCILOP_KEEP, STENCILOP_KEEP); -//*/ -// /*render yingham*/ -// ssr_setuniformtex(0, yingham_albedo); -// ssr_bindvertices(yingham_mesh->vertices, yingham_mesh->vert_count, yingham_mesh->triangles, yingham_mesh->tris_count); -// ssr_draw(PRIMITIVE_TRIANGLE); -// -// /*render ground*/ -// ssr_setuniformtex(0, ground_albedo); -// ssr_bindvertices(ground_mesh->vertices, ground_mesh->vert_count, ground_mesh->triangles, ground_mesh->tris_count); -// ssr_draw(PRIMITIVE_TRIANGLE); -// - ssr_setuniformtex(0, cyborg_albedo); - ssr_bindvertices(cyborg_mesh->vertices, cyborg_mesh->vert_count, cyborg_mesh->triangles, cyborg_mesh->tris_count); - ssr_draw(PRIMITIVE_TRIANGLE); +/* + ssr_enable(ENABLE_STENCILTEST); + ssr_setstencilfunc(STENCILFUNC_ALWAYS, 1, 0xff); + ssr_setstencilop(STENCILOP_KEEP, STENCILOP_KEEP, STENCILOP_REPLACE); +*/ + /*render mech*/ + ssr_setuniformtex(0, mech_albedo); + ssr_setuniformtex(1, mech_normal); + ssr_setuniformtex(2, mech_roughness); + ssr_setuniformtex(3, mech_metalness); + ssr_bindvertices(mech_mesh->vertices, mech_mesh->vert_count, mech_mesh->triangles, mech_mesh->tris_count); + ssr_draw(PRIMITIVE_TRIANGLE); +/* + ssr_setstencilfunc(STENCILFUNC_EQUAL, 1, 0xff); + ssr_setstencilop(STENCILOP_KEEP, STENCILOP_KEEP, STENCILOP_KEEP); +*/ + /*render yingham*/ + ssr_setuniformtex(0, yingham_albedo); + ssr_bindvertices(yingham_mesh->vertices, yingham_mesh->vert_count, yingham_mesh->triangles, yingham_mesh->tris_count); + ssr_draw(PRIMITIVE_TRIANGLE); + + /*render ground*/ + ssr_setuniformtex(0, ground_albedo); + ssr_bindvertices(ground_mesh->vertices, ground_mesh->vert_count, ground_mesh->triangles, ground_mesh->tris_count); + ssr_draw(PRIMITIVE_TRIANGLE); + + + //ssr_setuniformtex(0, cyborg_albedo); + //ssr_bindvertices(cyborg_mesh->vertices, cyborg_mesh->vert_count, cyborg_mesh->triangles, cyborg_mesh->tris_count); + //ssr_draw(PRIMITIVE_TRIANGLE); } |