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
dd90262db2
ci: try to create license file by ourselves
2021-08-27 18:48:48 +03:00
4f8e4b5f64
mainui: update
2021-08-27 18:23:38 +03:00
32068d8090
client: fix wrong paused icon
2021-08-27 18:09:07 +03:00
bd4979f5b0
ci: adding pvs-studio checking
2021-08-27 17:55:33 +03:00
a5e1e9646c
mainui: update
2021-08-27 17:47:37 +03:00
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
Ivan Avdeev
90e5500e83
add per-vertex studio model lighting
...
it doesn't correctly sample lightmaps for env lighting yet. we'll figure this out some time later ....
2021-08-07 19:56:38 -07:00
Ivan Avdeev
e6f8d8e47a
enable anisotropy if available
...
also force require vulkan 1.2 for now, need to have 1.0 device for testing lower versions (TODO)
2021-08-07 18:06:48 -07:00
Ivan Avdeev
d61dff4849
Merge pull request #24 from w23/hashhub
...
Better hashes/random for shaders
2021-08-06 12:28:15 -07:00
Ivan Avdeev
27681c1baf
Merge pull request #23 from w23/mips
...
Add mipmaps for textures
2021-08-06 09:29:16 -07:00
Владислав Сухов
1b20694a1c
ci: Fix missing extras in android builds
2021-08-06 13:06:44 +03:00
Ivan Avdeev
0028899eac
rtx: add better hashes
...
from: Mark Jarzynski and Marc Olano, Hash Functions for GPU Rendering, Journal of Computer Graphics Techniques (JCGT), vol. 9, no. 3, 21-38, 2020
http://www.jcgt.org/published/0009/03/02/
2021-08-04 19:32:56 -07:00
Ivan Avdeev
378c1e52e0
enable anisotropy only for rtx
...
this doesn't make any visible impact for rtx rendering. but does affect non-rtx rendering when running with rtx enabled (kekw)
2021-08-04 18:56:11 -07:00
Ivan Avdeev
94ac51a527
rtx: sample mip levels based on ray cone width
...
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.
2021-08-04 18:36:53 -07:00
Ivan Avdeev
71bf85d4f8
fix mips generation
2021-08-04 17:44:21 -07:00
Ivan Avdeev
dbd5a7a2e4
add texture mipmaps
...
they're still corrupted a bit
2021-08-02 10:55:26 -07:00
SNMetamorph
2db6ad2c8a
ref_gl: fixed GL_CheckForErrors doesn't print error message
2021-08-01 22:28:24 +03:00
Ivan Avdeev
074fdf84b4
update todo
2021-07-31 12:43:35 -07:00
Ivan Avdeev
fc2c7185df
rtx: add basic transparency and reflections
...
this is very proof-of-concept quality. it should be definitely done some other way
e.g. we should control reflectivity and transparency differently (and not together)
and they should be based on texture ids, not on render_mode
it's also unfortunate that transparency required a lot of bounces. we should probably control transparency bounces separately from light bounces.
alternatively, transparency effects (beams, sprites) should be done with custom intersection shaders and not based on transparent geometry
2021-07-31 12:35:59 -07:00
SNMetamorph
8c351d9255
engine: client: made pfnSPR_Load and pfnSPR_Frames functions as exported
2021-07-31 13:47:43 +03:00
SNMetamorph
c4ef42009c
engine: client: fixed height argument writing in Con_DrawStringLen
2021-07-31 01:23:56 +03:00
SNMetamorph
8d5426cdcd
utils: mdldec: fix of masked_solid texture flag
2021-07-29 13:17:38 +03:00
7b8ec0ad4b
engine: server: fix another const qualifier lose
2021-07-20 17:09:16 +03:00
901e52615b
engine: fix Com_ParseFile call
2021-07-20 16:26:17 +03:00
88ce5fd0b6
engine: modify NetAPI to follow const qualifiers
2021-07-20 16:10:32 +03:00
588dede2a2
ref_soft: fix pointer-to-int casts
2021-07-20 16:03:35 +03:00
0efc5e82ec
engine: fix some const qualifier lose and pointer-to-int casts
2021-07-20 16:03:06 +03:00
c3da9d8c8f
mainui: update
2021-07-20 16:02:09 +03:00