Repository navigation
v1.25.0
Custom render stages can draw above the UI next to the debug panel, and a 3D view rendered offscreen can be drawn as a 2D texture without copying it back to the CPU.
Added
- Custom render stages can draw text and rectangles above the UI:
Render2DStage.AddOverlay/RemoveOverlaytake anIFrameOverlay, andOverlayCanvasgainsOutlineandImage. Overlays share the stage's 2D batch and glyph atlas, and draw under the development panel (Render2DStage.Overlay), which keeps its own slot, so the two no longer replace each other. Renderer2D.WrapTextureandRebindTexture: aTexture2Dover a GPU image the caller owns, such as a sampledOffscreen3Dtarget, drawn by sprites,Ui.Imageand overlays with no readback.examples/stageshows both.
Fixed
- Vulkan adapter choice is deterministic: adapters are kept in one total order (kind, vendor id, device id, name, API version, UUID) instead of the driver enumeration order, so a multi-GPU machine picks the same adapter every time and
ONEGAME_GPU_ADAPTER/GpuDeviceOptions.Adaptermatch the same one. The rule is indocs/interfaces/gpu.md. - A presented capture (
capture_framewithpresented,GameInstance.CapturePresented) no longer returns nothing when the window could not be drawn: it throwsPresentedCaptureExceptionwith aReason(minimized, window not drawn, no backbuffer in time, surface lost), which the control op reports in its message. Games with no window or device still return null.