Commit Graph

1983 Commits

Author SHA1 Message Date
Ivan 'provod' Avdeev afa1e8557a rtx: fix c0a0d emissive toxic liquid, fix #56
It was missing msurface_t reference which is (unnecessarily) required for light clusters computation

Also add more verbose debug names for dynamic models.
2021-09-14 17:47:05 -07:00
Ivan Avdeev 3d0dafa8b4 fix rad filenames for maps 2021-09-11 15:47:16 -07:00
Ivan 'provod' Avdeev 7f1e6c8256 rtx: slightly improve (decrease) acne
how: we do not need to add emissive when doing diffuse gi bounce, as contribution from these lights will be computed in computeLighting.
They only need to be sampled for specular bounce.

The rest of the acne should be mitigated by denoiser i think.

Fix #51
2021-09-11 15:47:16 -07:00
Ivan 'provod' Avdeev 5ce91209ce rtx: load rad files from rad/<mapname>.rad, fix #43 2021-09-11 15:47:16 -07:00
Ivan Avdeev d802ce279b
and another update ...
making sentences is hard
2021-09-11 00:09:12 -07:00
Ivan Avdeev e5600fc0b3
Minor readme update 2021-09-11 00:07:33 -07:00
Ivan Avdeev 9df24231d5
Update README about this fork 2021-09-10 23:59:21 -07:00
Ivan Avdeev 4994ecf56d
Merge pull request #54 from w23/master-merge
Merge with latest master from upstream FWGS repo
2021-09-09 20:36:05 -07:00
Ivan Avdeev 18056700cf disable that SARIF thingie 2021-09-09 20:28:15 -07:00
Ivan Avdeev 908e54114b Merge remote-tracking branch 'upstream/master' into vulkan 2021-09-09 20:15:13 -07:00
Ivan Avdeev cfe5612a3a attenuate area lights by projected area, fix #46
Also, tune "tonemapping"
2021-09-08 10:08:47 -07:00
Ivan Avdeev 0839f9673b update todo; move materials draft to separate file 2021-09-06 14:24:36 -07:00
Ivan Avdeev ae12b4505d remove material flags 2021-09-06 14:24:36 -07:00
Ivan Avdeev de611e159a assume textures are linear
this way it looks more like traditional renderer w/ lightmaps
2021-09-06 14:24:36 -07:00
Ivan Avdeev 2b2552cd72 fix rad file parsing
parsing strings in c is hard
2021-09-06 14:24:36 -07:00
Ivan Avdeev 86d669c708 enlarge scratch buffer to support more models 2021-09-06 12:03:44 -07:00
Ivan Avdeev b9f5f87c76 bring back ray traced transparency
1. Probabilistically let ray through material or reflect it based on
   transparency probability (which is essentially just alpha for now).
2. Introduce opaque flag to be able to treat transparent objects as not
   casting shadows. This is not very realistic, but oh well.
