QuadGeometry function

GeometryBuilder QuadGeometry(
  1. num size
)

Produces single square: -1 <= x,y <= 1, z == 0

This is mostly useful for processing the whole screen in the fragment shader

Implementation

GeometryBuilder QuadGeometry(num size) {
  List<VM.Vector3> vertices = [
    VM.Vector3(-1.0 * size, -1.0 * size, 0.0),
    VM.Vector3(1.0 * size, -1.0 * size, 0.0),
    VM.Vector3(1.0 * size, 1.0 * size, 0.0),
    VM.Vector3(-1.0 * size, 1.0 * size, 0.0)
  ];

  List<VM.Vector2> uvs = [
    VM.Vector2(0.0, 0.0),
    VM.Vector2(1.0, 0.0),
    VM.Vector2(1.0, 1.0),
    VM.Vector2(0.0, 1.0)
  ];

  VM.Vector3 n = VM.Vector3(0.0, 0.0, 1.0);
  List<VM.Vector3> normals = [n, n, n, n];

  GeometryBuilder gb = GeometryBuilder();
  gb.EnableAttribute(aTexUV);
  gb.AddVerticesFace4(vertices);
  gb.AddAttributesVector2(aTexUV, uvs);
  gb.EnableAttribute(aNormal);
  gb.AddAttributesVector3(aNormal, normals);
  return gb;
}