1 Year Ago
Remove the needing to require special definitions when overwriting render states supersedes #648 Drop sys from Combos, this was removed with shader-assets and does nothing now Drop Sys( X ) from all shaders This supersedes #645 Get rid of postprocess example, should be on the wiki Mark glow shaders as dev only Return the full range of NdotL instead of the saturated version to allow for more lighting models out of the box Add Parallax Occlusion to complex Built shaders for testing Allow us to reference features at runtime & set default values when they don't exist #pragma optimize("", off) Rebase fixes Drop additive blending combo from complex, make parallax occlusion replace it since it's an extra sampler Add FeatureExists preprocessor function, lets you check if a feature exists debug prints more debug prints Update post_process.shader_c Revert "more debug prints" This reverts commit fd9301e0773cf03e2c12117cac92ed6495aad25c. Revert "debug prints" This reverts commit 637cd5109d557a230fd02d4828c726cc37a9da7d. Fix complex compile errors due to secondary UV truncation + parallax occlusion & detail textures Update all shaders F_ADDITIVE_BLEND is no longer mandatory for shaders Trim a lot of features needed to be included, they're now optional instead of forced! Last one left is morph, still need to do some work to get rid of that one! https://files.facepunch.com/ognik/1b1011b1/sbox-dev_r0eCOvInhu.png Let high quality reflections propagate to all user shaders optionally since we can just check if a feature even exists now Actually account for opacity in the shading models. Opacity now works for ShadingModelValveStandard Move shader includes into folders instead of long names in 1 folder Start implementation of common helper functions people need for shaders - RemapDepthToViewport - DepthToApproximateWorldUnits - DepthToRealDepthWorldUnits - ReconstructPositionFromDepth Get rid of sbox_pixel.fxc, trim & move to public Do the same for sbox_lighting, move to public Get rid of the last of our internal sbox_ includes Split texture & attribute inputs from the pixel include. Not every material should be forced to use Color, Normal, Roughness etc. Now there's the option of including just the APIs and not being forced to use specific attributes, features or textures Add CreateMaterial() for returning a struct with default parameters for a material Allow fetching world mapping size within shaders Get rid of S_TRANSFORM_CONSTANT_BUFFER Add Tex2DTriplanar for sampling with tri-plannar mapping Initial support for tri-plannar mapping in blendable. sboxgame/issues/issues/1003 Oops Fix DepthToRealDepthWorldUnits Move triplanar to different file, we don't always define pixel input Make HQ Reflections, ripplecompute & tiled light compile again Blendable compile fix Fix the remaining shaders so they now compile Allow optional VS_INPUT and PS_INPUT, also allow optional entry points Add helpers for determining which shader stage we're processing Create post_process.hlsl, provide default entry point for vertex and input The example post processing shader can now just be a pixel shader instead of everyone copying the exact same vertex shader all the time Optional entries for surface shading Fix it so it compiles Reorganize again, allow having both pixel & vertex input independently optional Split surface.hlsl and surface.minimal.hlsl, fix GatherMaterial when not using texture inputs Allow F_MORPH_SUPPORTED to finally be optional too