Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/tash/test/vr.diderot
ViewVC logotype

Annotation of /branches/tash/test/vr.diderot

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1927 - (view) (download)
Original Path: branches/vis12/test/vr.diderot

1 : jhr 36 // vr.diderot
2 :     //
3 :     // volume rendering example in Diderot
4 :     //
5 :    
6 : jhr 38 input real stepSz; // size of steps
7 : jhr 39 input vec<3> light;
8 :     input int wid = 640;
9 :     input int ht = 480;
10 : jhr 36
11 : jhr 1927 input image[3] img = load (dataFile);
12 : jhr 36
13 : jhr 39 field#1[3] F = convolve (bspln3, img);
14 :    
15 : jhr 511 strand RayCast (int row, int col)
16 : jhr 38 {
17 : jhr 39 vec<3> dir = (real(row), real(col), 0.0);
18 :     vec<3> pos = (0.0, 0.0, 0.0);
19 :     real t = 0.0;
20 :     real[4] color = (0.0, 0.0, 0.0, 0.0);
21 : jhr 38
22 :     update
23 :     {
24 : jhr 39 vec<3> pt = pos + t*dir;
25 :     t = t + stepSz;
26 :     vec<3> g = (D F)@pt;
27 :     color = over(color, phong(light, g, txf(F@pt)));
28 :     if (color[3] >= 0.999)
29 :     stabilize;
30 : jhr 38 }
31 :    
32 :     }
33 : jhr 40
34 :     initially
35 :     [ RayCast(r, c) | r in 0 .. ht-1, c in 0 .. wid-1 ];

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0