setupPlane method
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);
}
}
}
}