Sets integer uniform in image shader (stored in intParams map, uploaded to GPU during rendering).
Takes shader (shader handle), name (uniform variable name in HLSL, string), value (integer value).
Returns nothing.
Shaders
Parameters & Returns
Parameters
shaderInt
nameString
valueInt
Returns
Void
Quick Summary
Sets integer uniform in image shader (stored in intParams map, uploaded to GPU during rendering).
Takes shader (shader handle), name (uniform variable name in HLSL, string), value (integer value).
Returns nothing.
Technical Exegesis...
Sets integer uniform in image shader (stored in intParams map, uploaded to GPU during rendering). Takes shader (shader handle), name (uniform variable name in HLSL, string), value (integer value). Returns nothing. Stores in shader.intParams[name] map (CPU-side storage), uploaded to constant buffer during draw (packed into cbuffer, sent to GPU with draw command).
Sets integer uniform in image shader (stored in intParams map, uploaded to GPU during rendering). Takes shader (shader handle), name (uniform variable name in HLSL, string), value (integer value). Returns nothing. Stores in shader.intParams[name] map (CPU-side storage), uploaded to constant buffer during draw (packed into cbuffer, sent to GPU with draw command). Use for discrete states (effect mode, iteration count, flags), array indexing (texture array index, lookup table index), or boolean flags (enable/disable effect, toggle modes). Parameter storage: CPU map (shader.intParams[name]=value), uploaded on use (when image with this shader drawn, params packed to cbuffer), persistent (remains until changed, survives across frames). Use cases: (1) Effect mode (b2dSetImageShaderInt(shader,"mode",2) switch between effect variants), (2) Iteration count (b2dSetImageShaderInt(blurShader,"samples",16) blur quality), (3) Toggle effect (b2dSetImageShaderInt(shader,"enabled",1) enable/disable), (4) Texture index (b2dSetImageShaderInt(shader,"texIndex",3) array texture selection). HLSL access: declare uniform (int mode; in shader), use in shader (if(mode==1){variant1} else{variant2}). Performance: cost zero (map insert/update, no GPU operation until draw), batched upload (all parameters uploaded together during 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: b2dSetImageShaderFloat (float parameters), b2dSetImageShaderFloat2/3/4 (vector parameters), b2dLoadImageShader (creates shader), b2dDrawImageEx (draws with shader).