- explicitly group cache-related fields
- move kusochki allocation to where it's actually used
this makes a step towards better blas management from bottom up
That PR has more stuff in it which we decided to drop.
This commit only contains:
- Detection of func_wall models, and adding their lights as static
(fixes#415).
- Patching func_wall models offsets, #335. Does not yet patch them
visually, but patches their light sources. Will be addressed in next
commits. Patching is done via model name, not entity id, also will be
fixed.
- Does not address culling (#118). This is the part dropped from the PR.
Needs different approach. TBD
Consolidate VkCommandBuffer management into a single entity. (somewhat
done for framectl, not done for staging)
Make sure that we pass enough metadata to be able to timestamp scopes in
cmdbuf.
It does compile, but it won't work: not all init code paths are used.
Also, there are many changes, so other failure modes are totally
possible.
Do not entangle brush model loading with loading surface lights.
Do a separate pass over brush model surfaces for the sole purpose of
finding light sources. Enables consistent live-reloading light data
after patching entities/surface/rad files.
Instead of passing model color around as an implicit global state, pass it per-model.
This makes it (a) easier to track, (b) easy to fix blending issues. E.g. this fixes incorrect coloring of brush and studio models, which is also different.
still not fully there:
- glow is slightly off
- TransAlpha has wrong blending mode
apparently pipeline settings for brushes, models, and sprites are substantially different, need different pipelines