userSam Pavloviccancel
branchsbox/mastercancel

685 Commits over 1,522 Days - 0.02cph!

Today
Overlay is considered a game layer since it draws to color, fixes depth prepass for overlays, remove overlay prepass from renderpipeline_standard
Today
CommandList.GetRenderTarget with SizeFactor, don't allocate DepthTexture for it since it's not being used anywhere yet
6 Days Ago
Up TEXTURE_COMPILER_VERSION_MIP_GGXCUBEMAPBLUR version ( Negative cubemap color check )
7 Days Ago
Some float skyboxes have negative color, don't sample negative values when doing GGX filtering https://files.facepunch.com/sampavlovic/1b1411b1/mspaint_YDO07zEdFf.png
12 Days Ago
Remove ToolsVis Mode (#1763) * Remove ToolsVis from RenderingPipeline, remove ToolsVis combo, make it toggle through the integer only * Remove ToolsVis() MODES from all shaders 🙏🏻 * Remove ToolsWireframe and ToolsVis from shadergraph template * Legacy ToolsVis isn't even supported, any legacy variable refs to it can go * Compiled shaders with branched ToolsVis
13 Days Ago
Accidentally yanked Src/DstBlend from Spritecard, also bring back shading complexity to it even if it makes code awful for now
13 Days Ago
Add EnvironmentMap class for EnvMap.hlsl, allows you to fetch contribution of all environment map lighting, fixes CubemapReflections toolsvis, move stuff out of lighting.fxc Init ToolsVis color to gray if mode is not supported, same behaviour as before
13 Days Ago
Remove vr_tools_vis.fxc, have it all in ToolsVis.hlsl as a class, remove all dangling S_MODE_TOOLS_VIS combos ToolsVis for Material lives in ShadingModel, custom shadingmodels implement their own Rest of shaders that do custom toolsvis behavior with new api Remove any #if S_MODE_TOOLS_VIS, makes it able to slide smoothly into new system Let toolsvis combo live where it was before (we're removing it right after) and remove S_MODE_TOOLS_VIS reference on spritecard, baked light vis on shadingmodel
15 Days Ago
Add GetFirstTextureParam() to get first declared texture from shader, used to fetch the convoluted RepresentativeTexture/LightSim_DiffuseAlbedoTexture attributes without explicit declaration Allow material representative texture for VRAD be infered by the first texture parameter on shader if DiffuseAlbedoTexture is not set, allows to clean up all this material api & lets shadergraph shaders be rendered properly on vrad https://files.facepunch.com/sampavlovic/1b0611b1/aocrkIAnQN.png
15 Days Ago
Remove configdefaults.PLAT.vcfg, completely bullshit for us PerViewLightingConstantBuffer_t completely unused
32 Days Ago
VRAD3 (& it's resourcecompiler) explicitly uses rendersystem, our tools can omit it but we need to read back textures from the GPU for map compilation
32 Days Ago
Launch ToolAppSystem pretending to be a dedicated server so it doesn't use rendersystem for CI, revert me soon
32 Days Ago
Reenable rendersystem for console apps for map compilation Invert logic of bSupportsLightmapping, make explicit flag of "NoLightmapping", doesn't feel right to apply that flag in every shader when it all should just support it
32 Days Ago
Fix indirect IBL fog not working https://files.facepunch.com/sampavlovic/1b1911b1/jVWTMafLaa.png
32 Days Ago
Do view vector TAA jitter for fog on native instead off shader, proper way to handle this specially on thin surfaces https://files.facepunch.com/sampavlovic/1b1911b1/B2DSaqPTHe.jpg
32 Days Ago
Be able to fetch all light information with Light::Count() and Light::From(), while doing all optimization from tiled lighting etc Move light.hlsl to common/classes/Light.hlsl, start unfucking it, make it have same structure as everything else DynamicLight refactor Refactor StaticLight class, can do Light::From() to get all lights (static/dynamic) at once https://i.imgur.com/jqko5ON.mp4 Fuck of with light.environment, light.dynamic and light.static are just in Light.hlsl instead of own internal files Move shadow functions to Shadow.hlsl, much like BRDF.hlsl, will make it easy for us to upgrade, move LightMap definitions to Light.hlsl Vr_lighting never directly referenced from any of our hlsls now, tonemaps in lighting.fxc never used and even if used shouldn't be there Untangle this stuff Use ProbeLight::UsesProbes() and LightmappedLight::UsesLightmaps() to see if drawcall is using these instead of insane combo ifdefs directly, makes it easy to remove a combo too
33 Days Ago
Remove lightmapping combos from sbox_pixel (should fuck that file off entirely), move to shadingmodel.hlsl, keep D_BAKED_LIGHTING_FROM_LIGHTMAP for vertex.hlsl, SupportsLightmapping attribute seems unused
33 Days Ago
Revert "Lightmapping combos go on shadingmodel, Lightmapping definiton should be in shadingmodel.hlsl not Material.hlsl, material should be only a contract to shadingmodels" Fucked, need to get rid of this stupid SupportsLightmapping attribute and just do it directly
33 Days Ago
Rewrite AmbientLight into a class, stub Handle AmbientLightKind::LightMapProbeVolume and AmbientLightKind::EnvMap Move BRDF stuff to BRDF.hlsl, organizes it and makes it easier to move to CS2's one with multiscatter Adjustments for AmbientLight, disable subsurface scattering for this class for now ToolsVis ambient occlusion doesn't take AmbientLight Lightmapping combos go on shadingmodel, Lightmapping definiton should be in shadingmodel.hlsl not Material.hlsl, material should be only a contract to shadingmodels
33 Days Ago
Add namespace_name to antlr grammar so that we can do "type Class::Function()" definition instead of defining all in class itself, we should just let it accept any HLSL
37 Days Ago
Allow for inner feathering for EnvmapProbe in UI, same defaults for hammer equivalents of this ggxcubemaphelper (cpu) is equivalent to cubemapper (gpu), increase sample count but use faster sampling and sample from first mip always https://i.imgur.com/5UuaG0b.mp4 Sample from mips again and decrease sample count to not be absurd for our budget
38 Days Ago
Use custom mip filter that samples from neighbors for cubemapper https://i.imgur.com/nn23dRG.png
39 Days Ago
Remove HighlightDeprecated from shaders, seems was never used?
39 Days Ago
Remove long unused shit from pixelinput and vertexinput and clean it up Remove D_ENABLE_USER_CLIP_PLANE, complete bullshit, we use oblique projection matrices now
40 Days Ago
Use multi-bounce ambient occlusion Feathering goes outer rather than center, allow to have inner (negative) feathering again, fixes light leaks in maps
40 Days Ago
SQRTRoughness was correct behavior for sampling envmaps
47 Days Ago
Initialize SSR to null on 3d skybox
48 Days Ago
Revert "Include ReflectionTextureColor in all the layers", it's unlikely we can manage to do SSR with roughness fast on translucents, and this causes the issue that SSR reflections from opaques will be drawn over smoke or translucents This reverts commit 8cce50baf03cd7f93e7c89c75dde46319412aff9.
48 Days Ago
Add ScreenSpaceTrace as a generic, simpler class for doing screen space ray tracing, move reflections.hlsl to use it
48 Days Ago
Fix overriding SSR with a black texture when it should be initialized with a translucent one
49 Days Ago
Remove unused shit from lightbinner and make everything enums
49 Days Ago
Update shaders
49 Days Ago
Adjustments to cubemap normalization, make cubemap feathering happen from center of cubemap, and in world units, rather than inner, math is much simpler Clamp cube box parallax projection to actual bounds box the box, cleanup Our both our envmap filters uses linear roughness instead of sqrt roughness Gizmo for scale in envmaps, adjust default for feathering in world units Sort envmaps also by size, giving higher priority to smaller ones if it's in a draw condition tiled light culling with edge feathering additions vLevel isn't const Update path of build-shaders, upload all shaders as artifacts Fix EnvironmentMapLight::GetEnvMapColor using deprecated variable Gamma correct samples during accumulated ggx, makes highlight less blown out and makes the cubemap more vibrant Reenable MSAA fetching for SSAO compositing, don't use loops Depthresolve takes first MSAA sample rather than doing min/max calculation, if we want depth::get we'd want the proper sample to compare perfectly on the screen GTAO temporal filter uses edge detection to filter out edge ghosting https://i.imgur.com/EzfclG7.mp4
50 Days Ago
Ao proxies removal (#1678) * Remove aoproxies ambient occlusion, it never looked too right and it's stupid to have artists authoring them manually, almost no one did I still think SDF AO works better than SSAO in most cases, but they should live as a renderhook and artists don't need to touch anything, the way it is now is very hard to maintain, it could be 10x simpler * Remove sdf.hlsl (until we meet again 🫡 )
54 Days Ago
Compiled shaders with ao viewporting changes
54 Days Ago
CommandLists SetConstantBuffer and be able to specify mip Motion::TemporalFilter is converting from Pixel Coordinates to UV not the other way around
54 Days Ago
Fix ambient occlusion in offsetted viewports
54 Days Ago
Calculate aspect ratio from viewport size rather than screen size, fixes splitscreen viewports being fucked up https://files.facepunch.com/sampavlovic/1b2811b1/sbox-dev_19tjSjbPcm.png
57 Days Ago
Composite SSAO on Lighting rather than Blitting (#1677)
57 Days Ago
Envmap feathering defaults to much tighter SkyIndirectLighting param in hammer env_sky since it seems it never was there
2 Months Ago
Fix typo
2 Months Ago
Clear volumetric fog texture on creation, this seems to could've caused problems even back on Alyx but issue is bigger now that we don't write to all volumetric fog froxels at once Fix ClearUnorderedAccessViewUint not clearing properly for Texture2DArray and Texture3D
2 Months Ago
Specify .net 9 for shaders.yml Fix sampletexture_bicubic (is anything using it)? Compiled shaders with correct specular brdf
2 Months Ago
Specify setup-dotnet version for shaders.yml
3 Months Ago
Fog TAA + Tiled Rendering * Fixes artifacts * Improves perfomance * Removes Clipmaps * Lights are culled with tiles * Makes fog render until far-z * Removes ghosting * Simplifies codebase a lot
3 Months Ago
Fix vignietting on DoF DoF Blur size is in pixels, make it relative to screen resolution so size is consistent, do uv offset a bit after first sample so there's less shimmer
3 Months Ago
Depth of Field 2 (#1657)
3 Months Ago
Fix messed specular on skin shader that was using old normalization curve https://files.facepunch.com/sampavlovic/1b3011b1/zPO0P1wuPT.png
3 Months Ago
Add Motion.hlsl for motion vectors Add generic TAA filter to Motion.hlsl
3 Months Ago
Remove overriding SkyIndirectLighting to false in hammer maps, a lot of public maps are built without lighting and rely on IBL to have ambient lighting, we don't have a good way to tell if a map has baked lighting on MapLoader, better to just keep this on and let artist elect if they want IBL lighting by themselves