* Add Ubuntu 24.04 to CI matrix.
* Fix embree4 bitrot.
* For Linux, only upload artifact from Ubuntu 22.04 for now
Should fix this error reported on ubuntu-22.04's CI
Error: Failed to CreateArtifact: Received non-retryable error: Failed request: (409) Conflict: an artifact with this name already exists on the workflow run
* Use system TBB and Embree 4 on ubuntu-24.04
* skip packaging of embree/TBB if using system provided packages
* For Linux, only upload artifact from Ubuntu 22.04 for now (fix)
* common: fix ASan error on non-null-terminated (16 char long) texture names
---------
Co-authored-by: Daniel Svensson <dsvensson@gmail.com>
merge some light algorithms together
allow changing attenuation on surface lights with _surflight_atten
replace some emplace_back's with push_back to improve compilation times
Embree is allowed to call the filter function more than necessary.
The previous implementation had side effects that would cause
the translucent shadows to get darker in this case.
As a limitation, we're back to only allowing 1 layer of glass per ray.
- main mbsp types are declared first in the files, and types that were single-member are now not structs
- conversion is handled by the sub-types themselves. Currently no diagnostic for *what* members overflow, but, overflow is handled via thrown exceptions on all overflowable members
- aabb type is used where appropriate now, simplifying a few areas
typedef -> using
include guards -> pragma once
typedef struct x { } y; -> struct y { }
some fixes to extremely old code that shouldn't be required any more