2021-09-06 11:57:23 -07:00
Alibek Omarov 2939ab8ea4 wscript: allow compiling with disabled warning-as-error 2021-09-06 00:04:27 +03:00
Ivan Avdeev 9759221e02 rtx: fix linux build 2021-09-04 13:50:05 -07:00
Ivan 'provod' Avdeev 672b2de75a rtx: cascading rad sheets
Read rad data from lights.rad and then mapname.rad
2021-09-04 13:50:05 -07:00
Ivan 'provod' Avdeev c90187f57f rtx: use a common definition for Kusok; pass color
Also pass alpha (not used yet)
2021-09-04 13:50:05 -07:00
Ivan 'provod' Avdeev 22e76513a4 rtx: better lighting scaling
Remove arbitrary lightness fudge in favor of proper distance scaling.
According to TEH INTERNETS one unit is one inch. So there are 39.37 units per meter.
Scale distances to meters for lighting calculations.
2021-09-04 13:50:05 -07:00
Ivan 'provod' Avdeev 36cfe22e8d rtx: add sbt hit entry w/o any hit
Majority of materials are without alphamask, so no need to have any hit shader
2021-09-04 13:50:05 -07:00
Ivan Avdeev 8cf040f9be rtx: improve emissive surface sampling
Sample a single triangle not in a loop.
2021-09-04 13:50:05 -07:00
Ivan Avdeev e4aea1486f ingest more of brdf for bounces 2021-09-04 13:50:05 -07:00
Ivan Avdeev 9c330e4118 add brdfs for lights
Just straight copy-paste CC brdf header from Ray Tracing Gems 2 chapter
14.
Use these brdfs for direct lighting.
2021-09-04 13:50:05 -07:00
Ivan Avdeev d8ebf5ac33 rtx: add emissive color, remove emissive flag 2021-08-31 11:19:44 -07:00
Ivan Avdeev 8d06058aa4 rtx: add first iteration of material flags support
it's clearly suboptimal, but no worries, we'll iterate
2021-08-31 11:19:44 -07:00
Ivan 'provod' Avdeev 0259c09e9a add swizzle for RGBA-BGRA format pair when saving screenshot
this is the pair that breaks on nvidia (yay there's at least one thing that amd is better at!)
2021-08-31 11:19:44 -07:00
Ivan Avdeev 280e6109c6 add screenshots
now vulkan can do screenshots too. however, it depends on blits being
available between swapchain and rgba8 formats, so if it's not the case
for some reason, the resulting image will have mixed components.
2021-08-31 11:19:44 -07:00
Ivan Avdeev 3b605a19b5 fix depth test for glow render mode; comments
also add a lot of observations to ref_vk/TODO.md related to materials
2021-08-31 11:19:44 -07:00
Alibek Omarov dd90262db2 ci: try to create license file by ourselves 2021-08-27 18:48:48 +03:00
Alibek Omarov 4f8e4b5f64 mainui: update 2021-08-27 18:23:38 +03:00
Alibek Omarov 32068d8090 client: fix wrong paused icon 2021-08-27 18:09:07 +03:00
Alibek Omarov bd4979f5b0 ci: adding pvs-studio checking 2021-08-27 17:55:33 +03:00
Alibek Omarov a5e1e9646c mainui: update 2021-08-27 17:47:37 +03:00
Alibek Omarov 013918a371 console: redefine con_color as cvar 2021-08-27 17:05:02 +03:00
Ivan Avdeev 76b82ac884 rtx: calculate maxVertex correctly
after we've updated how brush index buffer references vertices to allow
for draw call coalescing ray tracing broke on amd.
this is because amd cards expect a correct value in
VkAccelerationStructureGeometryTrianglesDataKHR::maxVertex. make sure we
fill a correct value there.
2021-08-18 09:39:33 -07:00
Ivan Avdeev 93cab236ba split device enumeration and creation, fixes #28 2021-08-16 23:22:13 -07:00
Ivan Avdeev e71a9de057
Merge pull request #30 from w23/brush-concat-drawcalls
concat brush drawcalls
2021-08-15 12:08:06 -07:00
Ivan 'provod' Avdeev ee8e9d8ff7 concat brush drawcalls
make all geoms share the same constant vertex offset so that continuous indices can be exploited to generate only a single draw call for a group of geometries with the same texture
2021-08-15 11:30:38 -07:00
Ivan Avdeev 584ca32d36
Merge pull request #29 from w23/debug-labels
restore debug labels for traditional renderer
2021-08-15 11:25:49 -07:00
Ivan 'provod' Avdeev a0a36f5a14 fix c89 2021-08-15 11:14:33 -07:00
Ivan 'provod' Avdeev dc6b874cae restore debug labels for traditional renderer 2021-08-15 11:02:57 -07:00
Ivan Avdeev ba761b370d
Merge pull request #27 from w23/aftermath-fix
fix building with aftermath
2021-08-14 19:00:19 -07:00
Ivan Avdeev 31520a7c0b
Merge pull request #26 from w23/better-buffers
join alloc+lock operations on buffer init

also disable ci results uploading, this is at the very best useless
2021-08-14 18:42:56 -07:00
Ivan 'provod' Avdeev a094088330 ci: do not upload anything
why would you even
uploading many hundreds of megabytes of twice for each PR is not great
2021-08-14 18:33:03 -07:00
Ivan 'provod' Avdeev fe0223c8d3 fix building with aftermath 2021-08-14 18:30:52 -07:00
Ivan Avdeev 5208219b44 join alloc+lock operations on buffer init
this simplifies the api and implementation
2021-08-11 11:43:33 -07:00
Ivan Avdeev bd7fc0a981
Merge pull request #25 from w23/studio-lighting
Implement vertex lighting, improve anisotropy detection
2021-08-07 18:59:55 -07:00