diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-05-14 16:44:28 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-05-14 16:44:28 +0200 |
| commit | 23ba151d95e4284ddb2d5f1c9810741061c293fd (patch) | |
| tree | 98d9aa1322dc108e1adf2a695fc642266e05c2b3 /src/color.c | |
| parent | 29ea8338efb0b5450611b73463c9d7d469db2d75 (diff) | |
| download | scop-23ba151d95e4284ddb2d5f1c9810741061c293fd.tar.gz scop-23ba151d95e4284ddb2d5f1c9810741061c293fd.tar.bz2 scop-23ba151d95e4284ddb2d5f1c9810741061c293fd.zip | |
Refactoring to the point before started refactoring, without crash on texture binding
Diffstat (limited to 'src/color.c')
| -rw-r--r-- | src/color.c | 75 |
1 files changed, 23 insertions, 52 deletions
diff --git a/src/color.c b/src/color.c index 166eaaf..6321e24 100644 --- a/src/color.c +++ b/src/color.c @@ -6,60 +6,31 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/05/13 11:53:53 by charles #+# #+# */ -/* Updated: 2020/05/14 13:58:15 by charles ### ########.fr */ +/* Updated: 2020/05/14 16:42:21 by charles ### ########.fr */ /* */ /* ************************************************************************** */ #include "scop.h" -/* float *color_new(size_t n) */ -/* { */ -/* size_t i; */ -/* float step; */ -/* float *colors; */ -/* union u_color c; */ -/* */ -/* if ((colors = malloc(sizeof(float) * (n * 4))) == NULL) */ -/* return (NULL); */ -/* step = 0.8 / (float)n; */ -/* i = 0; */ -/* c.r = 0.1; */ -/* c.g = 0.1; */ -/* c.b = 0.1; */ -/* c.a = 1.0; */ -/* while (i < n) */ -/* { */ -/* c.r += step; */ -/* c.g += step; */ -/* c.b += step; */ -/* ft_memcpy(&colors[i * 4], c.data, 4 * sizeof(float)); */ -/* i++; */ -/* } */ -/* return (colors); */ -/* } */ -/* */ -/* bool color_merge_vertices(t_model_data *data, float *coords) */ -/* { */ -/* size_t i; */ -/* float *colors; */ -/* float *new_vertices; */ -/* */ -/* if ((colors = color_new(data->vertices_len)) == NULL) */ -/* return (false); */ -/* if ((new_vertices = malloc(sizeof(float) * data->vertices_len * (4 + 4 + 2))) == NULL) */ -/* { */ -/* free(colors); */ -/* return (false); */ -/* } */ -/* i = 0; */ -/* while (i < data->vertices_size) */ -/* { */ -/* ft_memcpy(&new_vertices[i * (4 + 4 + 2)], &data->vertices[i * 4], 4 * sizeof(float)); */ -/* ft_memcpy(&new_vertices[i * (4 + 4 + 2) + 4], &colors[i * 4], 4 * sizeof(float)); */ -/* ft_memcpy(&new_vertices[i * (4 + 4 + 2) + 8], &coords[i * 2], 2 * sizeof(float)); */ -/* i++; */ -/* } */ -/* free(data->vertices); */ -/* data->vertices = new_vertices; */ -/* return (true); */ -/* } */ +void color_init(float *vertices, size_t vertices_num) +{ + size_t i; + float step; + union u_color color; + + step = 0.8 / (float)(vertices_num / VERTEX_COUNT); + i = 0; + color.r = 0.1; + color.g = 0.1; + color.b = 0.1; + color.a = 1.0; + while (i < vertices_num) + { + color.r += step; + color.g += step; + color.b += step; + ft_memcpy(&vertices[i + VERTEX_COLOR_OFFSET], + color.data, 4 * sizeof(float)); + i += VERTEX_COUNT; + } +} |
