CSharpGL.glm.pickMatrix C# (CSharp) Method

pickMatrix() public static method

Define a picking region.
public static pickMatrix ( vec2 center, vec2 delta, vec4 viewport ) : CSharpGL.mat4
center vec2 The center.
delta vec2 The delta.
viewport vec4 The viewport.
return CSharpGL.mat4
        public static mat4 pickMatrix(vec2 center, vec2 delta, vec4 viewport)
        {
            if (delta.x <= 0 || delta.y <= 0)
                throw new ArgumentOutOfRangeException();
            var Result = new mat4(1.0f);

            if (!(delta.x > (0f) && delta.y > (0f)))
                return Result; // Error

            vec3 Temp = new vec3(
                ((viewport[2]) - (2f) * (center.x - (viewport[0]))) / delta.x,
                ((viewport[3]) - (2f) * (center.y - (viewport[1]))) / delta.y,
                (0f));

            // Translate and scale the picked region to the entire window
            Result = translate(Result, Temp);
            return scale(Result, new vec3((viewport[2]) / delta.x, (viewport[3]) / delta.y, (1)));
        }