-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathtodo.txt
96 lines (65 loc) · 4.75 KB
/
todo.txt
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
TODOs:
raytracing:
using separate, duplicated index/vertex buffers (and others) for now... need to extend some avk functions, esp. for AS building
add subpixel jittering so taa can work on raytraced image? do we need that actually?
do proper alpha-blending for transparents (accumulate hit counts + alpha-scaled colors) - need to traverse in ray sequence?
ok - do normal mapping
recheck - (after having fixed normals) - dark spots in anim-models are self-shadows.. need very high tmin
refactor tlas/blas rebuilding
ok (ish) - determine mip level for texture sampling? -> see papers "Improved Shader and Texture Level of Detail Using Ray Cones" and "Texture Level of Detail Strategies for Real-Time Ray Tracing"
ok - is it really necessary to update TLAS after updating BLAS? -> yes, it is according to JU
most anim objects (and other dyn objects) don't use normal mapping -> don't need full NTB calc, just set a flag in ray tracer to ignore nrm.mapping
ok - use same render debug displays as in raster version
ok - FXAA for off-screen disocclusions
set FXAA params
normals derivative for segmask? really necessary/useful?
try to achieve SAME image when using RT ALL in taa - see eg. gob.ghosting scene for diff (use rt hist)
should we merge ray traced (and FXAA'ed) pixels back into TAA history buffer?
use same jitter pattern as TAA for ray tracing sample distribution? optional!
test augmented taa with thin structures (wires, branches...)
FIXME! vulkan sdk bug?: vali error on anim obj. rebuild barrier -> known issue: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2645
-> temporarily commenting out barrier for now
recheck - really? goblin looks blurred in TAA when RTX-assist is on, even if segmask is all zero and fxaa disabled. wtf?
!Bistro scene: wires great for RTX-TAA demonstration
Bistro scene: transparents not ok in rasterer? (eg. curtains at main balcony - but curtain above is ok; backface culling?)
Still some subtle color/shading differences on leaves between rasterer and ray tracer
load approx with textureGrad? not quite working
!!! fix validation error on compute pipeline @ startup !!!
sample transparents shadows in rasterer also with lod 0
didn't test or work with deferred renderer for a while. check that it is still ok or drop it.
auto-detect transparent materials by looking for alpha < 1 in diffuse texture?
shadowmap cascades are truncated in emerald square
!add new settings to save/load funcs - main and taa
test scene: normal mapping wrong? (models have no proper tangents/bitangents?)
still problems with slow-mo when capturing frames - use /frame instead of /sec when capturing for now!
ok - move any buffer updates from update() to render()! Update can be called for fif, if previous (same) fif is still executing!
- frustum culling notes: startup view/view at park (Emerald Square, no shadows, taa on)
- before separate scene data: 29/42 ms
per-fif buffers: same
host_coherent instead of device: 31/45
- with first version cpu culling: 10.5/35 (dev buffers)
10.8/37 (host-coherent buffers)
- second version: ~same results
- first version GPU culling: 11/36 (but now ~same with CPU - due to new/changed buffer setup?)
ok - avoid necessity of re-recording command buffers with culling (use vkCmdDrawIndexedIndirectCount)
- shadows: need backface culling disabled - why? something to do with upside-down shadow camera?
- Performance! Esp. w/ shadows!
Note: shadows of transparent obj. consumes much time, but NOT due to sampling diff. texture (diff=only ~2ms at ES park) ! It's just the amount of additional objects
ok Shadows: remove manual bias, add polygon offsets
- cleanup TODO list ;-) remove obsolete stuff, add notes from scratchpads
ok - do on-GPU visibility culling?
- make mDynObjectInstances (so we can have more than one instance of a model - need to move prevTransform etc. there)
- TAAU: WHY subtract jitter instead of add
- TAAU: with 4x upsampling and 4 samples -> why are there no "holes" in history? (because hist is cleared to full image?)
- TAAU: still some bugs? examine sponza lionhead border with 4xup
- soccerball model is badly reduced, has some holes
- moving objs with more than one mesh/material
- when using deferred shading - any point in using a compute shader for the lighting pass ?
- motion vectors problems, like: object coming into view from behind an obstacle. tags?
- is there any point to keep using 2 render-subpasses in forward rendering?
- recheck lighting, esp. w.r.t. twosided materials
- fix changed lighting flags in deferred shader
- shadows?
- need different alpha thresholds for blending/not blending
NOTES:
- transparency pass without blending isn't bad either - needs larger alpha threshold ~0.5