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

Loading…
Cancel
Save