b2dCreateRectangle

Creates rectangle image (rasterized texture, returns handle for b2dDrawImage). Takes width (rectangle width in pixels, positive integer), height (rectangle height in pixels, positive integer), fill (1=filled rectangle, 0=outline only). Returns image handle (positive integer, use with b2dDrawImage/b2dSetColor/b2dSetScale/b2dSetRotation, etc), returns 0 on failure.

2D Overlay

Parameters & Returns

Parameters

fill Int
height Int
width Int

Returns

Int

Quick Summary

Creates rectangle image (rasterized texture, returns handle for b2dDrawImage). Takes width (rectangle width in pixels, positive integer), height (rectangle height in pixels, positive integer), fill (1=filled rectangle, 0=outline only). Returns image handle (positive integer, use with b2dDrawImage/b2dSetColor/b2dSetScale/b2dSetRotation, etc), returns 0 on failure.

Technical Exegesis...



Rectangle rasterization: allocates pixel buffer (width*height*4 bytes, RGBA format), fill mode determines rendering (filled=all pixels white alpha 255, outline=only border pixels white alpha 255 with 1-pixel thickness, transparent elsewhere), uploads to GPU (creates D3D12 texture resource, transitions to PIXEL_SHADER_RESOURCE state).



Example

Example.bam

; Create a filled red rectangle
rect = b2dCreateRectangle(200, 100, 1)

; Draw it at screen position with color
b2dSetColor(255, 0, 0)
b2dDrawImage(rect, 400, 300)





; Create an outline rectangle



outline = b2dCreateRectangle(150, 150, 0)


b2dSetColor(0, 255, 255)


b2dDrawImage(outline, 600, 300)





; Can also scale and rotate



b2dSetScale(1.5, 1.5)


b2dSetRotation(30.0)


b2dDrawImage(rect, 200, 400)





; Free when done


b2dFreeImage(rect)


b2dFreeImage(outline)