setupPlane method

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

Implementation

void setupPlane(BufferGeometry geometry, Material material) {
  // 1. init program based on geometry and material

  // planeWithTextureShaders
  if (material is MeshBasicMaterial) {
    if (material.map != null) {
      programInfo = Flutter3D.createProgramInfo(
        gl,
        planeWithTextureShaders['vertexShader']!,
        planeWithTextureShaders['fragmentShader']!,
      );
    } else {
      programInfo = Flutter3D.createProgramInfo(
        gl,
        planeShaders['vertexShader']!,
        planeShaders['fragmentShader']!,
      );
    }
  } else {
    programInfo = Flutter3D.createProgramInfo(
      gl,
      planeShaders['vertexShader']!,
      planeShaders['fragmentShader']!,
    );
  }

  // 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);
      }
    }
  }
}