【发布时间】:2015-01-31 02:50:40
【问题描述】:
我的问题与生成带有噪声函数和其他函数的高度图有关。
WebGL 提供了两个有趣的功能:gl.texImage2D 和 gl.readPixels。我会说它们有点相似,第一个将图像数据从画布上传到当前绑定的 WebGLTexture,第二个用画布中的像素数据填充 Uint8Array 缓冲区。
据我了解,如果接受不同的参数,gl.texImage2D 与 gl.readPixels 几乎相同。
我见过各种(WebGL)高度图实现,我记得它们都使用texImage2D,而没有人使用readPixels。
假设我们有一个由只有 [x, z] 坐标的顶点组成的平面,我们正在寻找 y 坐标来扭曲我们的平面。所以我们可以通过纹理查找找到 [y] 坐标,因此我们将纹理绑定到我们的程序,或者我们可以将另一个缓冲区与画布中的数据绑定并读取 [y] 作为属性。
在思考了纹理查找的工作原理和属性的工作原理之后, 与属性相比,纹理查找必须重得多?但是多少钱?
但是我不明白为什么人们如此使用纹理?
gl.texImage2D 和gl.readPixels,从 javascript 的角度来看它是如何工作的。你看过 readPixels 的任何演示吗?有什么我看不到的优势吗?
【问题讨论】:
标签: opengl-es webgl opengl-es-2.0 gpu