-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
191 lines (137 loc) · 7.25 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
Currently working on:
- SpectralControl for Noise Pattern
- Zoom
- fix: zoom to mouse cursor
- fix: make zoomed rendering faster
- Curve class and CurveParam class (for HDR output node)
- Caching System:
- implement a Debug view that shows the accesses and current cache elements (especially to
find memory leaks)
Feature Requests:
- Enable/Disable GUI Antialiasing Option
- Zoom,
- Export All Menu Item
- Anisotropic Blur Node
- UnDo stack
- Keyboard shortcuts
TODO:
- FIX: the problem with the emboss node and zoom (export does not look like Zoom!)
- Implement Interface public InputStream findData(String dataPath); inside the texture graph loader and bitmap
loader that can be replaced by some other loader (default loader uses file system; some other may use another
method).
- Not all nodes are using the caching system (for example the transform node or parts of the warp node); we
need to evaluate how interpolated access could help improving the performance of these nodes
- Fix the border in the caching system
- Export All button
- Change the file format to an XML format
JMonkeyPlatform Integration:
- List of possible
Current Keyboard Shortcuts:
- Ctrl-click on gradient editor nodes moves all
- Ctrl-click drags the desktop
- Dragging nodes: Ctrl-drag on target node connector connects to all nodes
- Alpha: Ctrl-drag on color gradient editor moves all nodes
- Spectral Control: Ctrl-Click leads to continous update of noise
Caching System and Derivative based nodes:
Idea: - perhaps store the derivative also in the cache buffer next to the color data
better: provide an extra cache access function for derivatives
- for warp, emboss, normal map try: use the non-cache evaluation for the warped texture
- make the cache tileable (and the tile size configurable)
Refactoring:
- the package names are from a legacy project and need adjustment to better reflect the current
structure
FIXME: don't remove the glpreview string in the texture graph files when gl preview is disabled/could not be loaded on graph save
Export Settings:
The current solution for export is to specify export in each
channel individually; this may be not the most efficient solution
Building an extra export node might be better but need to get some more
experience what is actually needed. (For example the export path should not
be hardcoded in each export node)
General:
- Make the Help-System using nice font and backgrounds and write a base dialog class for displaying such messages
- Make the parameter of a network accessible through commandline; this allows for simple animations
- Image Output Node (on change or on button press) writes out an image (can be used to store destination paths)
perhaps I want also to put the channel combiner in here (use 4 inputs and select the combination for the output image)
- Make the "Drag All" feature in the gradient editor more robust
- Special Color for bitmap pattern nodes in graph editor
- More Features needed in lighting node: ambient and diffuse lighting, highlight color, ...
- Higher order Interpolation in Gradient Editor (Hermite, ...)
OpenGL Preview
- Add a scrollbar to the parameter editor of the GL Preview (?)
- Encapsulate glsl uniform parameters and location code into class for easy adding/removing of shader parameters
- Load the preview objects from external data or generate them procedurally
Feature Requests:
Known Bugs:
- Check output of the kd-tree (in the cellular pattern) for non-euclidean distances (it should be wrong)
- Repaint of GLCanvas sloppy (without thread it disappears sometimes; with thread it flickers unnecessarily)
Planned Features:
- Tiled Export (for very large exported images)
- GLSL Export
- FFT-Node
- HDR OutputNode + Curve Editor
- Auto Graph Layout
- Loading and/or Editing of GL Shaders for Preview
- Export Format Specifier (How to group channels in export images; postfix for filenames)
- Multi-Core support for texture evaluation (especially for export)
- DXTC export
- ?? loading of own objects ??
-----------------------------------------------------------------------------------------------------------------------
Releases (Notes):
-----------------------------------------------------------------------------------------------------------------------
0.6.5+ (Current):
0.6.4:
- Modulus Filter
- merged OSX improvements by Talin
- Math1 filter (single channel math operations)
- Folding of Texture Nodes
- Directional Blur Filter
- Spectral Control for Noise Bands
0.6.3:
- Blur Filter added
0.6.2:
- Matrix a parameter and now only available in Patterns
- Transform Node as replacement
- Gamma Correction available in the ColorCorrect filter (renamed from the Brightness/Contrast filter)
- Desaturation in ColorCorrect filter (using HSV color space)
- Combine Filter Node (RGBA rearrangement)
- Selection of Multiple nodes
- Cache System Rewrite
- Improved Node Preview with arbitrary Zoom
0.6.1:
- external run time generation library now available
- some changes to the file format
- Export String (with replace options %f %r) for marking channels for export
- Command Line option for export to image (now batch export possible; also with wildcards)
- Basic drag-all feature in gradient editor (not yet very robust)
-----------------------------------------------------------------------------------------------------------------------
0.5.3a
- Command line options for loading texture file and disabling OpenGL
- Experimental: Synthesis Pattern
- Function Pattern: basic sin/saw/square function as generator pattern
- Possible fix for the 2.3 LWJGL
- Bitmap Pattern: allows to load images as generator patterns
-----------------------------------------------------------------------------------------------------------------------
0.5.2a
- some new pattern presets
- export of (almost) arbitrary resolution now works
- switched for release back from LWJGL 2.3 to LWJGL 2.2.2 because of MacOS problems
- re-enabled autosave into exit.tgr when quitting program
- added ambient term to OpenGL preview
- fixed some OpenGL preview bugs
- open texture file from command line parameter
- added popup-menu to OpenGL preview with clear textures option
-----------------------------------------------------------------------------------------------------------------------
0.5.1a:
- OpenGL Preview of Textures
-----------------------------------------------------------------------------------------------------------------------
Done:
- Add a transform Node
- Loading of Bitmap files as input nodes
- Move to new LWJGL Version 2.3
- Add preview objects with tangents (probably best to export them as vertex array)
- Add more preview objects
- Scaling of u/v coords for preview
- Interpolation Modes for Bitmap Node (at least bi-linear)
- Lighting Filter (with Normal Map input)
- Preview Node Zoom (showing a region of the texture (info should contain target resolution);
create a simple (self-managed) internal frame that can be moved, closed and with zoom controls