17,259 Commits over 1,338 Days - 0.54cph!
Remove the cube cross stuff on cubemap builder, just to make things more clear
Remove UploadToCubemapArray
Rip out WorldRenderer/EnvironmentMapCacheSize, we didn't have it enabled and it's awful anyway
Remove render_depth_map and always_check_depth, I don't see these being set or used in any meaningful way
Load cubemap_feathering
Create env map constant buffer
SceneCubemap sets box projection and influence radius based on projection mode
C# env_cubemap, mostly the same as env_cubemap_box, use a base cubemap entity
Remove env_cubemap from fgd
Bump up cubemap camera zfar
Get the size of texture when calculating SH, don't assume 256
Calculate radiance SH from cubemap source, reads texture pixels until we can move this to compute shader
Add function to render tools to copy texture to cubemap slice
Move the important parts of ggxcubemapblurhelper to rendertools until we can reasonably do this in C#
After source cubemap is created, go through render tools to mip it to the cubemap array
Fix for transform-origin values not correctly being applied
Stop trying to destroy aoproxy manually, it's a child now so it'll happen automatically and not risk double delete
Give our shader programs debug names so we can see them in debugger/renderdoc
Geometry shaders still need access to VS_INPUT
Log stack traces
Handle badly defined GameResource more gracefully
Aoproxy sceneobjects are children of their parents and inherit visibility - stops them lingering when entities are hidden
Moved tiled rendering buffers to lightbinner, where it should belong
Remove members that have long been deprecated, start adding support for structured buffer lights
Move all cbuffer stuff to legacy, standard will only have structured buffer path
Start implementing structured buffer lights data structure
Remove all code for calculating mixed shadows, that'll be all allocated in the main light shadow function, iterate structured buffers
Iterate on new lightbinner, let all shadows render through a single rendering path, disregard legacy for now
Fix not correctly rebuilding .editor.dll when recompiling dependant game dll
Add GlobalEngineNamespace, move TypeLibrary into it so that we can access it from Sandbox.Game and Sandbox.UI
Ambient occlusion proxies made by SceneSystem instead of entity system
Add internal BakeResourceAttribute until we can phase out tool objects and the bake resource shit
Experiment with rendering cubemaps for SceneCubemaps
Set renderToCubemap and environmentMaps pipeline attributes from camera attributes
CCameraRenderer::RenderToTexture uses msaa value from attributes
Fix dstStride in GetPixels
Protocol::Network++ because I removed CEnvVolumetricFog classes earlier
Tools replaces and uses GameMenu PackageLoader/HotloadManager
Add TypeIcon, TypeName, TypeTitle to SerializedObject,
Clean layout separator style
Ambient occlusion proxies made by SceneSystem instead of entity system
OOG Volumetric Fog
* Added SceneCamera.VolumetricFog and SceneFogVolume
* Fog volumes are part of SceneSystem instead of managed separately
* Delete volumetric fog gamesystem, game entities and fgd entries, replace with C# game entities for volumetric fog controller & volumes
* SceneMapLoader loads SceneFogVolumes and light_rect
Make these entities internal, no need for public use in legacy entity system
Make sure entities have default values in Hammer
Remove IsMaster from volumetric fog controller entity, it doesn't do anything
VolumetricFogVolume use BoundsHelper
Fix editor sometimes loading base tools package in the wrong order
NavigationMesh available out of game
* Supports runtime generation
* Pathfinding all in c#
* Save/Load navmesh
* Added Triangle struct
Remove all code for calculating mixed shadows, that'll be all allocated in the main light shadow function, iterate structured buffers
C# entity definitions for env_cubemap_box (do box first, env_cubemap is the same but with a sphere influence)
Remove env_cubemap_box from fgd
Network tables for env_cubemap_box
Create SceneCubemap from entity properties
Add indoor_outdoor_level (priority)
Helper for baking fog
Make baked fog work again
Work out global bounds in the CVolumetricFog so we don't have to worry about it anywhere else
Bring clipboard back in case people were using it, forward to Sandbox.Game
Move UseTemplate attribute
TypeLibrary fixes
Move input, UISystem
Tweak navmesh generation params that I don't understand
Add NavigationMesh.Node.Triangles/ClosestPoint/Distance
Remove the bullshit from VolumetricFog, setting bounds make no sense (and does nothing) when they're exclusively made from volume bounds
Headgear adjustments and Tanktop skinning fixes
Move controls over, delete unused clipboard class
Temp fix for route attribute
Move Screen
Triangle math
Create TriangleTest.cs
More connection setup
SceneMapLoader loads light_rect
Look for .sbproj in DownloadCloudProjectAsync instead of .addon
Clean up SceneFogVolume, document and add strength/falloff
Expose SceneCamera.VolumetricFog
SceneMapLoader loads SceneFogVolumes
Delete left over worldrenderer vpc
Remove more references to dota global light
Remove anything in ENABLE_LOD, keep the baked lod builder around though in case we want to try rendering it in the future
Make fog volumes part of the scenesystem, change our API to a SceneFogVolume class belonging to SceneWorlds
Fix cubemap ggx mipgen crashing on AMD, caused by sbox/commit/4df698bcf80ca9346240fdb473ca74fe45df2371
Force flush source cubemap before generating mips on dx11, same amd bug we had before
Don't make dest cubemap array texture a render target, unnecessary
Navmesh connections in c#