Screen constructor
Screen(
- RenderingContext gl,
- Camera camera
Implementation
Screen(this.gl, this.camera) {
for (int r = 0; r < 6; r++) {
for (int g = 0; g < 6; g++) {
for (int b = 0; b < 6; b++) {
int rr = (r * 255 ~/ 5);
int gg = (g * 255 ~/ 5);
int bb = (b * 255 ~/ 5);
colours.add(rr << 16 | gg << 8 | bb);
}
}
}
worldTransformLocation = gl.getUniformLocation(testShader.program, "u_world");
viewTransformLocation = gl.getUniformLocation(testShader.program, "u_view");
projTransformLocation = gl.getUniformLocation(testShader.program, "u_proj");
texTransformLocation = gl.getUniformLocation(testShader.program, "u_text");
colorLocation1 = gl.getUniformLocation(testShader.program, "u_col1");
colorLocation2 = gl.getUniformLocation(testShader.program, "u_col2");
colorLocation3 = gl.getUniformLocation(testShader.program, "u_col3");
colorLocation4 = gl.getUniformLocation(testShader.program, "u_col4");
Float32List vertexArray = Float32List(4*5);
vertexArray.setAll(0*5, [-0.5, -0.5, 0.0, 1.0, 1.0]);
vertexArray.setAll(1*5, [-0.5, 0.5, 0.0, 1.0, 0.0]);
vertexArray.setAll(2*5, [0.5, 0.5, 0.0, 0.0, 0.0]);
vertexArray.setAll(3*5, [0.5, -0.5, 0.0, 0.0, 1.0]);
Int16List indexArray = Int16List(6);
indexArray.setAll(0, [0, 1, 2, 0, 2, 3]);
WebGL.Buffer vertexBuffer = gl.createBuffer();
gl.bindBuffer(WebGL.WebGL.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(WebGL.WebGL.ARRAY_BUFFER, vertexArray, WebGL.WebGL.STATIC_DRAW);
gl.vertexAttribPointer(posLocation, 3, WebGL.WebGL.FLOAT, false, 5 * Float32List.bytesPerElement, 0 * Float32List.bytesPerElement);
gl.enableVertexAttribArray(posLocation);
gl.vertexAttribPointer(texLocation, 2, WebGL.WebGL.FLOAT, false, 5 * Float32List.bytesPerElement, 3 * Float32List.bytesPerElement);
gl.enableVertexAttribArray(texLocation);
WebGL.Buffer indexBuffer = gl.createBuffer();
gl.bindBuffer(WebGL.WebGL.ELEMENT_ARRAY_BUFFER, indexBuffer);
gl.bufferData(WebGL.WebGL.ELEMENT_ARRAY_BUFFER, indexArray, WebGL.WebGL.STATIC_DRAW);
}