summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilrik de Loose <wilrik@wilrik.nl>2008-01-02 11:38:16 (GMT)
committerWilrik de Loose <wilrik@wilrik.nl>2008-01-02 11:38:16 (GMT)
commit36180dad5ee17402328738feac97c83201102d23 (patch)
tree29f4e8e29e5066eb848099c30a58f75f252f5e7f
parent94f66fc3270f049202b25d79622f9042a37359eb (diff)
download2iv35-36180dad5ee17402328738feac97c83201102d23.zip
2iv35-36180dad5ee17402328738feac97c83201102d23.tar.gz
2iv35-36180dad5ee17402328738feac97c83201102d23.tar.bz2
-rw-r--r--Smoke/Week 2.ncbbin15518720 -> 15518720 bytes
-rw-r--r--Smoke/Week 2.suobin45056 -> 46080 bytes
-rw-r--r--Smoke/gtk.c16
-rw-r--r--Smoke/renderer_gl.c28
4 files changed, 23 insertions, 21 deletions
diff --git a/Smoke/Week 2.ncb b/Smoke/Week 2.ncb
index 1c906ff..30727ff 100644
--- a/Smoke/Week 2.ncb
+++ b/Smoke/Week 2.ncb
Binary files differ
diff --git a/Smoke/Week 2.suo b/Smoke/Week 2.suo
index 5c40e13..0f9fc0c 100644
--- a/Smoke/Week 2.suo
+++ b/Smoke/Week 2.suo
Binary files differ
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);
}