907 Commits over 488 Days - 0.08cph!
Let high quality reflections propagate to all user shaders optionally since we can just check if a feature even exists now
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
Fix complex compile errors due to secondary UV truncation + parallax occlusion & detail textures
Revert "more debug prints"
This reverts commit fd9301e0773cf03e2c12117cac92ed6495aad25c.
Revert "debug prints"
This reverts commit 637cd5109d557a230fd02d4828c726cc37a9da7d.
Update post_process.shader_c
Add FeatureExists preprocessor function, lets you check if a feature exists
Rebase fixes
Drop additive blending combo from complex, make parallax occlusion replace it since it's an extra sampler
Allow us to reference features at runtime & set default values when they don't exist
#pragma optimize("", off)
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
Built shaders for testing
Add Parallax Occlusion to complex
Return the full range of NdotL instead of the saturated version to allow for more lighting models out of the box
Mark glow shaders as dev only
Get rid of postprocess example, should be on the wiki
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
Compile optimized base shaders again
Redo public MSAA shader api & update glass/passthrough for it
Should fix that random d3d11 error we get
Force shaders changes in base to always compile optimized
We keep pushing unoptimized shaders. End user ends up having to compile them all the time when they want to build optimized shaders. Lets force base to always be optimized so we don't make this mistake again
Compile optimized versions of all base addon shaders
Make sure we have scene worlds before fetching one for the shape manager
Embed shader macros so we know what combos are set when viewing shader debug info
Fix crash caused by invalid vertex stages trying to be loaded on material compilation
Remove the need for X_ALREADY_SET in shaders
We no longer need to add
```
#define CULL_MODE_ALREADY_SET
#define DEPTH_STATE_ALREADY_SET
#define STENCIL_ALREADY_SET
#define BLEND_MODE_ALREADY_SET
#define COLOR_WRITE_ALREADY_SET
```
Drop our floor steps, 11 seems to be good enough from what I can tell?
Cleanup & move glow component to base
Initial work for SDF glows
https://files.facepunch.com/ognik/1b2611b1/sbox-dev_ulizyuqJD0.jpg
Skip byte order marks when trying to compile shaders
sboxgame/issues/issues/2533
Update steam audio to 4.1.2
Re-enable embree for steam audio again
Added PostUI render hook
sboxgame/issues/issues/2436
Set max height for package description in menu
For sboxgame/issues/issues/2575
Complete fix for far away audio from breaking our sound system
Closes sbox/issues/615 & sbox/issues/622 & sboxgame/issues/issues/2461
Partial fix for audio breaking when sounds are played really far away
Add SetRemoteDestination to trigger_teleport
Fix exception with "say" on dedicated servers
Introduce Material.Set so you can change all attributes within a material or shader
This allows you to create materials completely in C#
Add Color
Update comments
Merge pull request #606 from Facepunch/proceedural-materials
```cs
public static void SetupCustomMaterial(ModelEntity myModel)
{
Material m = Material.Create( "my_cool_material", "simple" );
m.Set( "g_vColorTint", Color.Red );
m.Set( "g_flMetalness", 1.0f );
m.Set( "Color", Texture.White );
m.Set( "Roughness", Texture.White );
m.Set( "Normal", Texture.Transparent );
myModel.SetMaterialOverride( m );
}
```
https://files.facepunch.com/ognik/1b0511b1/199966083-b7e9a595-98b3-4e9d-8cc0-b5850db444f8.png
Introduce Material.Set so you can change all attributes within a material or shader
This allows you to create materials completely in C#
Define default shader parameters for raw materials( Material.FromShader )
This fixes methods like Material.OverrideTexture from not working with procedural textures
Throw error in vfxc if we fail to mask a section instead of failing silently
Add UI tests for transitions
Update style test to reflect CSS spec
Fixes transitions not working when no easing function is provided
Expose combo free texture filtering selector for user built shaders
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_MUJMmnKlDF.mp4
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_F7l9inPSQS.mp4
Also includes glass & blendable too
Get rid of features.minimal.hlsl. It's the same thing as features.hlsl
Only disable the button if it actually exists