center vertices
This commit is contained in:
parent
397b67fa1a
commit
304ec993c8
3
Makefile
3
Makefile
|
@ -6,7 +6,7 @@
|
||||||
# By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ #
|
# By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2020/12/17 19:47:03 by gbrochar #+# #+# #
|
# Created: 2020/12/17 19:47:03 by gbrochar #+# #+# #
|
||||||
# Updated: 2020/12/25 14:54:54 by gbrochar ### ########.fr #
|
# Updated: 2020/12/26 06:11:43 by gbrochar ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ SRC_FILE = main.c \
|
||||||
parse_file.c \
|
parse_file.c \
|
||||||
parse_line.c \
|
parse_line.c \
|
||||||
parse_token.c \
|
parse_token.c \
|
||||||
|
center_vertices.c \
|
||||||
env.c \
|
env.c \
|
||||||
run.c \
|
run.c \
|
||||||
mat4_transpose.c \
|
mat4_transpose.c \
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2020/12/22 12:08:22 by gbrochar #+# #+# */
|
/* Created: 2020/12/22 12:08:22 by gbrochar #+# #+# */
|
||||||
/* Updated: 2020/12/25 15:06:43 by gbrochar ### ########.fr */
|
/* Updated: 2020/12/26 06:32:21 by gbrochar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
@ -114,6 +114,9 @@ int parse_token(
|
||||||
int parse_append_data_d(t_buf_d *buffer, char *token);
|
int parse_append_data_d(t_buf_d *buffer, char *token);
|
||||||
int parse_append_data_ui(t_buf_ui *buffer, char *token);
|
int parse_append_data_ui(t_buf_ui *buffer, char *token);
|
||||||
|
|
||||||
|
void center_vertices(t_buf_d *vertices);
|
||||||
|
|
||||||
|
|
||||||
void free_env(t_env *e);
|
void free_env(t_env *e);
|
||||||
void init_window(t_env *e);
|
void init_window(t_env *e);
|
||||||
void init_camera(t_env *e);
|
void init_camera(t_env *e);
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* center_vertices.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2020/12/26 06:11:21 by gbrochar #+# #+# */
|
||||||
|
/* Updated: 2020/12/26 06:25:59 by gbrochar ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "scop.h"
|
||||||
|
#include "vec3.h"
|
||||||
|
|
||||||
|
void center_vertices(t_buf_d *vertices)
|
||||||
|
{
|
||||||
|
t_vec3 average;
|
||||||
|
|
||||||
|
for (size_t i = 0; i < vertices->ptr; i++)
|
||||||
|
{
|
||||||
|
if (i % 3 == 0)
|
||||||
|
average.x += vertices->data[i];
|
||||||
|
else if (i % 3 == 1)
|
||||||
|
average.y += vertices->data[i];
|
||||||
|
else if (i % 3 == 2)
|
||||||
|
average.z += vertices->data[i];
|
||||||
|
}
|
||||||
|
average.x /= (vertices->ptr / 3);
|
||||||
|
average.y /= (vertices->ptr / 3);
|
||||||
|
average.z /= (vertices->ptr / 3);
|
||||||
|
for (size_t i = 0; i < vertices->ptr; i++)
|
||||||
|
{
|
||||||
|
if (i % 3 == 0)
|
||||||
|
vertices->data[i] -= average.x;
|
||||||
|
else if (i % 3 == 1)
|
||||||
|
vertices->data[i] -= average.y;
|
||||||
|
else if (i % 3 == 2)
|
||||||
|
vertices->data[i] -= average.z;
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2020/12/22 12:02:14 by gbrochar #+# #+# */
|
/* Created: 2020/12/22 12:02:14 by gbrochar #+# #+# */
|
||||||
/* Updated: 2020/12/25 14:58:03 by gbrochar ### ########.fr */
|
/* Updated: 2020/12/26 06:41:15 by gbrochar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ int main(int argc, char **argv)
|
||||||
init_env(&e);
|
init_env(&e);
|
||||||
if (parse(&e, argc, argv) == SUCCESS)
|
if (parse(&e, argc, argv) == SUCCESS)
|
||||||
{
|
{
|
||||||
|
center_vertices(&(e.object.vertices));
|
||||||
if (run(&e) == FAILURE)
|
if (run(&e) == FAILURE)
|
||||||
printf("Error with glfw initialization\n");
|
printf("Error with glfw initialization\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
/* By: gbrochar <gbrochar@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2020/12/23 19:38:05 by gbrochar #+# #+# */
|
/* Created: 2020/12/23 19:38:05 by gbrochar #+# #+# */
|
||||||
/* Updated: 2020/12/25 15:22:27 by gbrochar ### ########.fr */
|
/* Updated: 2020/12/26 06:26:36 by gbrochar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
@ -52,8 +52,8 @@ static void RenderSceneCB()
|
||||||
|
|
||||||
t_mat4 proj = mat4_perspective(45.0 * M_PI / 180.0, 800.0 / 600.0, 0.001, 1000);
|
t_mat4 proj = mat4_perspective(45.0 * M_PI / 180.0, 800.0 / 600.0, 0.001, 1000);
|
||||||
t_mat4 view = mat4_inverse(mat4_lookat(eye, up, target));
|
t_mat4 view = mat4_inverse(mat4_lookat(eye, up, target));
|
||||||
t_mat4 model = mat4_rotatey(mat4_rotatex(mat4_identity(), Scale), Scale / 1.3);
|
// t_mat4 model = mat4_rotatey(mat4_rotatex(mat4_identity(), Scale), Scale / 1.3);
|
||||||
// glUniform1f(gScaleLocation, sinf(Scale));
|
t_mat4 model = mat4_rotatey(mat4_identity(), Scale);
|
||||||
glUniform1f(gScaleIntLocation, Scale);
|
glUniform1f(gScaleIntLocation, Scale);
|
||||||
glUniformMatrix4fv(gProjLocation, 1, GL_FALSE, (GLfloat *)proj.data);
|
glUniformMatrix4fv(gProjLocation, 1, GL_FALSE, (GLfloat *)proj.data);
|
||||||
glUniformMatrix4fv(gViewLocation, 1, GL_FALSE, (GLfloat *)view.data);
|
glUniformMatrix4fv(gViewLocation, 1, GL_FALSE, (GLfloat *)view.data);
|
||||||
|
@ -211,8 +211,8 @@ int run(t_env *e)
|
||||||
glfwMakeContextCurrent(window);
|
glfwMakeContextCurrent(window);
|
||||||
|
|
||||||
index_count = e->object.indices.ptr;
|
index_count = e->object.indices.ptr;
|
||||||
printf("%ld\n", e->object.indices.ptr);
|
|
||||||
printf("%ld\n", e->object.vertices.ptr);
|
printf("%ld\n", e->object.vertices.ptr);
|
||||||
|
printf("%ld\n", e->object.indices.ptr);
|
||||||
GLenum res = glewInit();
|
GLenum res = glewInit();
|
||||||
if (res != GLEW_OK)
|
if (res != GLEW_OK)
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,6 @@ float rand(float n)
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec3 color = vec3(rand(float(vID + int(time))), rand(float(vID + 1 + int(time))), rand(float(vID + 2 + int(time))));
|
vec3 color = vec3(rand(float(vID + int(time))), rand(float(vID + int(time))), rand(float(vID + int(time))));
|
||||||
FragColor = vec4(color, 1.0);
|
FragColor = vec4(color, 1.0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue