Sets active canvas filter for 2D overlay (binds canvas as render target, subsequent draw commands render to canvas).
Takes canvasID (canvas handle from bgiCreateCanvas, positive integer).
Returns nothing.
2D Overlay
Parameters & Returns
Parameters
canvasIDInt
Returns
Void
Quick Summary
Sets active canvas filter for 2D overlay (binds canvas as render target, subsequent draw commands render to canvas).
Takes canvasID (canvas handle from bgiCreateCanvas, positive integer).
Returns nothing.
Technical Exegesis...
Sets active canvas filter for 2D overlay (binds canvas as render target, subsequent draw commands render to canvas). Takes canvasID (canvas handle from bgiCreateCanvas, positive integer). Returns nothing. Sets g_activeCanvasFilter = canvasID (stores active canvas, draw commands render to this canvas), updates g_currentState dimensions (sets renderTargetWidth/Height to canvas dimensions from bgiGetCanvasWidth/Height).
Sets active canvas filter for 2D overlay (binds canvas as render target, subsequent draw commands render to canvas). Takes canvasID (canvas handle from bgiCreateCanvas, positive integer). Returns nothing. Sets g_activeCanvasFilter = canvasID (stores active canvas, draw commands render to this canvas), updates g_currentState dimensions (sets renderTargetWidth/Height to canvas dimensions from bgiGetCanvasWidth/Height). Use to render overlay to canvas (draw 2D overlay onto offscreen texture, composite later), create render-to-texture effects (minimap, mirrors, security cameras), or multi-pass rendering (render UI to texture, apply effects, draw to screen). Filter behavior: stores canvas ID (g_activeCanvasFilter stores handle, affects subsequent draw commands), updates dimensions (g_currentState width/height set to canvas size, ensures correct coordinate space), persists until cleared (remains active until b2dClearCanvasFilter called), redirects rendering (all b2d draw commands render to canvas texture instead of main overlay). Use cases: (1) Render to texture (canvas = bgiCreateCanvas(512, 512): b2dSetCanvasFilter(canvas): draw overlay to offscreen texture), (2) Minimap (b2dSetCanvasFilter(minimapCanvas): draw minimap contents), (3) UI compositing (b2dSetCanvasFilter(uiCanvas): render UI elements to texture, apply shader effects, draw to screen), (4) Mirror effect (b2dSetCanvasFilter(mirrorCanvas): render reflected view), (5) Multi-layer UI (b2dSetCanvasFilter(layer1): draw background layer, b2dClearCanvasFilter: draw foreground to screen). Common patterns: set = b2dSetCanvasFilter(canvasID) activate canvas filter; clear = b2dClearCanvasFilter() revert to default rendering. Typical workflow: create canvas (canvas = bgiCreateCanvas(width, height) create offscreen texture), set filter (b2dSetCanvasFilter(canvas) activate canvas as render target), draw overlay (b2d draw commands render to canvas texture), clear filter (b2dClearCanvasFilter() revert to default), use canvas (draw canvas texture to screen or bind to 3D entity). Canvas dimensions: queries canvas size (calls bgiGetCanvasWidth/Height to get dimensions), updates current state (g_currentState.renderTargetWidth/Height set to canvas size), ensures correct coordinates (draw commands use canvas dimensions for coordinate space, 0,0=top-left, width,height=bottom-right). Coordinate space: canvas space (coordinates relative to canvas dimensions, NOT screen dimensions), independent scaling (canvas can be different size from screen, coordinates auto-scaled), maintains aspect ratio (user responsible for matching canvas aspect to desired output). Performance: set cost minimal (canvas ID assignment and dimension queries, trivial CPU operation), render to canvas same cost (GPU render target switch, minimal overhead ~0.01ms), canvas size affects performance (larger canvas = more pixels to render, 512x512 fast, 2048x2048 slower). Validation: accepts any canvas ID (positive for valid canvas, 0 or negative may cause errors or crash), doesn't validate canvas exists (assumes valid handle, using invalid canvas may crash), canvas must be created (bgiCreateCanvas must be called before this function). Related: b2dClearCanvasFilter clears canvas filter (reverts to default rendering, restores screen dimensions), bgiCreateCanvas creates canvas (creates offscreen texture used as render target), bgiGetCanvasWidth queries canvas width (used internally to update dimensions), bgiGetCanvasHeight queries canvas height (used internally to update dimensions).