hbirchtree / coffeecutie

A C++ game engine/rendering engine
MIT License
5 stars 0 forks source link

Implement a boilerplate texture2DArray() GLSL function for GLES2 #247

Closed hbirchtree closed 4 years ago

hbirchtree commented 7 years ago

Initial implementation:

Uniforms:

attribute vec2 tex;

varying vec2 vs_tc;

uniform int InstanceID;
uniform int InstanceCount;

Code:

    float squareSize = sqrt(float(InstanceCount));
    int iSquareSize = int(squareSize);
    float fSquareSize = 1.0 / squareSize;

    float gridY = float(InstanceID / iSquareSize) * fSquareSize;
    float gridX = (float(InstanceID) - gridY * squareSize) * fSquareSize;

    vec2 baseCoord = vec2(gridX * fSquareSize, gridY * fSquareSize);

    vs_tc = tex * vec2(0.5, 0.5)
            * vec2(fSquareSize, fSquareSize)
            + vec2(0.25)
            + vec2(gridX, gridY);
github-actions[bot] commented 4 years ago

Stale issue message