Javascript 生成网格
我需要一个四边形网格,这样我就可以在X和Y上有200x200个顶点和0到1的UV坐标Javascript 生成网格,javascript,webgl,Javascript,Webgl,我需要一个四边形网格,这样我就可以在X和Y上有200x200个顶点和0到1的UV坐标 我不能手工编写,有没有办法生成这样的网格?您可以使用循环创建此顶点数组。简单: for (var i = 0; i < 200; i++) for (var j = 0; j < 200; j++) { // fill our array here } for(变量i=0;i
我不能手工编写,有没有办法生成这样的网格?您可以使用循环创建此顶点数组。简单:
for (var i = 0; i < 200; i++)
for (var j = 0; j < 200; j++)
{
// fill our array here
}
for(变量i=0;i<200;i++)
对于(var j=0;j<200;j++)
{
//在这里填充我们的数组
}
您想要200x200个顶点还是200x200个四边形
带索引
var positions = [];
var uvs = [];
var indices = [];
var quadsAcross = 200;
var quadsDown = 200;
for (var y = 0; y <= quadsDown; ++y) {
var v = y / quadsDown;
for (var x = 0; x <= quadsAcross; ++x) {
var u = x / quadsAcross;
positions.push(u, v);
uvs.push(u, v);
}
}
var rowSize = (quadsAcross + 1);
for (var y = 0; y < quadsDown; ++y) {
var rowOffset0 = (y + 0) * rowSize;
var rowOffset1 = (y + 1) * rowSize;
for (var x = 0; x < quadsAcross; ++x) {
var offset0 = rowOffset0 + x;
var offset1 = rowOffset1 + x;
indices.push(offset0, offset0 + 1, offset1);
indices.push(offset1, offset0 + 1, offset1 + 1);
}
}
属性向量4位置;
属性向量2 uv;
一致mat4矩阵;
可变vec2 v_uv;
void main(){
gl_位置=矩阵*位置;
v_uv=紫外线;
}
精密中泵浮子;
可变vec2 v_uv;
void main(){
gl_-FragColor=vec4(v_-uv,0,1);
}
为什么不在一个循环中构建这些顶点?是否也可以使用@gman方法创建顶点法线?使用从噪波函数获得的单个z坐标