Browse Source

add more using directives for glm types

remotes/bxxa/master
cinnaboot 4 years ago
parent
commit
18a44d0ead
  1. 63
      examples/main.cpp

63
examples/main.cpp

@ -6,6 +6,11 @@
#include "tangerine.h" #include "tangerine.h"
using glm::vec3;
using glm::vec4;
using glm::uvec4;
using glm::mat4;
bool bool
loadLights(RenderState* rs) loadLights(RenderState* rs)
@ -16,15 +21,15 @@ loadLights(RenderState* rs)
#if 0 #if 0
// NOTE: add a directional light // NOTE: add a directional light
idx = (*lb->active_d_lights)++; idx = (*lb->active_d_lights)++;
lb->dl_directions[idx] = glm::vec4(-2, 1, 3, 1); lb->dl_directions[idx] = vec4(-2, 1, 3, 1);
lb->dl_colors[idx] = glm::vec4(0.5, 0.5, 0.3, 1); lb->dl_colors[idx] = vec4(0.5, 0.5, 0.3, 1);
lb->dl_intensities[idx] = glm::uvec4(1, 0, 0, 0); lb->dl_intensities[idx] = uvec4(1, 0, 0, 0);
#endif #endif
// NOTE: add a point light // NOTE: add a point light
idx = (*lb->active_p_lights)++; idx = (*lb->active_p_lights)++;
lb->pl_positions[idx] = glm::vec4(-10, 0, -10, 1); lb->pl_positions[idx] = vec4(-10, 0, -10, 1);
lb->pl_colors[idx] = glm::vec4(1, 1, 0.8, 1); lb->pl_colors[idx] = vec4(1, 1, 0.8, 1);
lb->pl_intensities[idx] = glm::vec4(3, 0, 0, 0); lb->pl_intensities[idx] = vec4(3, 0, 0, 0);
GLBuffer* lights_ubo = getUBOByName(rs->gl_ctx, "lights"); GLBuffer* lights_ubo = getUBOByName(rs->gl_ctx, "lights");
assert(lights_ubo != nullptr); assert(lights_ubo != nullptr);
@ -50,7 +55,7 @@ loadLights(RenderState* rs)
return false; return false;
} }
setEntityPosition(e, glm::vec3(lb->pl_positions[idx])); setEntityPosition(e, vec3(lb->pl_positions[idx]));
return true; return true;
} }
@ -77,12 +82,12 @@ loadCubes(RenderState* rs)
// NOTE: init entities // NOTE: init entities
const u32 NUM_CUBES = 5; const u32 NUM_CUBES = 5;
glm::vec3 cube_locs[NUM_CUBES] = { vec3 cube_locs[NUM_CUBES] = {
glm::vec3( 0, 0, 0), vec3( 0, 0, 0),
glm::vec3(-10, 10, 0), vec3(-10, 10, 0),
glm::vec3(-10, -10, 0), vec3(-10, -10, 0),
glm::vec3( 10, 10, 0), vec3( 10, 10, 0),
glm::vec3( 10, -10, 0), vec3( 10, -10, 0),
}; };
for (u32 i = 0; i < NUM_CUBES; i++) { for (u32 i = 0; i < NUM_CUBES; i++) {
@ -135,7 +140,7 @@ loadSpaceShip(RenderState* rs)
shader_lit->attrib_mappings, shader_lit->attrib_mappings,
"ship 01")) "ship 01"))
{ {
setEntityPosition(e, glm::vec3(0, -10, -15)); setEntityPosition(e, vec3(0, -10, -15));
} else { } else {
return false; return false;
} }
@ -150,7 +155,7 @@ testColoredVertices(RenderState* rs)
m.num_vertices = 5; m.num_vertices = 5;
m.num_indices = 12; m.num_indices = 12;
glm::vec3 vertices[m.num_vertices] = { vec3 vertices[m.num_vertices] = {
{ 0, 1, 0 }, { 0, 1, 0 },
{ -1, -1, -1 }, { -1, -1, -1 },
{ -1, -1, 1 }, { -1, -1, 1 },
@ -164,7 +169,7 @@ testColoredVertices(RenderState* rs)
1, 2, 3 1, 2, 3
}; };
glm::vec3 colors[m.num_vertices] = { vec3 colors[m.num_vertices] = {
{ 1, 0, 0 }, { 1, 0, 0 },
{ 0, 1, 0 }, { 0, 1, 0 },
{ 0, 0, 1 }, { 0, 0, 1 },
@ -174,7 +179,7 @@ testColoredVertices(RenderState* rs)
m.vertices = vertices; m.vertices = vertices;
m.colors = colors; m.colors = colors;
m.indices = indices; m.indices = indices;
glm::mat4 xform = glm::mat4(1); mat4 xform = mat4(1);
m.xform = &xform; m.xform = &xform;
Model mdl = {0}; Model mdl = {0};
mdl.num_meshes = 1; mdl.num_meshes = 1;
@ -194,7 +199,7 @@ testColoredVertices(RenderState* rs)
shader->attrib_mappings, shader->attrib_mappings,
"colored pyramid 01")) "colored pyramid 01"))
{ {
setEntityPosition(e, glm::vec3(0, -10, 15)); setEntityPosition(e, vec3(0, -10, 15));
} else { } else {
return false; return false;
} }
@ -206,9 +211,9 @@ bool
loadCamera(RenderState* rs) loadCamera(RenderState* rs)
{ {
Camera* cam = rs->camera; Camera* cam = rs->camera;
glm::vec3 cam_pos = { 0, 15, 40 }; vec3 cam_pos = { 0, 15, 40 };
glm::vec3 look_pos = { 0, 0, 0 }; vec3 look_pos = { 0, 0, 0 };
glm::vec3 up = { 0, 1, 0 }; vec3 up = { 0, 1, 0 };
cameraInitPerspective(cam, cam_pos, look_pos, up); cameraInitPerspective(cam, cam_pos, look_pos, up);
GLBuffer* xforms_ubo = getUBOByName(rs->gl_ctx, "matrices"); GLBuffer* xforms_ubo = getUBOByName(rs->gl_ctx, "matrices");
@ -247,7 +252,7 @@ loadScene(RenderState* rs)
} }
void void
orbitPositionZ0(glm::vec4* pos, float angle) orbitPositionZ0(vec4* pos, float angle)
{ {
// get radius length // get radius length
float r = sqrt(pow(abs(pos->x), 2) + pow(abs(pos->z), 2)); float r = sqrt(pow(abs(pos->x), 2) + pow(abs(pos->z), 2));
@ -279,16 +284,16 @@ render_cb_pre(RenderState* rs)
orbitPositionZ0(&lb->pl_positions[0], 2 * M_PI / 180); orbitPositionZ0(&lb->pl_positions[0], 2 * M_PI / 180);
RenderGroup* rg = getRenderGroupByName(rs, "debug_lights"); RenderGroup* rg = getRenderGroupByName(rs, "debug_lights");
Entity* ent = &rg->entities[0]; Entity* ent = &rg->entities[0];
setEntityPosition(ent, glm::vec3(lb->pl_positions[0])); setEntityPosition(ent, vec3(lb->pl_positions[0]));
GLBuffer* lights_ubo = getUBOByName(rs->gl_ctx, "lights"); GLBuffer* lights_ubo = getUBOByName(rs->gl_ctx, "lights");
assert(lights_ubo); assert(lights_ubo);
updateGLBuffer(lights_ubo, lb->buffer); updateGLBuffer(lights_ubo, lb->buffer);
// NOTE: orbit camera // NOTE: orbit camera
static glm::vec4 cam_pos; static vec4 cam_pos;
static glm::vec3 look_pos; static vec3 look_pos;
static glm::vec3 up; static vec3 up;
static bool initialized = false; static bool initialized = false;
if (!initialized) { if (!initialized) {
@ -300,7 +305,7 @@ render_cb_pre(RenderState* rs)
orbitPositionZ0(&cam_pos, 0.5 * M_PI / 180); orbitPositionZ0(&cam_pos, 0.5 * M_PI / 180);
rs->camera->xforms.view = rs->camera->xforms.view =
glm::lookAt(glm::vec3(cam_pos), glm::vec3(0, 0, 0), glm::vec3(0, 1, 0)); glm::lookAt(vec3(cam_pos), vec3(0, 0, 0), vec3(0, 1, 0));
static GLBuffer* xform_ubo = nullptr; static GLBuffer* xform_ubo = nullptr;
@ -317,9 +322,7 @@ render_cb_pre(RenderState* rs)
for (u32 j = 0; j < rg2->num_entities; j++) { for (u32 j = 0; j < rg2->num_entities; j++) {
Entity& e = rg2->entities[j]; Entity& e = rg2->entities[j];
float direction = (j % 2 == 0) ? 1 : -1; float direction = (j % 2 == 0) ? 1 : -1;
rotateEntity(&e, rotateEntity(&e, vec3(0, 1, 0), direction * (float) M_PI / (3 * 60));
glm::vec3(0, 1, 0),
direction * (float) M_PI / (3 * 60));
} }
} }

Loading…
Cancel
Save