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