De laatste paar dagen ben ik mij aan het verdiepen in WebGL gezien ik altijd al geïnteresseerd ben geweest in 3D. Ik heb mezelf er dit keer dan ook toe gezet hier echt eens iets mee te gaan doen. Op dit moment ben ik dus vooral veel tutorials aan het doorlezen en de meeste onderdelen snap ik, maar er is 1 ding dat ik niet helemaal begrijp.
Op de volgende pagina is te zien dat er op een gegeven moment een vertex shader wordt aangemaakt:
http://www.tutorialspoint.com/webgl/webgl_cube_rotation.htm
var vertCode = 'attribute vec3 position;'+
'uniform mat4 Pmatrix;'+
'uniform mat4 Vmatrix;'+
'uniform mat4 Mmatrix;'+
'attribute vec3 color;'+//the color of the point
'varying vec3 vColor;'+
'void main(void) { '+//pre-built function
'gl_Position = Pmatrix*Vmatrix*Mmatrix*vec4(position, 1.);'+
'vColor = color;'+
'}';
Hierin staan 2 attributen: position en color, verderop is het volgende te zien:
gl.bindBuffer(gl.ARRAY_BUFFER, vertex_buffer);
var position = gl.getAttribLocation(shaderProgram, "position");
gl.vertexAttribPointer(position, 3, gl.FLOAT, false,0,0) ;
gl.enableVertexAttribArray(position);
gl.bindBuffer(gl.ARRAY_BUFFER, color_buffer);
var color = gl.getAttribLocation(shaderProgram, "color");
gl.vertexAttribPointer(color, 3, gl.FLOAT, false,0,0) ;
gl.enableVertexAttribArray(color);
Wat ik niet snap is waar position en color hun waarde vandaan krijgen. Zou iemand, die hier wat meer verstand van heeft dan ik, me dit kunnen uitleggen?
Alvast bedankt!