Resets to screen rendering (stops rendering to custom RT, back to default overlay mode).
Takes no parameters.
Returns nothing.
2D Overlay
Parameters & Returns
Parameters
This function takes no parameters.
Returns
Void
Quick Summary
Resets to screen rendering (stops rendering to custom RT, back to default overlay mode).
Takes no parameters.
Returns nothing.
Technical Exegesis...
Resets to screen rendering (stops rendering to custom RT, back to default overlay mode). Takes no parameters. Returns nothing. Updates g_currentState dimensions (sets renderTargetWidth/Height to screen resolution g_3D_resolutionWidth/Height), resets RT tracking (sets g_2D_currentRenderTarget=0, g_2D_currentRenderTargetWidth/Height to screen size), does NOT queue command (unlike b2dSetRenderTarget, this updates state only, actual RT binding happens automatically during b3dRenderWorld).
Resets to screen rendering (stops rendering to custom RT, back to default overlay mode). Takes no parameters. Returns nothing. Updates g_currentState dimensions (sets renderTargetWidth/Height to screen resolution g_3D_resolutionWidth/Height), resets RT tracking (sets g_2D_currentRenderTarget=0, g_2D_currentRenderTargetWidth/Height to screen size), does NOT queue command (unlike b2dSetRenderTarget, this updates state only, actual RT binding happens automatically during b3dRenderWorld). Use to end RT rendering (return to screen after b2dSetRenderTarget), complete RT workflow (create RT, activate, draw, reset, use RT as texture), or reset state (ensure subsequent draws go to screen not RT). State-only operation: no command queued (does not add to g_overlayCommands buffer), immediate state update (g_currentState and tracking variables updated instantly), automatic RT binding (actual screen RT binding happens during b3dRenderWorld when b3dCls3D sets up frame). Use cases: (1) RT workflow (b2dSetRenderTarget(rt): draw to RT: b2dSetDefaultRenderTarget(): b2dDrawImage(rt,x,y) display RT), (2) Reset after flush (b2dSetRenderTarget(rt): b2dFlush(): b2dSetDefaultRenderTarget() ensure back to screen), (3) Layered rendering (b2dSetRenderTarget(rt1): draw layer1: b2dSetDefaultRenderTarget(): b2dSetRenderTarget(rt2): draw layer2: b2dSetDefaultRenderTarget(): composite), (4) Conditional RT (If useRT Then b2dSetRenderTarget(rt) Else b2dSetDefaultRenderTarget() ensure correct target), (5) Safe reset (b2dSetDefaultRenderTarget() at frame start to guarantee screen rendering). Common patterns: reset after RT = b2dSetRenderTarget(rt): draw: b2dSetDefaultRenderTarget() complete RT cycle; safe init = b2dSetDefaultRenderTarget() at frame start ensure screen mode. Dimension tracking: screen resolution (uses g_3D_resolutionWidth/Height from 3D system), coordinate system (subsequent draws use screen coordinates 0,0=top-left to width,height=bottom-right), state capture (queued draw commands capture screen dimensions for proper scaling). RT state transitions: if RT active (render target transitioned back to PIXEL_SHADER_RESOURCE during next flush/render, ready to use as texture), if already default (no-op, safe to call redundantly), tracking reset (g_2D_currentRenderTarget cleared, b2dGrabImage won't work until RT activated again). Difference from b2dSetRenderTarget: no command (doesn't queue to g_overlayCommands, updates state only), immediate (state updated instantly, not deferred), automatic binding (screen RT bound automatically by b3dCls3D/b3dRenderWorld, not by this function). Workflow integration: typical frame (b3dCls3D clears screen and binds screen RT, b2dSetDefaultRenderTarget ensures state matches, draw commands queue, b3dRenderWorld executes), RT rendering (b2dSetRenderTarget activates custom RT, draws render to RT, b2dSetDefaultRenderTarget resets state, subsequent draws to screen), multiple RTs (switch between RTs with b2dSetRenderTarget, reset with b2dSetDefaultRenderTarget between switches). Performance: cost zero (simple state variable updates, no GPU operations), immediate (no command queue or GPU sync), safe to call frequently (no overhead, can call every frame if needed). Validation: no validation (no parameters to validate, always succeeds), safe to call anytime (before/after/between RT operations, any frame state), idempotent (calling multiple times identical to calling once). Related: b2dCreateRenderTarget creates RT (allocates custom render targets used with b2dSetRenderTarget), b2dSetRenderTarget activates RT (switches to custom RT rendering, reversed by this function), b2dFlush executes commands (completes RT rendering, often paired with this function), b2dGrabImage requires active RT (won't work after this function resets to screen, use before resetting), b3dCls3D sets up frame (binds screen RT, works with this function for correct state).