3DScene, RasterRender: Vulkan scene renderer, typed ray hits, throwing loader #10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "3DScene-RasterRender"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Replaces the OpenGL 3D raster pipeline with a Vulkan one and cleans up the scene model around it.
3DScene
Scene::castRayis const and returnsstd::optional<RayHit>;RayTracerreuses it instead of duplicating the loop.Scene::loadLuathrowsSceneLoadErrorwith the failing field; Lua stack values are popped by scope guards and the state is closed on every path (fixes the leak on early exits).addObject/findObject); the editor selects by id instead of holding a pointer into the scene buffer.RasterRender (new)
RenderTarget: offscreen color/depth images with optional MSAA, registered in the deviceRenderTargetRegistryso aCanvascan draw them, plusreadPixels().GpuBufferandGraphicsPipeline: reusable host-visible buffers and a pipeline builder shared by the scene and sketch renderers.RasterRender: caches one mesh per object id and drops meshes of removed objects; the highlight is drawn in the same pass so it no longer clears the scene.Consumers
3DEditordrives aRasterRenderfrom the applicationGpuDeviceand shows the path-traced frame through a Canvas RGBA image instead of a GL texture.Sketch3Drenders strokes with a geometry-shader pipeline on a sharedRenderTargetand splits the renderer from the widgets so it can be tested headless.Verification
TestRasterRender,TestSketch3D) render and read back pixels: depth shading, row orientation vsCamera::project, highlight, resize, mesh release, and stroke redraw.SpringRecterrors).TestRasterRender,TestSketch3D,TestRayTracer,TestGraphicApplicationpass with Vulkan validation on.Not verified
3DEditorApp/Sketch3DAppexecutables still cannot link becauseWidgetsdoes not build on master (SpringRect); only their objects are compiled here.