mirror of
https://github.com/w23/xash3d-fwgs
synced 2025-01-18 14:50:05 +01:00
5.6 KiB
5.6 KiB
2021-03-28
- bake s/d-lights visibility data into bsp leaves
Next
- rtx: use light visibility data
- rtx: read rad file data
- rtx: hack: interpret textures with '~' or '{' as emissive
- rtx: emissive particles
- rtx: textures
- rtx: add fps
- rtx: don't group brush draws by texture -- this has failed: increases BLAS count to ~3000, halves fps
- better AS structure (fewer blases, etc)
- rasterize into G-buffer, and only then compute lighting with rtx
- rtx: better random
- rtx: some studio models have glitchy geometry
Planned
- bake light visibility in compute shader
- rtx: cull light sources (dlights and light textures) using bsp
- enable entity-parsed lights by lightstyles
- dlight for flashlight seems to be broken
- restore render debug labels
- make 2nd commad buffer for resource upload
- fix sprite blending; there are commented out functions that we really need (see tunnel before the helicopter in the very beginning)
- fix projection matrix differences w/ gl render
- bad condition for temp vs map-permanent buffer error message
- draw more types of beams
- fix brush blending
- sprite depth offset
- fix incorrect viewport sprite culling
- improve g_camera handling; trace SetViewPass vs RenderScene ...
- loading to the same map breaks geometry
- studio model lighting
- move all consts to vk_const
- what is GL_Backend*/GL_RenderFrame ???
- particles
- decals
- issue: transparent brushes are too transparent (train ride)
- render skybox
- mipmaps
- lightmap dynamic styles
- flashlight
- screenshot
- fog
- studio models survive NewMap; need to compactify buffers after removing all brushes
- sometimes it gets very slow (1fps) when ran under lldb (only on stream?)
- optimize perf: cmdbuf managements and semaphores, upload to gpu, ...
- rtx: studio models should not pre-transform vertices with modelView matrix
Someday
- start building command buffers in beginframe
- multiple frames in flight (#nd cmdbuf, ...)
- cleanup unused stuff in vk_studio.c
- (helps with RTX?) unified rendering (brush/studio models/...), each model is instance, instance data is read from storage buffers, gives info about vertex format, texture bindings, etc; which are read from another set of storage buffers, ..
- waf shader build step -- get from upstream
- embed shaders into binary
- verify resources lifetime: make sure we don't leak and delete all textures, brushes, models, etc between maps
- custom allocator for vulkan
- stats
- better 2d renderer: fill DRAWQUAD(texture, color, ...) command into storage buffer instead of 4 vertices
- auto-atlas lots of smol textures: most of model texture are tiny (64x64 or less), can we not rebind them all the time? alt: bindless texture array
- can we also try to coalesce sprite draw calls?
- not visibly watertight map brushes
- collect render_draw_t w/o submitting them to cmdbuf, then sort by render_mode, trans depth, and other parameters, trying to batch as much stuff as possible; only then submit
Previously
2021-02-06
- alpha test
- compare w/ gl R_SetRendeMode
- raster state
- color constants
- culling
- shaders s/map/brush/
- pipeline cache
- swapchain getting stale
- HUD sprites
- issue: lightmap sometimes gets corrupted on map load
2021-02-08
- move entity rendering-enumeration into vk_scene
2021-02-10
- refactor brush into brushes and separate rendering/buffer management
- animated textures (accept PR)
2021-02-13
- move pipelines from brush to render
- render temp buffer api
- draw studio models somehow
- studio models vk debug markers
- studio models white texture as lightmap
- studio models fixes
2021-02-15
- weapon models -- viewmodel
- coalesce studio model draw calls
- initual sprite support
2021-02-17
- draw some beams
2021-02-20
- refactor vk_render interface:
- move uniform_data_t to global render state
inside render_draw_t, remove any mentions of uniform/slots from api; alt: global render state? - rename RenderDraw to SubmitDraw
add debug label to render_draw_t?;alt: VK_RenderDebugNameBegin/End- perform 3d rendering on corresponding refapi calls, not endframe
- move uniform_data_t to global render state
- fix sprite blending
2021-02-22
- RTX: load extensions with -rtx arg
- vk_render: buffer-alloc-centric upload and draw api
2021-03-06
- (RTX; common) Staging vs on-GPU buffers
- rtx: BLAS construction on buffer unlock
- rtx: ray trace compute shader
- dlight test
2021-03-08
- studio models normals
- rtx: geometry indexing
2021-03-10
- rtx: dlights
- rtx: dlight shadows
- rtx: dlight soft shadows
2021-03-13
- rtx: blend normals according to barycentrics
- rtx: (debug/dev) shader reload
- rtx: make projection matrix independent render global/current/static state
- rtx: model matrices
- rtx: light entities -- still not enough to enlight maps :(
- rtx: path tracing
2021-03-15
- rtx: control bounces with cvars
- rtx: device-local buffers -- doesn't affect perf noticeably :(
- rtx: emissive materials
- rtx: emissive textures
- rtx: emissive beams
2021-03-17..20
- rtx: lower resolution framebuffer + upscale
- rtx: importance sample emissive surface
- rtx: remove entnity-parsed lights
- rtx: naive temporal denoise: mix with previous frame
2021-03-22
- rtx: traverse bsp for science!