未验证 提交 921f0da1 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #16476 from yomboprime/tennis_readpixels

gpgpu_water example: Use renderer.readRenderTargetPixels
......@@ -633,7 +633,6 @@
var currentRenderTarget = gpuCompute.getCurrentRenderTarget( heightmapVariable );
readWaterLevelShader.uniforms[ "texture" ].value = currentRenderTarget.texture;
var gl = renderer.context;
for ( var i = 0; i < NUM_SPHERES; i ++ ) {
......@@ -646,11 +645,9 @@
var v = 1 - ( 0.5 * sphere.position.z / BOUNDS_HALF + 0.5 );
readWaterLevelShader.uniforms[ "point1" ].value.set( u, v );
gpuCompute.doRenderTarget( readWaterLevelShader, readWaterLevelRenderTarget );
var previousRenderTarget = renderer.getRenderTarget();
renderer.setRenderTarget( readWaterLevelRenderTarget );
gl.readPixels( 0, 0, 4, 1, gl.RGBA, gl.UNSIGNED_BYTE, readWaterLevelImage );
renderer.readRenderTargetPixels( readWaterLevelRenderTarget, 0, 0, 4, 1, readWaterLevelImage );
var pixels = new Float32Array( readWaterLevelImage.buffer );
renderer.setRenderTarget( previousRenderTarget );
// Get orientation
waterNormal.set( pixels[ 1 ], 0, - pixels[ 2 ] );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册