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

# SCM Repository

[diderot] Diff of /branches/vis12/TODO
 [diderot] / branches / vis12 / TODO

# Diff of /branches/vis12/TODO

revision 1115, Thu May 5 04:42:18 2011 UTC revision 1120, Thu May 5 08:18:26 2011 UTC
# Line 5  Line 5
5  other SHORT TERM =============  (including needed for LIC)  other SHORT TERM =============  (including needed for LIC)
6  ==============================  ==============================
7
8    Add a clamp function, which takes three arguments; either three scalars:
9      clamp(x, minval, maxval)  = max(minval, min(maxval, x))
10    or three vectors of the same size:
11      clamp([x,y], minvec, maxvec)  = [max(minvec[0], min(maxvec[0], x)),
12                                       max(minvec[1], min(maxvec[1], y))]
13    This would be useful in many current Diderot programs.
14    One question: clamp(x, minval, maxval) is the argument order
15    used in OpenCL and other places, but clamp(minval, maxval, x)
16    would be more consistent with lerp(minout, maxout, x).
17
18    Level of differentiability in field type should be statement about how
19    much differentiation the program *needs*, rather than what the kernel
20    *provides*.  The needed differentiability can be less than or equal to
21    the provided differentiability.
22
23  [GLK:1] Add sequence types (needed for evals & evecs)  [GLK:1] Add sequence types (needed for evals & evecs)
24      syntax      syntax
25          types: ty '{' INT '}'          types: ty '{' INT '}'
# Line 52  Line 67
67  [GLK:3] Use of Teem's "hest" command-line parser for getting  [GLK:3] Use of Teem's "hest" command-line parser for getting
68  any input variables that are not defined in the source file  any input variables that are not defined in the source file
69
70  [GLK:4] ability to declare a field in such a way so that probe  [GLK:4] ability to declare a field so that probe positions are
71  positions are *always* clamped to the support of "inside";  *always* "inside"; with various ways of mapping the known image values
72  there are many cases where this is the sensible behavior.  to non-existant index locations.  One possible syntax emphasizes that
73  (could also have "repeat" declaration, to mimic GL_REPEAT texturing)  there is a index mapping function that logically precedes convolution:
74      F = bspln3 ⊛ (img ◦ clamp)
75      F = bspln3 ⊛ (img ◦ repeat)
76      F = bspln3 ⊛ (img ◦ mirror)
77    where "◦" or "∘" is used to indicate function composition
78
79  extend norm (|exp|) to all tensor types [DONE for vectors and matrices]  extend norm (|exp|) to all tensor types [DONE for vectors and matrices]
80
# Line 96  Line 115
115  [GLK:5] run-time death of strands; test/iso2d.diderot provides  [GLK:5] run-time death of strands; test/iso2d.diderot provides
116  great initial test for "die" command.  great initial test for "die" command.
117
118    Put small 1-D and 2-D fields, reconstructed by tent, into
119    faster texture buffers
120
121  run-time birth of strands  run-time birth of strands
122
123  "initially" supports lists  "initially" supports lists
# Line 157  Line 179
179  BUGS =================  BUGS =================
180  ======================  ======================
181
test/bug-usevar.diderot:
looks like varialble scoping bug is still present in some cases?

test/bug-matrix.diderot:
3x3 matrix subtraction is broken
(and then fix test/vr-curv-quad.diderot)