Sets camera viewport region (screen area to render to, pixels).
Takes camera (camera entity handle), x/y (top-left corner pixels), width/height (viewport size pixels, 0=use full screen dimension).
Returns nothing.
3D Graphics
Parameters & Returns
Parameters
cameraInt
xInt
yInt
widthInt
heightInt
Returns
Void
Quick Summary
Sets camera viewport region (screen area to render to, pixels).
Takes camera (camera entity handle), x/y (top-left corner pixels), width/height (viewport size pixels, 0=use full screen dimension).
Returns nothing.
Technical Exegesis...
Sets camera viewport region (screen area to render to, pixels). Takes camera (camera entity handle), x/y (top-left corner pixels), width/height (viewport size pixels, 0=use full screen dimension). Returns nothing. Validates entity is camera type, allocates camera->Camera3D if null, clamps negative values to 0, sets camera->viewport X/Y/Width/Height. Controls screen region for rendering output.
This function sets viewport rectangle.
Sets camera viewport region (screen area to render to, pixels). Takes camera (camera entity handle), x/y (top-left corner pixels), width/height (viewport size pixels, 0=use full screen dimension). Returns nothing. Validates entity is camera type, allocates camera->Camera3D if null, clamps negative values to 0, sets camera->viewport X/Y/Width/Height. Controls screen region for rendering output.
This function sets viewport rectangle. Viewport: screen region camera renders to (rectangular area in pixels), default full screen (x=0, y=0, width=screenWidth, height=screenHeight), enables split-screen, picture-in-picture, minimaps. Coordinates: x/y are top-left corner (pixels from top-left of screen, x=0 is left edge, y=0 is top edge), width/height are viewport size (pixels, 0 for width/height uses full screen dimension). Negative clamping: negative x/y/width/height clamped to 0 (prevents invalid viewports, safe to pass any integer). Use cases: (1) Split-screen multiplayer (player1 viewport left half, player2 right half), (2) Picture-in-picture (small viewport for rear-view mirror, security camera), (3) Minimap (small viewport in corner for top-down view), (4) Cinematic bars (letterbox with reduced viewport height), (5) Multi-monitor (different viewports for different displays). Common patterns: full screen b3dCameraViewport(cam, 0, 0, 0, 0), split horizontal b3dCameraViewport(cam1, 0, 0, screenWidth/2, screenHeight) and b3dCameraViewport(cam2, screenWidth/2, 0, screenWidth/2, screenHeight), minimap b3dCameraViewport(minimapCam, screenWidth-200, 0, 200, 200). Aspect ratio: viewport width/height determines aspect ratio (affects projection matrix, non-square viewports stretch image), match viewport aspect to FOV aspect for correct perspective. Scissor rect: viewport sets scissor rectangle (rendering clipped to viewport bounds, pixels outside viewport not drawn). Camera allocation: if camera->camera==nullptr, allocates new Camera3D. Related: b3dCameraFOV sets field of view (affected by viewport aspect), b3dCreateCamera creates camera entity, split-screen rendering with multiple cameras.