userSam Pavloviccancel

1,819 Commits over 1,491 Days - 0.05cph!

11 Months Ago
SubContext support on RenderContext (#1441) * Add IRenderContext::GetSubContext() to get or create a sub context for a new thread, use it in managedsceneobject Render contexts can never be passed between threads; they can only be used on the thread that created them. The thread index will be set in the constructor and can't change after that. This causes a problem in our current implementation of SceneCustomObject that reuses the threaded render context on the main thread and expects we can add things,modify and render it from there, for D3D11 it is not a problem since the implementation or driver seems to have a mutex for command lists, but on Vulkan that gives validation errors and causes crashes. This implements the concept of SubThreads to RenderContext, a very simple way to pass the render context around and consume it in a timely manner, it creates a new render context with the same characteristics as the parent one in a new thread and submits it when the parent context is released
11 Months Ago
Remove deferred rendering meshes from scenelight We no longer have a hardcoded path for rendering viewmodel shadows, that will be handled with a special component in managed Fix depth normalization on GetWorldPosition, since we are using 3D Skyboxes again we are splicing a bit of the depth range, fixes feathering on sprites again
11 Months Ago
Fix motion blur not working, simplify it, make it use the same reconstruction technique as in dynamic reflections, I still don't like it but this gives correctness to it https://i.imgur.com/YkSiZXY.png
11 Months Ago
gaussian_bloom_blur compiled material to fix bloom on dev builds
11 Months Ago
Add IRenderContext::GetSubContext() to get or create a sub context for a new thread, use it in managedsceneobject Render contexts can never be passed between threads; they can only be used on the thread that created them. The thread index will be set in the constructor and can't change after that. This causes a problem in our current implementation of SceneCustomObject that reuses the threaded render context on the main thread and expects we can add things,modify and render it from there, for D3D11 it is not a problem since the implementation or driver seems to have a mutex for command lists, but on Vulkan that gives validation errors and causes crashes. Valve has the concept of Secondary RenderContexts but doesn't fit what we need This implements the concept of SubThreads to RenderContext, a very simple way to pass the render context around and consume it in a timely manner, it creates a new render context with the same characteristics as the parent one in a new thread and submits it when the parent context is released Remove pragma optimize off Only override states if target layer wants it so, otherwise subcontext just uses the default rasterizer and depth stencil state, fixes worldpanels with depth test, pass attributes from rendercontext rather than layer
11 Months Ago
Only override states if target layer wants it so, otherwise subcontext just uses the default rasterizer and depth stencil state, fixes worldpanels with depth test, pass attributes from rendercontext rather than layer
11 Months Ago
Remove pragma optimize off
11 Months Ago
Add IRenderContext::GetSubContext() to get or create a sub context for a new thread, use it in managedsceneobject Render contexts can never be passed between threads; they can only be used on the thread that created them. The thread index will be set in the constructor and can't change after that. This causes a problem in our current implementation of SceneCustomObject that reuses the threaded render context on the main thread and expects we can add things,modify and render it from there, for D3D11 it is not a problem since the implementation or driver seems to have a mutex for command lists, but on Vulkan that gives validation errors and causes crashes. Valve has the concept of Secondary RenderContexts but doesn't fit what we need This implements the concept of SubThreads to RenderContext, a very simple way to pass the render context around and consume it in a timely manner, it creates a new render context with the same characteristics as the parent one in a new thread and submits it when the parent context is released
11 Months Ago
Write vertexobject on end of scope
11 Months Ago
Softer depth comparison for subsurface scattering Implement Depth::GetWorldPosition properly, document it nicely Recompile sprite with depth feathering
11 Months Ago
Make gizmos use DynamicSceneObject, add CMeshBuilder2::WithInstancedTransforms to flag mesh to use transform system without changing vertex layout, fix transforms on dynamicsceneobject in native
11 Months Ago
Fix vertexobject reusing on gizmos
11 Months Ago
Remove ManagedSceneObject/SceneCustomObject, only causes problems now, use DynamicSceneObject if you use it Fix transforms on dynamicsceneobject Move VertexSceneObject to use SceneDynamicObject, upload queue to GPU when it wants a new instance Add MeshBuilder2::WithInstancedTransforms to add per-instance transform info to the input layout, does not change the data structure of the layout but makes transforms be ellegible with them programatically
11 Months Ago
Remove ManagedSceneObject/SceneCustomObject, only causes problems now, use DynamicSceneObject if you use it Fix transforms on dynamicsceneobject Move VertexSceneObject to use SceneDynamicObject, upload queue to GPU when it wants a new instance Pass per transform index data to SboxVertex_t, I still don't like how this is not easily templateable though
12 Months Ago
Remove Thread_DrawDrawList mutex, seems to cause some issues on testing, working on a proper solution for it anyway
12 Months Ago
Remove planar reflections from scenesystem, remove unused shared shader defs
12 Months Ago
Remove ScenePortal/CMonitorObjectDesc, render a camera to texture for same functionality
12 Months Ago
Compile water shader UI doesn't consume vertex clipping or even skinning
12 Months Ago
Only bitch that vkQueuePresentKHR failed when it's an actual fail condition, some conditions are still considered and enqueued Fix pObjectName in RenderDeviceVulkan::Construct, empty string check was inverted VK Validation: Fix texture transition in CSceneSystem::DownsampleTexture, this is not to use depth stencils but will always assume color Imply console apps want rendersystemempty, maybe revisit this in the future if we want them to do any kind of GPU compute VK: Remove deprecated debug marker in favour of debug utils, should be getting prettier output from GPU profiling tools too Remove a bunch of redundant vulkan render markers, makes gpu debugging finally show up properly nice looking https://i.imgur.com/7Mq0lhv.png Colors that don't melt my eyes Add a temp mutex to DrawDrawList to fix race condition when drawing from main thread Fix glow outline rendering https://i.imgur.com/cK9VbNB.png Renderdoc label colors for managed drawcalls were black Highlight.cs: should be SetCombo not Set Don't change fbstate with the viewport size, can cause it to be bigger than the fbstate size too, viewport offsetting is done just right below Make MultisampleScreen take the MSAA amount from the current context rather than from the main swapchain, fixes validation of effects using the wrong MSAA level as what the layer wants, fixes glow outlines in preview cameras Don't write glow to alpha, makes camera previews and screenshots not be translucent with them, compile shader Simplify water shader removing fog and other components, these would all be in it's own entity component now, much simpler, also the whole shader needs to be thrown away Never expose intermediary MSAA'd depth to the user, you're just opening a can of pain, use Depth::Get() method instead Shaders need removing old MSAA depth ("SceneDepth"/"DepthBuffer") Directional AO depth doesnt use MSAA Keep MSAA depth read for decals only Remove bloom effects layers ("QuarterResEffects"), nothing is really using it, can be better done outside managed if you really want it, was used for the cool HLA ghost effects, did a quarter res depth downsample that was never used Delete viewmodel AO ( Will come back as a reuseable generic component for camera ), ripplecompute ( unused, shit ), fix depth fetching on Glass to use Depth::Get Remove crumbs of viewmodel ao
12 Months Ago
Delete viewmodel AO ( Will come back as a reuseable generic component for camera ), ripplecompute ( unused, shit ), fix depth fetching on Glass to use Depth::Get
12 Months Ago
Directional AO depth doesnt use MSAA Keep MSAA depth read for decals only Remove bloom effects layers ("QuarterResEffects"), nothing is really using it, can be better done outside managed if you really want it, was used for the cool HLA ghost effects, did a quarter res depth downsample that was never used
12 Months Ago
Never expose intermediary MSAA'd depth to the user, you're just opening a can of pain, use Depth::Get() method instead Shaders need removing old MSAA depth ("SceneDepth"/"DepthBuffer")
12 Months Ago
Simplify water shader removing fog and other components, these would all be in it's own entity component now, much simpler, also the whole shader needs to be thrown away
12 Months Ago
Don't write glow to alpha, makes camera previews and screenshots not be translucent with them, compile shader
12 Months Ago
Make MultisampleScreen take the MSAA amount from the current context rather than from the main swapchain, fixes validation of effects using the wrong MSAA level as what the layer wants, fixes glow outlines in preview cameras
12 Months Ago
Don't change fbstate with the viewport size, can cause it to be bigger than the fbstate size too, viewport offsetting is done just right below
12 Months Ago
Renderdoc label colors for managed drawcalls were black Highlight.cs: should be SetCombo not Set
12 Months Ago
Fix glow outline rendering https://i.imgur.com/cK9VbNB.png
12 Months Ago
Add a temp mutex to DrawDrawList to fix race condition when drawing from main thread
12 Months Ago
Colors that don't melt my eyes
12 Months Ago
Remove a bunch of redundant vulkan render markers, makes gpu debugging finally show up properly nice looking https://i.imgur.com/7Mq0lhv.png
12 Months Ago
VK: Remove deprecated debug marker in favour of debug utils, should be getting prettier output from GPU profiling tools too
12 Months Ago
Imply AV_PIX_FMT_BGRA for pixel format in video recorder, should pass backbuffer format instead, I'll recheck when I have an AMD GPU in hand Default rendersystem to Vulkan ;) Only bitch that vkQueuePresentKHR failed when it's an actual fail condition, some conditions are still considered and enqueued Fix pObjectName in RenderDeviceVulkan::Construct, empty string check was inverted VK Validation: Fix texture transition in CSceneSystem::DownsampleTexture, this is not to use depth stencils but will always assume color Imply console apps want rendersystemempty, maybe revisit this in the future if we want them to do any kind of GPU compute
12 Months Ago
VK Validation: Fix texture transition in CSceneSystem::DownsampleTexture, this is not to use depth stencils but will always assume color
12 Months Ago
VK Validation: Fix texture transition in CSceneSystem::DownsampleTexture, this is not to use depth stencils but will always assume color
12 Months Ago
Fix pObjectName in RenderDeviceVulkan::Construct, empty string check was inverted
12 Months Ago
Only bitch that vkQueuePresentKHR failed when it's an actual fail condition, some conditions are still considered and enqueued
12 Months Ago
Default rendersystem to Vulkan ;)
12 Months Ago
Imply AV_PIX_FMT_BGRA for pixel format in video recorder, should pass backbuffer format instead, I'll recheck when I have an AMD GPU in hand
12 Months Ago
Fix translucents rendering in opaque layer, corretly make shadows-only casting models use game excluded layer, make depth prepass exclude SCENEOBJECTFLAG_EXCLUDE_GAME_LAYER, fixes rendering of translucents being messed
12 Months Ago
Update shaders with SSS and baked lightcookie fixes
12 Months Ago
2D Skybox has inifnite bounds too
12 Months Ago
Meant to upload spritecard not skin
12 Months Ago
ToolsVisHandleTransmissiveLighting just takes two params now
12 Months Ago
Update citizen with per-vertex curvature and update materials to match new shader changes https://i.imgur.com/Dt9X3Vv.mp4
12 Months Ago
Fix directional lights dissapearing after going away a wee bit from origin, set up a bounding box that's big enough to enclose the whole universe
12 Months Ago
Don't try to normalize a black texel for hue/saturation shift on baked light cookies, fixes NaN when using cookies on baked lights
12 Months Ago
CSceneSunLightObject doesnt exist anymore Add transmission debug view Fix subsurface scattering shadowing, let transmissive mask be computed at lighting level, unify transmissive terms from skin and whatever else, should fix transmission in non-shadowd lights as well https://i.imgur.com/3h3yvhH.png Update skin shader
12 Months Ago
Fix complex combos
12 Months Ago
Simplify and fix tiled light culling in corners, makes tiles match mipmapped depth fetch perfectly Fix formatting typo Pass viewport offset to CDepthDownsampleLayerRenderer and offset it in the shader, fixes depth chain in multicamera scenes, always imply we're taking a full res downsample anyway Fix tiled rendering compositing in multicamera scenes https://i.imgur.com/wrqKgCO.png Compile shaders