Just increase point lights limit per light cell.
Also:
- update infotool to show point lights info
- move light cluster finalization to vk_scene to make sure infotool has
the recentmost data
added vk_only for old -rtx behavior (full disable rtx pipeline)
remove -vkskipdev and skip_first_device as unused and obsolete
remove obsolete check ("missing ray tracing extensions")
addedv VK_LoadCvarsRTX for rtx commands
remove vk_rtx_prev_frame_blend_factor as an outdated command
added vk_deviceid as a stub for video device selection
vk_rtx_reload_materials no longer shown when vk_core.rtx = 0
example:
```
{
"_xvk_surface_id" "489"
"_xvk_texture" "#maps/test_material.bsp:debug_normal1.mip"
}
```
if _xvk_texture is empty, then the surface will be deleted
surfaces can be deleted or their
this is mostly copied from ray tracing gems 2 chapter 7 (Texture Coordinate Gradients Estimation for Ray Cones, by Wessam Bahnassi).
There's a weird bit about radians vs degrees. We'll figure it out later when the book becomes available.
track brush models movement and update lights grid clusters with model transform and stuff
also implement animated textures for rtx
and also increase per-cluster lights limits
use bsp/pvs-based visibility data for acceleration:
+ fps 5 -> 60
- correctness: some areas have too many lights, which ends up culling visible ones too
also fix shadow artefacts
This was an attempt to add map lighting w/o lightmaps. Unfortunately
there are just not enought of them to explain all light in maps. We're
missing something else. A lot of it.
we were mixing up row vs column major matrices
now RTX ray generation is fixes, and traditional rasterizer rendering
should also be projecting similar to gl render
Now each geometry is first allocated a slot with VK_RenderBufferAlloc,
and then VK_RenderBufferLock/Unlock are used to upload buffer contents.
This allow for two things:
1. Uploading buffer data to GPU memory on/after Unlock.
2. (Re)building BLAS for RTX on/after Unlock.
These buffers are now directly referenced by render_draw_t, which also
will be helpful in the future for both renderers.
Now rendering submodules specify their colors and matrices using
VK_RenderState global stat api. This is a trade-off between making all
submodules track their state on their own, or managing that state
centrally.
not all beam types are supported yet
also changes studio api init sequence, fixes missing cvars
vertex type struct is no longer names as brush-specific
uniform buffer allocation is now in vk_render
blending issues still remain
Lightstyles remain fixed for the entire map duration. Need to implement either texture reupload in VK, or devise some other scheme of updating ligtmaps w/o texture reupload (lightstylevalues uniform buffers?).