Kaba yükseltmeler içeren bir dosyam var. Gps verisine dayanıyor. Bir PlaneBuffer dizisini yükseltmelerle doldurmak için bu verileri kullanıyorum.THREE.js seyrek düzlemBufferGeometry
var vertices = new Float32Array((grid.NCOL*grid.NROW) * 4);
for (var i = 0, q = vertices.length; i < q; i++){
vertices[ i*3 + 0 ] = parseInt(i % (grid.NCOL+1)*4);
vertices[ i*3 + 1 ] = parseInt(i/(grid.NCOL+1)*4);
// vertices[ i*3 + 2 ] = null; // makes no difference
}
for (var i = 0, l = grid.NODES.length; i < l; i++) {
var nodeNumber = grid.NODES[i][0];
var elevation= grid.NODES[i][1];
vertices[ nodeNumber*3 + 2 ] = elevation;
}
Benim sorun yükseklik değerleri bilinmemektedir (Vertex dizi yükselmesi ile seyrek) ve bir düzlemde delik/kesikler ile temsil edilmelidir düğümleri olmasıdır. Neyle sonuçlandığım, sıfır delillerin delikleri değil 0 olarak yorumlanmasıdır. rawshader'u kullanma yolunu kullanmaya başladım, ancak hala boş değerlerin saydam olmasının doğru yöntem olduğundan emin değilim.
Aşağıdaki resim benim sorunlarımı göstermektedir. Dairesel alan, orada olmaması gereken yüksek bir duvardır, çünkü "sıfır/0" zeminine üçgenleme yapar. Kırmızı çizgiler alanı, bir deliğe sahip olmamız gereken yer.

Masaüstü uygulamamızı görüntüler. Düzlemin kenarlarının sıfıra indirilmediğine dikkat edin ama bunun yerine keskin bir şekilde mi kaldın?
bana bir delik gibi görünüyor. Tam olarak ne yapmaya çalışıyorsun? Kodunuz null yüksekliklere nasıl davranmalıdır? – jered
Bir delik değil çünkü yüzey kesmek yerine yüzey 0'a kadar üçgenleniyor. Şeffaf olmasını istiyorum, sıfır yükseklikler bilinmeyen ve şeffaf olarak 0 olarak ele alınmalıdır. Siyah olduğu için bir deliğe benziyor. – LrakWortep
Eğer bu köşeleri zorlamak istiyorsanız, bunu elle yapmanız gerekecektir. THREE.js, geometriyi çıkarmak için yerleşik CSG işlemlerine sahip değildir. Şeffaf bitlerle sürekli bir yüzey olmasını istiyorsanız, bir gölgelendirici muhtemelen gitmek için bir yoldur. – jered