({
reader,
count,
renderer,
}: { reader: Rgba8Readback; count: number; renderer?: THREE.WebGLRenderer })
| 265 | // Perform render operation to run the Rgba8Readback program |
| 266 | // but don't perform the readback yet. |
| 267 | render({ |
| 268 | reader, |
| 269 | count, |
| 270 | renderer, |
| 271 | }: { reader: Rgba8Readback; count: number; renderer?: THREE.WebGLRenderer }) { |
| 272 | this.renderer = renderer || this.renderer; |
| 273 | if (!this.renderer) { |
| 274 | throw new Error("No renderer"); |
| 275 | } |
| 276 | |
| 277 | this.ensureCapacity(count); |
| 278 | |
| 279 | const { program, material } = this.prepareProgramMaterial(reader); |
| 280 | program.update(); |
| 281 | |
| 282 | const renderState = this.saveRenderState(this.renderer); |
| 283 | this.process({ count, material }); |
| 284 | this.resetRenderState(this.renderer, renderState); |
| 285 | } |
| 286 | |
| 287 | // Perform a readback of the render target, returning a buffer of the |
| 288 | // given type. |
no test coverage detected