基本上,我正在尝试使用GLSL在iOS上构建一些效果。 http://threejs.org/examples/#webgl_kinect
据我所知,第一步应该为每个像素创建一个顶点,然后用像素映射每个顶点。如果这一步完成,我可以用一些逻辑调整vertexShader中顶点的z位置,然后完成这个效果。
问题太慢了,比如前置摄像头是2MP,阵列中会有2M个顶点。
static const GLfloat squareVertices[] = {
-1.0f, -1.0f, // bottom left
1.0f, -1.0f, // bottom right
-1.0f, 1.0f, // top left
1.0f, 1.0f, // top right
};
static const float textureVertices[] = {
0.0f, 0.0f, // bottom left
1.0f, 0.0f, // bottom right
0.0f, 1.0f, // top left
1.0f, 1.0f, // top right
};
glVertexAttribPointer( ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, squareVertices );
glEnableVertexAttribArray( ATTRIB_VERTEX );
glVertexAttribPointer( ATTRIB_TEXTUREPOSITON, 2, GL_FLOAT, 0, 0, textureVertices );
glEnableVertexAttribArray( ATTRIB_TEXTUREPOSITON );
有没有GL api可以轻松快速地完成这项工作? 我猜测键可能在THREE.BufferGeometry()和THREE.Points() three.js是怎么做到的?