-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
60 lines (55 loc) · 2.47 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
- Misc
* Update protocol to support ready-state changes for nodes
* Use more types to clean up protocol state transitions to avoid
impossible states (draw protocol state transition diagram to help
tease apart legal states and protocol phases). One difficulty is
node resetting: we send reset messages on network renderer startup
to tell any running nodes to cancel old jobs, but if we do that we
might be sending messages that the nodes' parser loops don't expect
if their states expect values at specific types.
* Update console UI to show node details (current chunk, number of
CPUs, etc.) below rendering job status
* Texture antialiasing
* Interactive console and UI keys:
* Reload from disk and re-render
* With current settings
* With a higher sample count
* With a lower sample count
* Bump (height) mapping
* Support specifying a custom output filename prefix on the command
line
* Support specifying different output file formats on the command line
* Use juicypixels to emit output image files instead of BMP
- Benchmarks
* Generate vectors of random values in Samplers.hs to improve
performance
* Test use of uniformVector instead of repeated uniformR calls
* Use vectors instead of lists in some internal sampler operations
(e.g. shuffling using lists and !! will be slow)
- Sampling
* Make sampler-debug more useful (e.g. take side length options,
optionally emit sample values)
* Make more samplers configurable rather than hard-coding in the
rendering setup process. Done so far: lens sampler, pixel sampler;
to do next: square sampler, object sampler (currently object uses
square)
- Effects
* Materials:
* Blinn
* Refraction/caustics
* Textures
* Procedural (noise/wood/marble)
* More global illumination techniques (bidir path tracing, metropolis
light transport)
- Other
* Allow user to override tracing depth on command line
* Make it possible to set arbitrary config settings by using the yaml
structure? E.g. "world.viewPlane.hres=x"
* Make console output fancier, improve output of tracy-node (use
pretty-printing docs)
* Some settings in the scene are frame-independent, not animatable,
etc. These should be factored out of the Scene and SceneDesc types!
This would also avoid the ugly hack in Local.hs where we build a scene
from description just to get at some of those settings.
- Animation
* animate more things, add more animated value types