goo*_*ons 13 javascript terrain webgl three.js heightmap
我正在尝试使用WebGL创建3D地形.我有一个带有地形纹理的jpg,另一个带有高度值(-1到1)的jpg.
我看过各种包装器库(比如SpiderGL和Three.js),但我找不到一个可变的例子,如果我这样做(比如在Three.js中)代码没有记录,我也想不通怎么做.
任何人都可以给我一个很好的教程或例子吗?
有一个在three.js所为例http://mrdoob.github.com/three.js/examples/webgl_geometry_terrain.html这是我想要什么差不多.问题是他们随机创造了山脉的颜色和高度值.我想从2个不同的图像文件中读取这些值.
任何帮助都会得到满足.谢谢
pos*_*ssy 13
在GitHub上查看这篇文章:
https://github.com/mrdoob/three.js/issues/1003
florianf在那里联系的例子帮助我做到了这一点.
function getHeightData(img) {
var canvas = document.createElement( 'canvas' );
canvas.width = 128;
canvas.height = 128;
var context = canvas.getContext( '2d' );
var size = 128 * 128, data = new Float32Array( size );
context.drawImage(img,0,0);
for ( var i = 0; i < size; i ++ ) {
data[i] = 0
}
var imgd = context.getImageData(0, 0, 128, 128);
var pix = imgd.data;
var j=0;
for (var i = 0, n = pix.length; i < n; i += (4)) {
var all = pix[i]+pix[i+1]+pix[i+2];
data[j++] = all/30;
}
return data;
}
Run Code Online (Sandbox Code Playgroud)
演示:http://oos.moxiecode.com/js_webgl/terrain/index.html
归档时间: |
|
查看次数: |
15813 次 |
最近记录: |