2 Months Ago
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