я получил два текстурных объектов положение и нормально, скажем,Как преобразовать текстуру three.js в WebGL
var tx1 = gpuCompute.getCurrentRenderTarget(positionVariable).texture;
var tx2 = gpuCompute.getCurrentRenderTarget(normalVariable).texture;
, который рассчитывается по GPUComputationRenderer
из three.js
(обратитесь к примеру gpgpu/protoplanet
(1))
Я хочу, чтобы преобразовать его в WebGLBuffer
объект для визуализации, как:
gl.bindBuffer(gl.ARRAY_BUFFER, tx1);
gl.vertexAttribPointer(shaderProgram.vertexPositionAttribute, 3, gl.FLOAT, false, 0, 0);
gl.bindBuffer(gl.ARRAY_BUFFER, tx2);
gl.vertexAttribPointer(shaderProgram.vertexNormalAttribute, 3, gl.FLOAT, false, 0, 0);
Но прямое назначение не в порядке.
Я хочу спросить, есть ли способ сделать это. Снимок формата этих двух объектов показан следующим образом (tx1 - от трех js, а tx3 - от WebGL). Благодарю.
(1) https://threejs.org/examples/#webgl_gpgpu_protoplanet
Большое спасибо. Тогда есть способ преобразовать этот объект текстуры, сгенерированный с помощью файла three.js в формат WebGLTexture, сгенерированный WebGL, с помощью 'gl.createTexture();'? Извините, что я не знаком с javascript. Еще раз спасибо. – zzj
Я не знаю, как получить 'WebGLTexture' из' THREE.Texture'. Я задал бы отдельный вопрос для этого, как в «Как получить WebGLTexture из THREE.Texture?» – gman