summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilrik de Loose <wilrik@wilrik.nl>2008-01-08 14:18:00 (GMT)
committerWilrik de Loose <wilrik@wilrik.nl>2008-01-08 14:18:00 (GMT)
commitca385d1f354c71b767fb569860ceac58b90861b4 (patch)
tree701b1f192bc1a9faa4031bda84bacd6e406a1184
parent0ce08ace350d6cc856304a428896c4477876159c (diff)
download2iv35-ca385d1f354c71b767fb569860ceac58b90861b4.zip
2iv35-ca385d1f354c71b767fb569860ceac58b90861b4.tar.gz
2iv35-ca385d1f354c71b767fb569860ceac58b90861b4.tar.bz2
-rw-r--r--Smoke/Week 2.suobin64512 -> 64512 bytes
-rw-r--r--Smoke/gui_requirements.txt42
-rw-r--r--Smoke/renderer_gl.c66
3 files changed, 75 insertions, 33 deletions
diff --git a/Smoke/Week 2.suo b/Smoke/Week 2.suo
index 93aecb8..613c8ba 100644
--- a/Smoke/Week 2.suo
+++ b/Smoke/Week 2.suo
Binary files differ
diff --git a/Smoke/gui_requirements.txt b/Smoke/gui_requirements.txt
new file mode 100644
index 0000000..83adcf5
--- /dev/null
+++ b/Smoke/gui_requirements.txt
@@ -0,0 +1,42 @@
+COLOR MAPPING
+
++ choose between colormaps
++ select number of colors
++ clamping
+- color legend bug (scaling, clamping, negative values)
+- saturation and hue
+- scaling
+
+GLYPHS
+
++ choose scalar field
++ choose vector field
+- grid resolution (var_dim)
+- choose different glyph
+
+DIVERGENCE
+
++ visualize velocity divergence
++ visualize force divergence
+- negative color values
+
+ISOLINES
+
++ render isoline
+- select isoline colormap
+- alter number of isolines
+- alter min and max threshold
+
+HEIGHT PLOTS
+
++ mouse rotation
++ mouse translation
++ mouse zoom
+- select different scalar field for height
+
+STREAM TUBES
+
+- placement of seedpoints
+- trace streamlines
+- draw tube geometry around streamline
+- ... \ No newline at end of file
diff --git a/Smoke/renderer_gl.c b/Smoke/renderer_gl.c
index 1e2e27c..84f15d6 100644
--- a/Smoke/renderer_gl.c
+++ b/Smoke/renderer_gl.c
@@ -375,7 +375,7 @@ static void render_glyph(GLUquadricObj *qobj, float x_value, float y_value, floa
x0 = wn + (fftw_real)i * wn;
y0 = hn + (fftw_real)j * hn;
- z0 = 100.0f;
+ z0 = 16.0f;
x1 = x0 + (vec_scale * x_value)/4;
y1 = y0 + (vec_scale * y_value)/4;
@@ -606,115 +606,115 @@ static void render_isolines(void)
{
case 1:
x0 = 0;
- y0 = percentage(v3, v0, threshold, 0) * hn;
- x1 = percentage(v1, v0, threshold, 0) * wn;
+ y0 = percentage(v3, v0, threshold) * hn;
+ x1 = percentage(v1, v0, threshold) * wn;
y1 = hn;
break;
case 2:
- x0 = percentage(v1, v0, threshold, 0) * wn;
+ x0 = percentage(v1, v0, threshold) * wn;
y0 = hn;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 3:
x0 = 0;
- y0 = percentage(v3, v0, threshold, 0) * hn;
+ y0 = percentage(v3, v0, threshold) * hn;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 4:
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 5:
x0 = 0;
- y0 = percentage(v3, v0, threshold, 0) * hn;
- x1 = percentage(v1, v0, threshold, 0) * wn;
+ y0 = percentage(v3, v0, threshold) * hn;
+ x1 = percentage(v1, v0, threshold) * wn;
y1 = hn;
glVertex3i(x_offset + x0, y_offset + y0, 5.0f);
glVertex3i(x_offset + x1, y_offset + y1, 5.0f);
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 6:
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
- x1 = percentage(v1, v0, threshold, 0) * wn;
+ x1 = percentage(v1, v0, threshold) * wn;
y1 = hn;
break;
case 7:
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
x1 = 0;
- y1 = percentage(v3, v0, threshold, 0) * hn;
+ y1 = percentage(v3, v0, threshold) * hn;
break;
case 8:
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
x1 = 0;
- y1 = percentage(v3, v0, threshold, 0) * hn;
+ y1 = percentage(v3, v0, threshold) * hn;
break;
case 9:
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
- x1 = percentage(v1, v0, threshold, 0) * wn;
+ x1 = percentage(v1, v0, threshold) * wn;
y1 = hn;
break;
case 10:
x0 = 0;
- y0 = percentage(v3, v0, threshold, 0) * hn;
- x1 = percentage(v1, v0, threshold, 0) * wn;
+ y0 = percentage(v3, v0, threshold) * hn;
+ x1 = percentage(v1, v0, threshold) * wn;
y1 = hn;
glVertex3i(x_offset + x0, y_offset + y0, 5.0f);
glVertex3i(x_offset + x1, y_offset + y1, 5.0f);
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 11:
- x0 = percentage(v3, v2, threshold, 0) * wn;
+ x0 = percentage(v3, v2, threshold) * wn;
y0 = 0;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 12:
x0 = 0;
- y0 = percentage(v3, v0, threshold, 0) * hn;
+ y0 = percentage(v3, v0, threshold) * hn;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 13:
- x0 = percentage(v1, v0, threshold, 0) * wn;
+ x0 = percentage(v1, v0, threshold) * wn;
y0 = hn;
x1 = wn;
- y1 = percentage(v2, v1, threshold, 0) * hn;
+ y1 = percentage(v2, v1, threshold) * hn;
break;
case 14:
x0 = 0;
- y0 = percentage(v3, v0, threshold, 0) * hn;
- x1 = percentage(v1, v0, threshold, 0) * wn;
+ y0 = percentage(v3, v0, threshold) * hn;
+ x1 = percentage(v1, v0, threshold) * wn;
y1 = hn;
break;