Skip to content

Commit

Permalink
API change
Browse files Browse the repository at this point in the history
  • Loading branch information
jwerle committed Mar 10, 2016
1 parent b65dbb0 commit cf0a1cb
Show file tree
Hide file tree
Showing 18 changed files with 259 additions and 264 deletions.
24 changes: 12 additions & 12 deletions examples/bunny.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
// model
typedef struct Bunny Bunny;
struct Bunny {
glisy_geometry geometry;
GlisyGeometry geometry;
int faceslen;
};

Expand All @@ -21,7 +21,7 @@ static void InitializeBunny(Bunny *bunny);
// bunny constructor
void
InitializeBunny(Bunny *bunny) {
glisy_vao_attribute vPosition = {
GlisyVAOAttribute vPosition = {
.buffer = {
.data = (void *) StanfordBunny.positions,
.type = GL_FLOAT,
Expand All @@ -35,21 +35,21 @@ InitializeBunny(Bunny *bunny) {

bunny->faceslen = 3 * STANFORD_BUNNY_CELLS_COUNT;

glisy_geometry_init(&bunny->geometry);
glisy_geometry_attr(&bunny->geometry, "vPosition", &vPosition);
glisy_geometry_faces(&bunny->geometry,
glisyGeometryInit(&bunny->geometry);
glisyGeometryAttr(&bunny->geometry, "vPosition", &vPosition);
glisyGeometryFaces(&bunny->geometry,
GL_UNSIGNED_SHORT,
bunny->faceslen,
(void *) StanfordBunny.cells);

glisy_geometry_update(&bunny->geometry);
glisyGeometryUpdate(&bunny->geometry);
}

void
DrawBunny(Bunny *bunny) {
glisy_geometry_bind(&bunny->geometry, 0);
glisy_geometry_draw(&bunny->geometry, GL_TRIANGLES, 0, bunny->faceslen);
glisy_geometry_unbind(&bunny->geometry);
glisyGeometryBind(&bunny->geometry, 0);
glisyGeometryDraw(&bunny->geometry, GL_TRIANGLES, 0, bunny->faceslen);
glisyGeometryUnbind(&bunny->geometry);
}

static void
Expand All @@ -66,7 +66,7 @@ main(void) {
GLFWwindow *window;

// glisy
glisy_program program;
GlisyProgram program;

// objects
Camera camera;
Expand All @@ -84,12 +84,12 @@ main(void) {
camera.position = vec3(1, 4, 10);
camera.target = vec3(1, 1, 1);

glisy_program_bind(&program);
glisyProgramBind(&program);
GL_RENDER({
const float time = glfwGetTime();
const float angle = time * 22.5f;
const float radians = dtor(angle);
const vec3 rotation = vec3(1, 1, 1);
const vec3 rotation = vec3(0, 1, 0);
(void) mat4_rotate(camera.transform,
radians,
rotation);
Expand Down
41 changes: 20 additions & 21 deletions examples/cube.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
typedef struct Cube Cube;
struct Cube {
// glisy
glisy_geometry geometry;
glisy_uniform uModel;
GlisyGeometry geometry;
GlisyUniform uModel;

// gl
vec3 position;
Expand Down Expand Up @@ -41,17 +41,17 @@ InitializeCube(Cube *cube) {
};

// init color
glisy_color color;
glisy_color_init(&color, "blue", 0);
GlisyColor color;
glisyColorInit(&color, "blue", 0);

// init uniforms
glisy_uniform uColor;
glisy_uniform_init(&uColor, "uColor", GLISY_UNIFORM_VECTOR, 3);
glisy_uniform_init(&cube->uModel, "uModel", GLISY_UNIFORM_MATRIX, 4);
GlisyUniform uColor;
glisyUniformInit(&uColor, "uColor", GLISY_UNIFORM_VECTOR, 3);
glisyUniformInit(&cube->uModel, "uModel", GLISY_UNIFORM_MATRIX, 4);

// set uniforms
glisy_uniform_set(&uColor, &vec3(color.r, color.g, color.b), sizeof(vec3));
glisy_uniform_bind(&uColor, 0);
glisyUniformSet(&uColor, &vec3(color.r, color.g, color.b), sizeof(vec3));
glisyUniformBind(&uColor, 0);

const GLushort faces[] = {
0, 1, 3, 0, 3, 2,
Expand All @@ -66,7 +66,7 @@ InitializeCube(Cube *cube) {
cube->faceslen = sizeof(faces) / sizeof(GLushort);
GLuint size = sizeof(vertices);

glisy_vao_attribute vPosition = {
GlisyVAOAttribute vPosition = {
.buffer = {
.data = (void *) vertices,
.type = GL_FLOAT,
Expand All @@ -83,16 +83,15 @@ InitializeCube(Cube *cube) {
mat4_identity(cube->rotation);

// init vao attributes
glisy_geometry_init(&cube->geometry);
glisy_geometry_attr(&cube->geometry, "vPosition", &vPosition);

glisy_geometry_faces(&cube->geometry,
glisyGeometryInit(&cube->geometry);
glisyGeometryAttr(&cube->geometry, "vPosition", &vPosition);
glisyGeometryFaces(&cube->geometry,
GL_UNSIGNED_SHORT,
cube->faceslen,
(void *) faces);

// update geometry with attributes and faces
glisy_geometry_update(&cube->geometry);
glisyGeometryUpdate(&cube->geometry);

UpdateCube(cube);
}
Expand All @@ -102,16 +101,16 @@ UpdateCube(Cube *cube) {
mat4 model;
mat4_identity(model);
model = mat4_multiply(model, cube->rotation);
glisy_uniform_set(&cube->uModel, &model, sizeof(model));
glisy_uniform_bind(&cube->uModel, 0);
glisyUniformSet(&cube->uModel, &model, sizeof(model));
glisyUniformBind(&cube->uModel, 0);
}

void
DrawCube(Cube *cube) {
UpdateCube(cube);
glisy_geometry_bind(&cube->geometry, 0);
glisy_geometry_draw(&cube->geometry, GL_TRIANGLES, 0, cube->faceslen);
glisy_geometry_unbind(&cube->geometry);
glisyGeometryBind(&cube->geometry, 0);
glisyGeometryDraw(&cube->geometry, GL_TRIANGLES, 0, cube->faceslen);
glisyGeometryUnbind(&cube->geometry);
}

void
Expand All @@ -125,7 +124,7 @@ main(void) {
GLFWwindow *window;

// glisy
glisy_program program;
GlisyProgram program;

// objects
Camera camera;
Expand Down
49 changes: 24 additions & 25 deletions examples/grid.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
// model
typedef struct Grid Grid;
struct Grid {
glisy_geometry geometry;
glisy_uniform uModel;
GlisyGeometry geometry;
GlisyUniform uModel;
mat4 translation;
vec3 position;
};
Expand Down Expand Up @@ -63,7 +63,7 @@ InitializeGrid(Grid *grid) {

grid->position = vec3(0, 0, 0);

glisy_vao_attribute vPosition = {
GlisyVAOAttribute vPosition = {
.buffer = {
.data = (void *) vertices,
.type = GL_FLOAT,
Expand All @@ -77,21 +77,21 @@ InitializeGrid(Grid *grid) {

mat4_identity(grid->translation);

glisy_uniform_init(&grid->uModel,
"uModel",
GLISY_UNIFORM_MATRIX, 4);
glisyUniformInit(&grid->uModel,
"uModel",
GLISY_UNIFORM_MATRIX, 4);

glisy_geometry_init(&grid->geometry);
glisy_geometry_attr(&grid->geometry,
"vPosition",
&vPosition);
glisyGeometryInit(&grid->geometry);
glisyGeometryAttr(&grid->geometry,
"vPosition",
&vPosition);

glisy_geometry_faces(&grid->geometry,
GL_UNSIGNED_SHORT,
GRID_FACES_LENGTH,
faces);
glisyGeometryFaces(&grid->geometry,
GL_UNSIGNED_SHORT,
GRID_FACES_LENGTH,
faces);

glisy_geometry_update(&grid->geometry);
glisyGeometryUpdate(&grid->geometry);
UpdateGrid(grid);
}

Expand All @@ -106,17 +106,16 @@ UpdateGrid(Grid *grid) {
model = mat4_translate(translation, grid->position);
model = mat4_multiply(model, translation);

glisy_uniform_set(&grid->uModel, &model, sizeof(model));
glisy_uniform_bind(&grid->uModel, 0);
glisyUniformSet(&grid->uModel, &model, sizeof(model));
glisyUniformBind(&grid->uModel, 0);
}

void
DrawGrid(Grid *grid) {
UpdateGrid(grid);
glisy_geometry_bind(&grid->geometry, 0);
glisy_geometry_draw(&grid->geometry,
GL_LINES, 0, GRID_FACES_LENGTH);
glisy_geometry_unbind(&grid->geometry);
glisyGeometryBind(&grid->geometry, 0);
glisyGeometryDraw(&grid->geometry, GL_LINES, 0, GRID_FACES_LENGTH);
glisyGeometryUnbind(&grid->geometry);
}

static void
Expand All @@ -133,7 +132,7 @@ main(void) {
GLFWwindow *window;

// glisy
glisy_program program;
GlisyProgram program;

// objects
Camera camera;
Expand All @@ -153,15 +152,15 @@ main(void) {

// configure camera
camera.position = vec3(1, 1, 1);
camera.fov = 25;
camera.fov = 22;

// bind current shader program
glisy_program_bind(&program);
glisyProgramBind(&program);

// render loop
GL_RENDER({
const float time = glfwGetTime();
const float angle = time * 45.0f;
const float angle = time * 5.0f;
const float radians = dtor(angle);
const vec3 rotation = vec3(0, 1, 0);
(void) mat4_rotate(camera.transform,
Expand Down
36 changes: 18 additions & 18 deletions examples/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,23 @@

#define LoadShader(path) fs_read(path)
#define CreateProgram(vertex, fragment) ({ \
glisy_program program; \
glisy_shader vertexShader; \
glisy_shader fragmentShader; \
glisy_program_init(&program); \
glisy_shader_init(&vertexShader, GL_VERTEX_SHADER, LoadShader(vertex)); \
glisy_shader_init(&fragmentShader, GL_FRAGMENT_SHADER, LoadShader(fragment)); \
glisy_program_attach_shader(&program, &vertexShader); \
glisy_program_attach_shader(&program, &fragmentShader); \
glisy_program_link(&program); \
glisy_program_bind(&program); \
GlisyProgram program; \
GlisyShader vertexShader; \
GlisyShader fragmentShader; \
glisyProgramInit(&program); \
glisyShaderInit(&vertexShader, GL_VERTEX_SHADER, LoadShader(vertex)); \
glisyShaderInit(&fragmentShader, GL_FRAGMENT_SHADER, LoadShader(fragment)); \
glisyProgramAttachShader(&program, &vertexShader); \
glisyProgramAttachShader(&program, &fragmentShader); \
glisyProgramLink(&program); \
glisyProgramBind(&program); \
(program); \
})

typedef struct Camera Camera;
struct Camera {
glisy_uniform uProjection;
glisy_uniform uView;
GlisyUniform uProjection;
GlisyUniform uView;

mat4 projection;
mat4 transform;
Expand Down Expand Up @@ -88,10 +88,10 @@ UpdateCameraProjectionMatrix(Camera *camera) {
camera->aspect,
camera->near,
camera->far);
glisy_uniform_set(&camera->uProjection,
glisyUniformSet(&camera->uProjection,
&camera->projection,
sizeof(camera->projection));
glisy_uniform_bind(&camera->uProjection, 0);
glisyUniformBind(&camera->uProjection, 0);
}

void
Expand All @@ -100,7 +100,7 @@ UpdateCameraLookAt(Camera *camera) {
vec3 position = vec3_transform_mat4(camera->position,
camera->transform);
camera->view = mat4_lookAt(position, target, camera->up);
glisy_uniform_bind(&camera->uView, 0);
glisyUniformBind(&camera->uView, 0);
mat4_identity(camera->transform);
}

Expand All @@ -112,7 +112,7 @@ UpdateCamera(Camera *camera) {
camera->orientation.right =
vec3_normalize(vec3_cross(camera->up, camera->orientation.direction));

glisy_uniform_set(&camera->uView,
glisyUniformSet(&camera->uView,
&camera->view,
sizeof(camera->view));

Expand All @@ -135,11 +135,11 @@ InitializeCamera(Camera *camera, int width, int height) {
mat4_identity(camera->transform);
mat4_identity(camera->view);

glisy_uniform_init(&camera->uProjection,
glisyUniformInit(&camera->uProjection,
"uProjection",
GLISY_UNIFORM_MATRIX, 4);

glisy_uniform_init(&camera->uView,
glisyUniformInit(&camera->uView,
"uView",
GLISY_UNIFORM_MATRIX, 4);

Expand Down
Loading

0 comments on commit cf0a1cb

Please sign in to comment.