學習webgl發現一個問題
代碼如下
var Geometry1 = new Object();
Geometry1.vertices = new Float32Array([
// Vertex coordinates and color(RGBA)
0.5, 0.4, -0.8, 1.0, 0.4, 0.4, // 黃色最后
-0.5, 0.4, -0.8, 1.0, 1.0, 0.4,
0.0, -0.6, -0.8, 1.0, 1.0, 0.4,
0.0, 0.5, -0.2, 0.4, 0.4, 1.0, // 最前面藍色
-0.6, -0.5, -0.2, 0.4, 0.4, 1.0,
0.6, -0.5, -0.2, 1.0, 0.4, 0.4,
0.0, 0.5, -0.4, 0.4, 1.0, 0.4, //綠色中間
-0.5, -0.5, -0.4, 0.4, 1.0, 0.4,
0.5, -0.5, -0.4, 1.0, 0.4, 0.4,
]);
//頂點著色
Geometry1.VSHADER_SOURCE =
'attribute vec4 a_Position;'+
'attribute vec4 a_Color;'+
'varying vec4 v_Color;'+
//'uniform mat4 u_mat;'+
'void main(){'+
//'gl_Position = u_mat * a_Position;'+
'gl_Position = a_Position;'+
'v_Color = a_Color;'+
'}';
//像素著色
Geometry1.FSHADER_SOURCE =
'precision mediump float;'+
'varying vec4 v_Color;'+
'void main(){'+
'gl_FragColor = v_Color; '+
'}';
//下面是繪圖代碼
gl.clearColor(0,0,0,1);
gl.enable(gl.DEPTH_TEST);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
gl.bindBuffer(gl.ARRAY_BUFFER,this.vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER,this.vertices,gl.STATIC_DRAW);
gl.enableVertexAttribArray(this.a_Position);
gl.enableVertexAttribArray(this.a_Color);
var Fsize = this.vertices.BYTES_PER_ELEMENT;
gl.vertexAttribPointer(this.a_Position,3,gl.FLOAT,false,Fsize*6,0);
gl.vertexAttribPointer(this.a_Color,3,gl.FLOAT,false,Fsize*6,Fsize*3);
gl.drawArrays(gl.TRIANGLES,0,Geometry1.vertices.length /6);
開啟深度測驗后 發現黃色居然在前面 就沒有搞懂了 為什么是反的??
求大神解答 最好有相關資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/54787.html
標籤:Cocos2d-x
