When attempting to change the position to position1 in the buffer geometry example provided here, it seems to not function properly.
var geometry = new THREE.BufferGeometry();
// create a simple square shape. We duplicate the top left and bottom right
// vertices because each vertex needs to appear once per triangle.
var vertices = new Float32Array( [
-1.0, -1.0, 1.0,
1.0, -1.0, 1.0,
1.0, 1.0, 1.0,
1.0, 1.0, 1.0,
-1.0, 1.0, 1.0,
-1.0, -1.0, 1.0
] );
// itemSize = 3 because there are 3 values (components) per vertex
geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
// I can't change the string 'position' to 'position1', why?
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
var mesh = new THREE.Mesh( geometry, material );
It seems that 'position' is a reserved keyword internally used for a list of vertex positions. It is assumed that these positions will be passed to the vertex shader, is this assumption correct?
Are there other reserved keywords for InstancedBufferGeometry similar to 'position'?