|
@@ -82,16 +82,18 @@ int main(void)
|
|
|
|
|
|
BeginShaderMode(shader);
|
|
|
|
|
|
- // WARNING: Additional samplers are enabled for all draw calls in the batch,
|
|
|
- // EndShaderMode() forces batch drawing and consequently resets active textures
|
|
|
- // to let other sampler2D to be activated on consequent drawings (if required)
|
|
|
+ // WARNING: Additional textures (sampler2D) are enabled for ALL draw calls in the batch,
|
|
|
+ // but EndShaderMode() forces batch drawing and resets active textures, this way
|
|
|
+ // other textures (sampler2D) can be activated on consequent drawings (if required)
|
|
|
+ // The downside of this approach is that SetShaderValue() must be called inside the loop,
|
|
|
+ // to be set again after every EndShaderMode() reset
|
|
|
SetShaderValueTexture(shader, texBlueLoc, texBlue);
|
|
|
|
|
|
- // We are drawing texRed using default sampler2D texture0 but
|
|
|
- // an additional texture units is enabled for texBlue (sampler2D texture1)
|
|
|
+ // We are drawing texRed using default [sampler2D texture0] but
|
|
|
+ // an additional texture units is enabled for texBlue [sampler2D texture1]
|
|
|
DrawTexture(texRed, 0, 0, WHITE);
|
|
|
|
|
|
- EndShaderMode();
|
|
|
+ EndShaderMode(); // Texture sampler2D is reseted, needs to be set again for next frame
|
|
|
|
|
|
DrawText("Use KEY_LEFT/KEY_RIGHT to move texture mixing in shader!", 80, GetScreenHeight() - 40, 20, RAYWHITE);
|
|
|
|