From ca385d1f354c71b767fb569860ceac58b90861b4 Mon Sep 17 00:00:00 2001 From: Wilrik de Loose Date: Tue, 8 Jan 2008 14:18:00 +0000 Subject: --- Smoke/Week 2.suo | Bin 64512 -> 64512 bytes Smoke/gui_requirements.txt | 42 +++++++++++++++++++++++++++++ Smoke/renderer_gl.c | 66 ++++++++++++++++++++++----------------------- 3 files changed, 75 insertions(+), 33 deletions(-) create mode 100644 Smoke/gui_requirements.txt diff --git a/Smoke/Week 2.suo b/Smoke/Week 2.suo index 93aecb8..613c8ba 100644 Binary files a/Smoke/Week 2.suo and b/Smoke/Week 2.suo 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; -- cgit v0.12