setupMesh method

void setupMesh(
  1. BufferGeometry geometry,
  2. Material material
)

Implementation

void setupMesh(BufferGeometry geometry, Material material) {
  if (geometry is PlaneGeometry) {
    if (material is MeshBasicMaterial) {
      if (material.map != null) {
        setupPlaneWithTextureProgramInfo();
      } else {
        setupGenericProgramInfo();
      }
    } else {
      setupGenericProgramInfo();
    }
  } else {
    // 1. Create a program based on geometry and material
    setupGenericProgramInfo();
  }

  // 2. Compute the buffer info
  geometry.computeBufferInfo(gl);

  // 3. Setup VAO
  vao = Flutter3D.createVAOFromBufferInfo(gl, programInfo!, geometry.bufferInfo);

  // if the material has map texture.
  if (material is MeshBasicMaterial) {
    if (material.map != null) {
      if (material.checkerboard) {
        setupCheckerboardTexture(material);
      } else {
        setupTexture(material);
      }
    }
  }
}