22,418 Commits over 1,614 Days - 0.58cph!
TextEntry.Value setter fixes up numerics, fixes sliders not displaying correct number format #535
Don't react to assetsystem.changes in the remote asset browser, fixes flickering whilst assets are being installed as well as it refreshing on map save
Calc bone constraints for bone merged anim objects, fixes #540
Add search to remote asset browser
Allow refraction & blur to be visualized in the material editor
Add Package.TryParseIdent
Store packages with #version
Make sure we're always within our framebuffer copy rect
fix sort mismatching
Glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Allow fogging of grime & glass
Allow fogging of grime & glass
Allow fogging of grime & glass
Fix grime on refraction variant
https://files.facepunch.com/ognik/1b0111b1/sbox-dev_VGCbGQv4Tr.jpg
Allow tweaking of the specular of the glass for its reflections
Allow tweaking of the specular of the glass for its reflections
Delete core glass shader & sbox_glass, new shader becomes glass
Fix glass not working properly with tiled rendering off
Cleanup & lower default opacity so we don't shadow by default
Update some existing glass materials
https://files.facepunch.com/ognik/1b0211b1/sbox-dev_QPGRwiTZTq.jpg
Missed this shader removal whoops
Refraction glass color tint now works with opacity
Drop max refraction distance, doesn't need to be an artist tuned. Fix glass tint not working in non refraction mode
Allow switch to multiply for color tinting in refraction mode because it can look better in some situations
Blur masks
Remove grime as a feature and have it on by default, reorganize attribute layout
Remove glass from shader compiler
Fix grime masks not behaving as expected
Recompile with stripped shaders
Add attributes to disable blur & refraction
we can expose this as a convar is needed then
Reorganization & name cleanup
- Reorganize all sections within the shader
- Refraction can have its own normal map now
- Fresnel can be toggled
- Fixed an ambiguity with tint color
Fix specular not being taken into account on glass transparency
Lets get rid of these for now, fixes translucency sorting
Update some glass materials again
Initial work on new glass shader
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Initial work on new glass shader
Grime implementation & let grime cast shadows
Grime implementation & let grime cast shadows
Blur
Blur
Allow fetching diffuse & specular separately for valve shading model
Use valve standard for the time being
Fix reflections oops
Remove grime prefix
Don't redefine SUBPIXEL_AA_MAGIC
Move ui renderstates to ui/pixel.hlsl, no need to copy paste this all the time
Can call ComputeShader.Dispatch outside of render loop
ConstantBuffer can be updated outside of render loop
Drop PS_OUTPUT for UI shaders
Complain if sizeFactor < 1 in RenderTarget.GetTemporary
Delete RenderAttributes on the main thread
Add Graphics.MeasureText
Cleaning up
Trim ui shaders & simplify
Refactor managed mapview drop target, add path for varying behaviour for different asset types, cleanup & comment
Citizen: LOD2/3 doesn't cull *_lower_* helpers anymore (see commit description)
Previously, *_lower_* helpers were included in the cull list. However, the bone constraints still get computed under the hood, and the influence of those helpers crosses a boundary between different body regions, which could cause a problem: a bonemerged item that includes its own copy of the body meshes (for culling reasons) would still get the constraint applied, but the rest of the original body wouldn't (by virtue of the helper influence having been culled), creating a very ugly and noticeable seam.
Citizen/clothing: posh dress LOD2 remade
New Outfit Piece! - Police Hat
https://files.facepunch.com/daniel/1b2611b1/police_hat_present.png
LODs coming ASAP.
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
Citizen/clothing: posh dress skinning improvements + neck seam fix
Move FilmGrain to RenderHooks
Moved MotionBlur
Remove falloff stuff
Move pixelate
Chromatic Aberration
Strip panini, lens distortion - don't work
Citizen/clothing: necklace LOD2 is in fact 3, not 2
Fix vignette setting, add to devcam https://files.facepunch.com/garry/03c39271-9278-440b-97ca-7af444896246.mp4
Simply & strip post processing example
Converted DevCam ColorPanel PostProcess
Allow us to omit the VS section now
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
Allow entry points to be optional
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
Forgot this, pass asset name as string for now
Create a managed resource of any inherited type without explicitly assigning it, start moving Shader resource to game code
Mark these as abstract, don't let children methods of GameResource override load, remove Shader from tools
Revert "Remove TryManagedCompile"
This reverts commit a1912f3d31bd1b3b7f1e99e22932103e487337cd.
Managed resource compiles sanely
Add shader asset type and empty resource compiler for it
Allow vfx and hlsl as assets on IgnoreNewPossibleAssetFile
Make HVfx be HShader, start adding shader handle from C# side
Fix perspective on ui shader
Iterate on shaders as assets
Get boilerplate for managed asset compile
Add used shader as material dependency
Don't use error.vfx if we are not on tools mode (Issue 415)
Don't do Shader assets on C++, it's awful
Remove TryManagedCompile
Cleanup GameResource and Resource, let GameResource handle it's loading rather than Asset, let managed core Resourced be created
Get target resource type from asset
Gameresource load doesn't need to be templated, still needs cleanup
Make CustomResource for internal managed resources that use custom decoding
And shader uses CustomResource instead of GameResource
Split GameResource to be a child of CustomResource, remove Shader assettype since it's all managed
Start work for child hlsl include files to recompile parents that use it
Add stub custom load methods for shader
ManagedResource is a better name
Remove MET shader browser, let's make it sexy using asset system and our UI
Make MET use our sexy asset picker
https://i.imgur.com/Mzzmynk.png
Strip extension from file to avoid bullshit, make shaders load from absolute path properly from MET
Make MET hints and shader select button intuitive
https://i.imgur.com/BgHsRKI.png
Revert "Update shaders with perspective, note that it still needs fix on the perspective matrix on c# code"
This reverts commit 4e92c31729138ecdd74ad9ae2d11a6012cfcf97c.
Revert "Fix perspective on ui shader"
This reverts commit 6d087d7abf0752c7a35b0687d7322cbc4b5e2863.
Try using different SIMD function in IntersectSegmentTriangle as an attempt to fix rare raycast crash
Maybe fix a crash in state machines
Remove zero weights, don't need to save these
Add the random, zero, one buttons
Use property editor for morph node
Rename morphpose node to morphframe, consistent with animframe
Update morph node from property editor
Rename qnodeeditor_morphlist to qnodeeditor_morphframe
More Sandbox.Render -> Graphics