diff options
author | Wilrik de Loose <wilrik@wilrik.nl> | 2008-01-02 11:38:16 (GMT) |
---|---|---|
committer | Wilrik de Loose <wilrik@wilrik.nl> | 2008-01-02 11:38:16 (GMT) |
commit | 36180dad5ee17402328738feac97c83201102d23 (patch) | |
tree | 29f4e8e29e5066eb848099c30a58f75f252f5e7f | |
parent | 94f66fc3270f049202b25d79622f9042a37359eb (diff) | |
download | 2iv35-36180dad5ee17402328738feac97c83201102d23.zip 2iv35-36180dad5ee17402328738feac97c83201102d23.tar.gz 2iv35-36180dad5ee17402328738feac97c83201102d23.tar.bz2 |
-rw-r--r-- | Smoke/Week 2.ncb | bin | 15518720 -> 15518720 bytes | |||
-rw-r--r-- | Smoke/Week 2.suo | bin | 45056 -> 46080 bytes | |||
-rw-r--r-- | Smoke/gtk.c | 16 | ||||
-rw-r--r-- | Smoke/renderer_gl.c | 28 |
4 files changed, 23 insertions, 21 deletions
diff --git a/Smoke/Week 2.ncb b/Smoke/Week 2.ncb Binary files differindex 1c906ff..30727ff 100644 --- a/Smoke/Week 2.ncb +++ b/Smoke/Week 2.ncb diff --git a/Smoke/Week 2.suo b/Smoke/Week 2.suo Binary files differindex 5c40e13..0f9fc0c 100644 --- a/Smoke/Week 2.suo +++ b/Smoke/Week 2.suo diff --git a/Smoke/gtk.c b/Smoke/gtk.c index 7f95865..5c46c96 100644 --- a/Smoke/gtk.c +++ b/Smoke/gtk.c @@ -736,7 +736,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_main_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Colormap"); gtk_widget_show(notebook_page_label); @@ -744,7 +744,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_colormap_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Glyphs"); gtk_widget_show(notebook_page_label); @@ -752,7 +752,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_glyphs_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Divergence"); gtk_widget_show(notebook_page_label); @@ -760,7 +760,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_divergence_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Isolines"); gtk_widget_show(notebook_page_label); @@ -768,7 +768,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_isolines_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Height Plots"); gtk_widget_show(notebook_page_label); @@ -776,7 +776,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_heightplots_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Stream Tubes"); gtk_widget_show(notebook_page_label); @@ -784,7 +784,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_streamlines_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); notebook_page_label = gtk_label_new("Flow Vis"); gtk_widget_show(notebook_page_label); @@ -792,7 +792,7 @@ create_window (GdkGLConfig *glconfig, fftw_real *field) notebook_page = create_flowvis_page(); gtk_widget_show(notebook_page); - gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); + //gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); return window; } diff --git a/Smoke/renderer_gl.c b/Smoke/renderer_gl.c index d02442b..bcdded0 100644 --- a/Smoke/renderer_gl.c +++ b/Smoke/renderer_gl.c @@ -40,24 +40,30 @@ void vector_normal(struct point vert1, struct point vert2, struct point vert3, s struct point v1, v2; float length; + // vector v1 v1.x = vert1.x - vert2.x; v1.y = vert1.y - vert2.y; v1.z = vert1.z - vert2.z; + // vector v2 v2.x = vert2.x - vert3.x; v2.y = vert2.y - vert3.y; v2.z = vert2.z - vert3.z; + // calculate cross produkt normal->x = v1.y * v2.z - v1.z * v2.y; normal->y = v1.z * v2.x - v1.x * v2.z; normal->z = v1.x * v2.y - v1.y * v2.x; - length = vec_len3f(normal->x, normal->y, normal->z); + //normal->x = fabs(normal->x); + //normal->y = fabs(normal->y); + //normal->z = fabs(normal->z); if(length == 0.0f) { length = 1.0f; } + // normalize normal->x /= length; normal->y /= length; normal->z /= length; @@ -164,22 +170,19 @@ static void render_smoke(void) py = hn + (fftw_real)j * hn; idx = (j * DIM) + i; - glColor3f(rho[idx],rho[idx],rho[idx]); + color = colormap_get_color(get_dataset(idx)); + glColor4f(color.r, color.g, color.b, color.a); glVertex3f(px,py, height_array[idx]); // vertex 1 - - vert[0].x = px; - vert[0].y = px; - vert[0].z = height_array[idx]; - vert_nr++; for (i = 0; i < DIM - 1; i++) { px = wn + (fftw_real)i * wn; py = hn + (fftw_real)(j + 1) * hn; idx = ((j + 1) * DIM) + i; + get_dataset(idx); color = colormap_get_color(get_dataset(idx)); glColor4f(color.r, color.g, color.b, color.a); - glVertex3f(px, py, height_array[idx]); // vertex i + 1 + glVertex3f(px, py, height_array[idx]); // vertex 2 if (vert_nr > 2) { @@ -199,18 +202,17 @@ static void render_smoke(void) idx = (j * DIM) + (i + 1); color = colormap_get_color(get_dataset(idx)); glColor4f(color.r, color.g, color.b, color.a); - glVertex3f(px, py, height_array[idx]); // vertex i + 2 + glVertex3f(px, py, height_array[idx]); // vertex 3 vert[vert_nr % 3].x = px; vert[vert_nr % 3].y = px; vert[vert_nr % 3].z = height_array[idx]; - vert_nr++; if (vert_nr % 3 == 0) { vector_normal(vert[0], vert[1], vert[2], &normal); glNormal3f(normal.x, normal.y, normal.z); - } + } vert_nr++; } px = wn + (fftw_real)(DIM - 1) * wn; @@ -218,7 +220,7 @@ static void render_smoke(void) idx = ((j + 1) * DIM) + (DIM - 1); color = colormap_get_color(get_dataset(idx)); glColor4f(color.r, color.g, color.b, color.a); - glVertex3f(px, py, height_array[idx]); // vertex j + glVertex3f(px, py, height_array[idx]); // vertex 4 vert_nr++; if (vert_nr % 3 == 0) @@ -604,7 +606,7 @@ void init_gl(void) glEnable(GL_LIGHT0); glEnable(GL_COLOR_MATERIAL); - glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); + glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse); glLightfv(GL_LIGHT0, GL_POSITION, LightPosition); } |