4,928 Commits over 1,522 Days - 0.13cph!
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
Allow creating common depth formats
Add RenderTarget
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 SetRenderTarget to set depth too
Get rid of RenderTools.DrawScreenQuad - it was doing way more bullshit than we needed
Remove RenderTargetDesc
Add render hooks for rendering just before viewmodel, just after viewmodel
managedrenderpipeline.h doesn't exist anymore
Support LOD/Bodygroups in RenderSceneObject
Add Render.Draw.RenderSceneObject (lets worry about how much this api sucks another time)
Added Render Events for BeforePostProcess and AfterPostProcess
Lets initialize the pointers in CMeshDrawPrimitive_t so I don't waste 40 mins chasing my own tail again
Switch post process to work in new system
Switch to managed render hooks
Change some Assert.NotNull to Assert.IsValid
Put HUD and GameUI rendering in hooks
Fix list view in inspector not creating classes
Fixed TextManager not evicting old textures regularly enough
Fix soundscape sounds not stopping and volume not cross fading properly
Fix LocalPosition and LocalRotation setting physics body to wrong position
Adding clear back, since people were using it
Fix addon exceptions not logging correctly
Clean notice manager, prevent exception on exit
css supports universal selector
Hide constructor for ICSharpCompiler.Diagnostic
Fix asset type popup shadow in wrong place
Paint the top of the GameFrame when in full screen mode
Added SceneCamera.EnablePostProcessing
Rename RenderDevice to g_pRenderDevice
Add Render.DrawSceneToTexture
Remove old RenderScene implementation
Disable initial screen clear (assuming it's not needed now)
Remove unused AllocateD3DTexture from texturedx11
Not sure what this GetBinding call was hoping to achieve
Render ScenePanel SceneViews as dependant views rather than EmbeddedViews - because they get rendered first apparently I don't even know
Create a version of CreateRenderTarget that'll only create if the passed in texture is different
Fallback MSAA if not supported when rendering scene
Bought back ScenePanel.RenderOnce, added ScenePanel.RenderNextFrame()
Fix new Texture.Create being commented out
Reduce size of default SoundscapeRadiusEntity
When leaving a soundscape, keep playing it until you're not in a soundscape anymore
If we're compiling shaders in fast mode lets pass some info into the shader compile hash so it'll rebuild when compiling in optimized mode
Compile shaders in -fast mode when hotloading (about 4x faster for iterating)
Don't pop up shader log when clicking code compile notice
Quicker notice dismiss
Hide startup code compile notitfications unless there are errors (maybe this should be the default?)
Show only the top 5 compile errors
Cleaned up shader compiling, added new notifications system
This update won't increase the speed of shader building, but it'll bring some stability and reliability to editing them.
Thew new notifications are going to annoy you - please let us know what options you want (sbox-issues/discussions)
Cleaning stuff up to ship
Reduce cssbox combos from 4000+ to 96
Make mat_reloadshaders just reload the shaders, and not try to recompile them
I think these warnings about missing texture attributes in materials are probably not needed
Fix not being able to dismiss notices until on-hovered
Better warning when couldn't bind expression
Shader output updates live
Remove unused SHADER_SOURCE_MOD, SHADER_SOURCE_ROOT paths
Remove unused SHADER_SOURCE, SHADER_SOURCE_ADDON_COMMON paths
Remove shader_watch from RuntimeGame
Fix filterless filewatch callbacks not triggering
Shader change use content.changed event
Remove our custom threading from mat_ compile shader commands
Don't disable IO buffering unless -progress is passed
Optimized shader builds are default again - add -fast to do unoptimized
Fix paths in Build-Shaders bat files
Compile notifications show warnings + errors https://files.facepunch.com/garry/f883608a-fde4-4787-a28c-08b4c599aeaf.mp4
Remove old in-game dev notice since the editor has made that shit redundant
Strip out old shader notification stuff
Configurable icon, stop timer when running is false
Show compile errors
Tweak the error reporting
Show log if you click on the shader notification
Flesh out notice system
Add fps_max_inactive, replaces engine_no_focus_sleep
I want the editor to run pretty much normally when I'm using another window - but I still want it to operate at a decent frame rate.. so I've set the default to 90fps. This means that it won't be breaking its back to do 500fps when tabbed, but stuff should still operate fine.
Reload shader after compile
Re-render tool views - even if we're not the active window - because I might be editing shit and watching the window
Move shadercache folder to /.source2/shadercache so we know it can be deleted