WIP: Bon. L'affichage est faux mais le graphisme est parfait pour toutes les fonctions.
This commit is contained in:
parent
abc118d8e1
commit
1240dfed43
|
@ -482,7 +482,7 @@ bool draw_some_arrows (GLuint *lines_origin, long s, long stx, long sty,
|
||||||
void show_user_choices(long model_size_x, long model_size_y, long model_size_z,
|
void show_user_choices(long model_size_x, long model_size_y, long model_size_z,
|
||||||
GLuint *arrows, int model_arrows_nb, int pref_show_grid)
|
GLuint *arrows, int model_arrows_nb, int pref_show_grid)
|
||||||
{
|
{
|
||||||
printf("model + user constraints : space size x,y,z = %ld,%ld,%ld ", model_size_x, model_size_y, model_size_z);
|
printf("\nmodel + user constraints : space size x,y,z = %ld,%ld,%ld ", model_size_x, model_size_y, model_size_z);
|
||||||
if (model_arrows_nb > 0) printf("[%d] arrows ", model_arrows_nb);
|
if (model_arrows_nb > 0) printf("[%d] arrows ", model_arrows_nb);
|
||||||
// if (pref_mark_unit_space == 0) printf("no unit_space marks ");
|
// if (pref_mark_unit_space == 0) printf("no unit_space marks ");
|
||||||
// if (pref_mark_unit_space == 1) printf("first unit space marked ");
|
// if (pref_mark_unit_space == 1) printf("first unit space marked ");
|
||||||
|
@ -507,7 +507,7 @@ void show_user_choices(long model_size_x, long model_size_y, long model_size_z,
|
||||||
printf("[%2d] = %2d, %2d, %2d, %2d, %2d \n",\
|
printf("[%2d] = %2d, %2d, %2d, %2d, %2d \n",\
|
||||||
i, *(arrows + i * 5 + 0), *(arrows + i * 5 + 1), *(arrows + i * 5 + 2), *(arrows + i * 5 + 3), *(arrows + i * 5 + 4));
|
i, *(arrows + i * 5 + 0), *(arrows + i * 5 + 1), *(arrows + i * 5 + 2), *(arrows + i * 5 + 3), *(arrows + i * 5 + 4));
|
||||||
|
|
||||||
printf("NB If you play : 'draw_some_arrows(...)' and add some more arrows (in graphics.c below line 571),\
|
if (0) printf("NB If you play : 'draw_some_arrows(...)' and add some more arrows (in graphics.c below line 571),\
|
||||||
you must also increase the number of arrows (line 555) \n\
|
you must also increase the number of arrows (line 555) \n\
|
||||||
The 'central_stars_nb' is automatically set equal to the number_of_arrows (line 559).\n");
|
The 'central_stars_nb' is automatically set equal to the number_of_arrows (line 559).\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -548,7 +548,7 @@ static void get_model_data_and_user_preferences(){
|
||||||
|
|
||||||
model_space_size_x = 4; // 0 < model_space_size_x
|
model_space_size_x = 4; // 0 < model_space_size_x
|
||||||
model_space_size_y = 3; // 0 < model_space_size_y
|
model_space_size_y = 3; // 0 < model_space_size_y
|
||||||
model_space_size_z = 2; // 0 < model_space_size_z
|
model_space_size_z = 3; // 0 < model_space_size_z
|
||||||
|
|
||||||
// XXX ONLY space drawed, no arrows yet
|
// XXX ONLY space drawed, no arrows yet
|
||||||
|
|
||||||
|
@ -642,9 +642,9 @@ static void compute_buffers_sizes(int model_space_size_x,
|
||||||
|
|
||||||
// buffer_lines_size += 16 + 20; // draw a small cube with diagonals
|
// buffer_lines_size += 16 + 20; // draw a small cube with diagonals
|
||||||
|
|
||||||
buffer_lines_size -= 2;
|
// buffer_lines_size -= 2;
|
||||||
|
|
||||||
if (1) printf("allocated buffers sizes :%4d/3 = %3d vertices, %4d/3 = %3d colors,\
|
if (0) printf("allocated buffers sizes :%4d/3 = %3d vertices, %4d/3 = %3d colors,\
|
||||||
%4d/2 = %3d lines, %4d/3 = %3d plans.\n",
|
%4d/2 = %3d lines, %4d/3 = %3d plans.\n",
|
||||||
buffer_vertex_size, buffer_vertex_size / 3,
|
buffer_vertex_size, buffer_vertex_size / 3,
|
||||||
buffer_colors_size, buffer_colors_size / 3,
|
buffer_colors_size, buffer_colors_size / 3,
|
||||||
|
@ -659,6 +659,11 @@ static bool rewrite_arrow (GLuint *arrows, long address, long weight,
|
||||||
{
|
{
|
||||||
printf("write the arrow weight to %ld at (%ld, %ld, %ld, %ld)\n",\
|
printf("write the arrow weight to %ld at (%ld, %ld, %ld, %ld)\n",\
|
||||||
weight, site, x, y, z);
|
weight, site, x, y, z);
|
||||||
|
|
||||||
|
*(arrows + address + 0) = weight;
|
||||||
|
|
||||||
|
show_user_choices(model_space_size_x, model_space_size_y, model_space_size_z,
|
||||||
|
arrows, arrows_nb, pref_show_grid);
|
||||||
return 1; /* replaces the load of the existing arrow by the load 'weight' */
|
return 1; /* replaces the load of the existing arrow by the load 'weight' */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -666,6 +671,20 @@ static bool create_arrow (GLuint *arrows, long weight, long site, long x, long y
|
||||||
{
|
{
|
||||||
printf("create a new arrow with weight = %ld at (%ld, %ld, %ld, %ld)\n",\
|
printf("create a new arrow with weight = %ld at (%ld, %ld, %ld, %ld)\n",\
|
||||||
weight, site, x, y, z);
|
weight, site, x, y, z);
|
||||||
|
|
||||||
|
arrows_nb ++;
|
||||||
|
buffer_lines_origin = g_realloc(buffer_lines_origin, buffer_lines_size * 2 * sizeof(GLuint) * 2);
|
||||||
|
|
||||||
|
*(arrows + buffer_lines_size + 0) = weight;
|
||||||
|
*(arrows + buffer_lines_size + 1) = site;
|
||||||
|
*(arrows + buffer_lines_size + 2) = x;
|
||||||
|
*(arrows + buffer_lines_size + 3) = y;
|
||||||
|
*(arrows + buffer_lines_size + 4) = z;
|
||||||
|
|
||||||
|
buffer_lines_size += 14;
|
||||||
|
|
||||||
|
show_user_choices(model_space_size_x, model_space_size_y, model_space_size_z,
|
||||||
|
arrows, arrows_nb, pref_show_grid);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -708,6 +727,7 @@ static long check_for_arrow (GLuint *arrows, long site, long x, long y, long z)
|
||||||
f_z = *(arrows + i * 5 + 4);
|
f_z = *(arrows + i * 5 + 4);
|
||||||
|
|
||||||
if (f_site == site && f_x == x && f_y == y && f_z == z) {
|
if (f_site == site && f_x == x && f_y == y && f_z == z) {
|
||||||
|
if (f_weight > 1) printf("weight = %ld ", f_weight);
|
||||||
address = i * 5;
|
address = i * 5;
|
||||||
printf("found at %ld (%ld / 5 = %ld)\n", address, address, address / 5);
|
printf("found at %ld (%ld / 5 = %ld)\n", address, address, address / 5);
|
||||||
}
|
}
|
||||||
|
@ -810,6 +830,13 @@ void graphics_init_buffers(const void *gl_area)
|
||||||
set_arrow(arrows, 0, 2, 2, 1, 1);
|
set_arrow(arrows, 0, 2, 2, 1, 1);
|
||||||
set_arrow(arrows, 0, 3, 2, 2, 1);
|
set_arrow(arrows, 0, 3, 2, 2, 1);
|
||||||
|
|
||||||
|
set_arrow(arrows, 1, 0, 0, 0, 2);
|
||||||
|
set_arrow(arrows, 1, 1, 1, 0, 2);
|
||||||
|
set_arrow(arrows, 1, 2, 0, 0, 2);
|
||||||
|
set_arrow(arrows, 1, 3, 0, 1, 2);
|
||||||
|
|
||||||
|
// set_arrow(arrows, 2, 1, 1, 0, 2);
|
||||||
|
|
||||||
draw_some_arrows (buffer_lines_origin, s,
|
draw_some_arrows (buffer_lines_origin, s,
|
||||||
model_space_size_z * model_space_size_y, model_space_size_z,
|
model_space_size_z * model_space_size_y, model_space_size_z,
|
||||||
arrows, arrows_nb);
|
arrows, arrows_nb);
|
||||||
|
|
Loading…
Reference in New Issue