branchsbox/post-processing-suckscancel
63 Commits over 0 Days - ∞cph!
Put DoF autofocus a bit behind the subject
Tweak backfacing value a bit
Double the dof resolution, fix massive slowdown on zooming in backfacing samples
Fix DoF plane
readd smooth mask
Merge branch 'post-processing-sucks' of sbox into post-processing-sucks
Add some documentation
Fix chromatic aberration always set to 1
Fixed hooks creating a bunch of resolves
Pass postprocessStencilDepth to AfterPostProcessing
Fixed motion blur on by default 🙈
Pixelate effect from center of pixel
Avatar editor view screen effects
Tie GlowComponent.Active to Enabled
RenderTarget.GetTemporary will automatically get the right hdr/sdr rt if ImageFormat.Default is passed
Do our own ResolveFrameBuffer
Add RenderDoc scopes for our RenderTool calls
Post process shaders support transparency
Home avatar post process so we keep everything working
Unclamp some post post process vars
Return DofPanel far point to 10k units, but will get to fix focal plane reprojection
Also use the obsoleted `Active` on Glow to decide whether to render it or not
Limit DoF ray since our focus is more physically accurate now, fix collision on it
More RenderHooks
Remove a bunch of unused layers
Front blur support, reduce artifacts
Correct orientation space for dof, more adjustments
Merge branch 'post-processing-sucks' of sbox into post-processing-sucks
Adjustments to adaptive dof, gets blurrier the closer you focus, use another formula for calculating downsample
Discard backfacing samples
Fix alpha plane on dof
Don't remap to viewport depth range, we need the absolute values
Mask alphatest while keeping the cool fade
Remove debug crap and push the shader objects
RenderDoc API
Early out of CPixEventScope if !IsRenderDocEnabled
Add convar to control CPixEventScope
Delete water layer
sc_log_submits depth buffers too
Delete DrawOverWorld layers
Optimize CPixEventScope
Fixed render hooks resolving
Clean up
Can call ComputeShader.Dispatch outside of render loop
ConstantBuffer can be updated outside of render loop
Complain if sizeFactor < 1 in RenderTarget.GetTemporary
Delete RenderAttributes on the main thread
Add Graphics.MeasureText
Cleaning up
Rewrite 99% of dof
Adaptive downsample dof
Any size blur kernel, more cleanup
Some more dof cleanup, am going to wrap up in the morning
Move FilmGrain to RenderHooks
Moved MotionBlur
Remove falloff stuff
Move pixelate
Chromatic Aberration
Strip panini, lens distortion - don't work
Fix vignette setting, add to devcam https://files.facepunch.com/garry/03c39271-9278-440b-97ca-7af444896246.mp4
Converted DevCam ColorPanel PostProcess
Fixed default font size not scaling to screen properly
Move depth of field to standalone renderhook
Fix bind throttling being too severe
Don't hide the glow outlines when pressing use
Add Graphics.DrawIcon, Graphics.DrawQuad, Graphics.DrawRoundedRectangle
Add Vector4.Length, LengthSquared, IsNearZeroLength
Obsoleted Draw2D stuff can use Graphics stuff
Converted addon code to not use Draw2D
Initial experiments
Put HUD and GameUI rendering in hooks
Switch to managed render hooks
Change some Assert.NotNull to Assert.IsValid
Switch post process to work in new system
Lets initialize the pointers in CMeshDrawPrimitive_t so I don't waste 40 mins chasing my own tail again
Add Render.Draw.RenderSceneObject (lets worry about how much this api sucks another time)
Added Render Events for BeforePostProcess and AfterPostProcess
Support LOD/Bodygroups in RenderSceneObject
managedrenderpipeline.h doesn't exist anymore
Add render hooks for rendering just before viewmodel, just after viewmodel
Get rid of RenderTools.DrawScreenQuad - it was doing way more bullshit than we needed
Remove RenderTargetDesc
Allow SetRenderTarget to set depth too
Allow creating common depth formats
Add RenderTarget
Fix color selector so you don't have to stop dragging the mouse for 200ms to preview the color
Obsolete SetViewport
Don't define D3DCOMPILE_WARNINGS_ARE_ERRORS
RenderTarget cache tick, flush
Separate function to create a render target using backbuffer size fraction
Add Draw3D.Blit (replaces ScreenQuad)
Post process use new hooks
Change CopyDepthBuffer, CopyFrameBuffer to GrabFrameTexture, GrabDepthTexture - take in attribute target name and optional target attributes
Fix Draw not using the passed in attributes
DrawSceneObject kind of do LODs properly
In SceneObjectDraw when using an override material, pass the original alpha texture down as BaseOpacity if it had alpha
Add GenerateMipMaps, rip out a bunch of previous mipmap code
Removed unused arg from SetTextureData
When creating texture with data, if the data size is the size of the first mip and we have multiple then automatically generate the others (and go apeshit if the datasize is wrong)
Throw exceptions is trying to set texture data with wrong size in c#
Remove skia mipmap generation, let dx do it for us automatically
Allow UI to use mipmaps
Fix not being able to load materials during rendering
GameLoop::PreRender ain't doing nothing
Remove unused IScreenSpaceEffect
Render state restores, allows nesting
Let toolviews have the managed pipeline
Let SceneCameras have a debug name
Renderhooks linked to SceneCameras
Obsolete PostProcess
Unobsolete Glow Component
Add EntityComponent.GetAllOfType<T>()
Move RenderHook to its own file
Recompiled shaders
Add TypeLibrary.GetDescriptions() - returns all types
Add Material.GetShaderMaterial( shadername );
Add [SceneCamera.Default], which when applied to a RenderHook will add it to the camera by default
Fix unable to compile shaders that aren't in the shaders folder
Add HighlightRenderer
Remove shameful debug code
Refactor
Let c++ threadpool execute shit in the main thread
Add ManagedRenderSetup_t
SceneCustomObject renders in the main thread
Clean up SceneLayer enum insanity (which I added)
Fix warning spam
Render water on the opaque layer
RenderHook has a OnFrame, called before any rendering is done - useful for placing SceneObjects etc
Fix NRE in CodeCompileNotice
Fix inspector history not letting objects garbage collect
Fixed Option not being adopted by Toolbar, so never being released
Add warning if double alloc in InteropSystem
Allow direct access to camera's render hooks
Allow tools access to all alive scenecameras
Name the scenes
Create Graphics.cs
Move Render to Graphics
Backwards compatibility fix
Convert some addon side code to use Graphics instead of Render
Graphics.Quad transition
More Sandbox.Render -> Graphics
Route Render Hooks to Graphics
Get rid of draw quad with margin, add bloat
Route Render Hooks to Graphics
Get rid of draw quad with margin, add bloat
More Sandbox.Render -> Graphics
Convert some addon side code to use Graphics instead of Render
Move Render to Graphics
Backwards compatibility fix
Allow direct access to camera's render hooks
Allow tools access to all alive scenecameras
Name the scenes
Fix inspector history not letting objects garbage collect
Fixed Option not being adopted by Toolbar, so never being released
Add warning if double alloc in InteropSystem
RenderHook has a OnFrame, called before any rendering is done - useful for placing SceneObjects etc
Fix NRE in CodeCompileNotice
Clean up SceneLayer enum insanity (which I added)
Fix warning spam
Render water on the opaque layer
Let c++ threadpool execute shit in the main thread
Add ManagedRenderSetup_t
SceneCustomObject renders in the main thread
Add TypeLibrary.GetDescriptions() - returns all types
Add Material.GetShaderMaterial( shadername );
Add [SceneCamera.Default], which when applied to a RenderHook will add it to the camera by default
Fix unable to compile shaders that aren't in the shaders folder
Add HighlightRenderer
Remove shameful debug code
Initial experiments
Put HUD and GameUI rendering in hooks
Switch to managed render hooks
Change some Assert.NotNull to Assert.IsValid
Switch post process to work in new system
Lets initialize the pointers in CMeshDrawPrimitive_t so I don't waste 40 mins chasing my own tail again
Add Render.Draw.RenderSceneObject (lets worry about how much this api sucks another time)
Added Render Events for BeforePostProcess and AfterPostProcess
Support LOD/Bodygroups in RenderSceneObject
managedrenderpipeline.h doesn't exist anymore
Add render hooks for rendering just before viewmodel, just after viewmodel
Get rid of RenderTools.DrawScreenQuad - it was doing way more bullshit than we needed
Remove RenderTargetDesc
Allow SetRenderTarget to set depth too
Allow creating common depth formats
Add RenderTarget
Fix color selector so you don't have to stop dragging the mouse for 200ms to preview the color
Obsolete SetViewport
Don't define D3DCOMPILE_WARNINGS_ARE_ERRORS
RenderTarget cache tick, flush
Separate function to create a render target using backbuffer size fraction
Add Draw3D.Blit (replaces ScreenQuad)
Post process use new hooks
Change CopyDepthBuffer, CopyFrameBuffer to GrabFrameTexture, GrabDepthTexture - take in attribute target name and optional target attributes
Fix Draw not using the passed in attributes
DrawSceneObject kind of do LODs properly
In SceneObjectDraw when using an override material, pass the original alpha texture down as BaseOpacity if it had alpha
Add GenerateMipMaps, rip out a bunch of previous mipmap code
Removed unused arg from SetTextureData
When creating texture with data, if the data size is the size of the first mip and we have multiple then automatically generate the others (and go apeshit if the datasize is wrong)
Throw exceptions is trying to set texture data with wrong size in c#
Remove skia mipmap generation, let dx do it for us automatically
Allow UI to use mipmaps
Fix not being able to load materials during rendering
GameLoop::PreRender ain't doing nothing
Remove unused IScreenSpaceEffect
Render state restores, allows nesting
Let toolviews have the managed pipeline
Let SceneCameras have a debug name
Renderhooks linked to SceneCameras
Obsolete PostProcess
Unobsolete Glow Component
Add EntityComponent.GetAllOfType<T>()
Move RenderHook to its own file
Obsolete PostProcess
Unobsolete Glow Component
Add EntityComponent.GetAllOfType<T>()
Move RenderHook to its own file
Remove unused IScreenSpaceEffect
Render state restores, allows nesting
Let toolviews have the managed pipeline
Let SceneCameras have a debug name
Renderhooks linked to SceneCameras
GameLoop::PreRender ain't doing nothing
Fix not being able to load materials during rendering
When creating texture with data, if the data size is the size of the first mip and we have multiple then automatically generate the others (and go apeshit if the datasize is wrong)
Throw exceptions is trying to set texture data with wrong size in c#
Remove skia mipmap generation, let dx do it for us automatically
Allow UI to use mipmaps
Removed unused arg from SetTextureData
Add GenerateMipMaps, rip out a bunch of previous mipmap code
In SceneObjectDraw when using an override material, pass the original alpha texture down as BaseOpacity if it had alpha
DrawSceneObject kind of do LODs properly
Change CopyDepthBuffer, CopyFrameBuffer to GrabFrameTexture, GrabDepthTexture - take in attribute target name and optional target attributes
Fix Draw not using the passed in attributes
Add Draw3D.Blit (replaces ScreenQuad)
Post process use new hooks
Obsolete SetViewport
Don't define D3DCOMPILE_WARNINGS_ARE_ERRORS
RenderTarget cache tick, flush
Separate function to create a render target using backbuffer size fraction
Fix color selector so you don't have to stop dragging the mouse for 200ms to preview the color