Sets 2-component vector uniform in text shader (stored as name.x/name.y in floatParams, uploaded to GPU during text rendering).
Takes shader (shader handle), name (uniform base name, string), x (first component, double converted to float), y (second component, double converted to float).
Returns nothing.
Shaders
Parameters & Returns
Parameters
shaderInt
nameString
xDouble
yDouble
Returns
Void
Quick Summary
Sets 2-component vector uniform in text shader (stored as name.x/name.y in floatParams, uploaded to GPU during text rendering).
Takes shader (shader handle), name (uniform base name, string), x (first component, double converted to float), y (second component, double converted to float).
Returns nothing.
Technical Exegesis...
Sets 2-component vector uniform in text shader (stored as name.x/name.y in floatParams, uploaded to GPU during text rendering). Takes shader (shader handle), name (uniform base name, string), x (first component, double converted to float), y (second component, double converted to float). Returns nothing. Stores as two separate float entries (shader.floatParams[name+".x"]=x, shader.floatParams[name+".
Sets 2-component vector uniform in text shader (stored as name.x/name.y in floatParams, uploaded to GPU during text rendering). Takes shader (shader handle), name (uniform base name, string), x (first component, double converted to float), y (second component, double converted to float). Returns nothing. Stores as two separate float entries (shader.floatParams[name+".x"]=x, shader.floatParams[name+".y"]=y), uploaded to constant buffer during text draw (packed into cbuffer, sent to GPU with text draw command). Use for 2D offsets (shadow offset, outline direction), 2D scaling (separate X/Y text distortion), direction vectors (2D wave direction), or paired values (min/max range, width/height). Parameter storage: CPU map (two entries name.x and name.y in floatParams), uploaded on use (when text with this shader drawn, params packed to cbuffer), persistent (remains until changed, survives across frames). Use cases: (1) Shadow offset (b2dSetTextShaderFloat2(shadowShader,"shadowOffset",3.0,3.0) diagonal shadow), (2) Outline direction (b2dSetTextShaderFloat2(outlineShader,"direction",1.0,0.0) directional outline), (3) Wave parameters (b2dSetTextShaderFloat2(waveShader,"wave",frequency,amplitude) text wave effect), (4) Distortion (b2dSetTextShaderFloat2(distortShader,"scale",scaleX,scaleY) non-uniform text distortion). HLSL access: declare uniform (float2 shadowOffset; in shader OR separate float shadowOffset_x; float shadowOffset_y;), use in shader (uv += shadowOffset; OR uv.x += shadowOffset_x; uv.y += shadowOffset_y;), component access (shadowOffset.x and shadowOffset.y if using float2). Storage format: decomposed to components (single float2 parameter stored as two separate float entries name.x and name.y), shader receives as components (HLSL must access as separate floats or reconstruct float2). Performance: cost zero (two map inserts/updates, no GPU operation until draw), batched upload (all parameters uploaded together during text draw ~0.001ms). Validation: ignores if shader<=0, ignores if name null, silently ignored if not found in shader (HLSL doesn't need to use all set parameters). Related: b2dSetTextShaderFloat (single float), b2dSetTextShaderFloat3/4 (3/4-component vectors), b2dSetTextShaderInt (integer parameters), b2dLoadTextShader (creates shader), b2dText (draws text with shader).