UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

27 lines (24 loc) 841 B
import { Vec4 } from '../../core/math/vec4.js'; import { QuadRender } from './quad-render.js'; import { RenderPassQuad } from './render-pass-quad.js'; const _tempRect = new Vec4(); function drawQuadWithShader(device, target, shader, rect, scissorRect) { const quad = new QuadRender(shader); if (!rect) { rect = _tempRect; rect.x = 0; rect.y = 0; rect.z = target ? target.width : device.width; rect.w = target ? target.height : device.height; } const renderPass = new RenderPassQuad(device, quad, rect, scissorRect); renderPass.init(target); renderPass.colorOps.clear = false; renderPass.depthStencilOps.clearDepth = false; if (device.isWebGPU && target === null && device.samples > 1) { renderPass.colorOps.store = true; } renderPass.render(); quad.destroy(); } export { drawQuadWithShader };