Ejemplo n.º 1
0
 def SetRenderTargets(self, *args):
     SceneRenderJobSpace.SetRenderTargets(self, *args)
     if self.depthBufferOverride:
         self.AddStep(
             'SET_SWAPCHAIN_DEPTH',
             trinity.TriStepSetDepthStencil(self.depthBufferOverride))
     if self.backBufferOverride:
         self.AddStep(
             'SET_SWAPCHAIN_RT',
             trinity.TriStepSetRenderTarget(self.backBufferOverride))
Ejemplo n.º 2
0
 def SetRenderTargets(self, *args):
     SceneRenderJobSpace.SetRenderTargets(self, *args)
     self.RemoveStep('PUSH_RENDER_TARGET')
     self.RemoveStep('PUSH_DEPTH_STENCIL')
     self.RemoveStep('POP_RENDER_TARGET')
     self.RemoveStep('POP_DEPTH_STENCIL')
     self.RemoveStep('SET_BLIT_VIEWPORT')
     self.RemoveStep('COPY_TO_BLIT_TEXTURE')
     self.RemoveStep('FINAL_BLIT_EMBEDDED')
     self.RemoveStep('PUSH_BLIT_DEPTH')
     self.RemoveStep('POP_BLIT_DEPTH')
     viewport = self.GetViewport()
     if viewport is not None:
         vpStep = self.GetStep('SET_VIEWPORT')
         if vpStep is not None:
             vpOrigin = trinity.TriViewport(0, 0, viewport.width, viewport.height)
             vpStep.viewport = vpOrigin
     if self.offscreenDepthStencil:
         self.AddStep('PUSH_DEPTH_STENCIL', trinity.TriStepPushDepthStencil(self.offscreenDepthStencil))
         self.AddStep('POP_DEPTH_STENCIL', trinity.TriStepPopDepthStencil())
     if self.offscreenRenderTarget:
         self.AddStep('PUSH_RENDER_TARGET', trinity.TriStepPushRenderTarget(self.offscreenRenderTarget))
         self.AddStep('POP_RENDER_TARGET', trinity.TriStepPopRenderTarget())
     self.AddStep('PUSH_BLIT_DEPTH', trinity.TriStepPushDepthStencil(None))
     self.RemoveStep('FINAL_BLIT')
     if self.customBackBuffer is not None and self.finalTexture is not None:
         step = trinity.TriStepResolve(self.finalTexture, self.customBackBuffer)
         step.name = 'Resolve: finalTexture <== customBackBuffer'
         self.AddStep('COPY_TO_BLIT_TEXTURE', step)
     if self.doFinalBlit:
         self.AddStep('SET_BLIT_VIEWPORT', trinity.TriStepSetViewport(viewport))
         if self.finalTexture:
             if self.stencilPath is None or self.stencilPath == '':
                 self.AddStep('FINAL_BLIT_EMBEDDED', trinity.TriStepRenderTexture(self.finalTexture))
             else:
                 stencilTriTextureRes = trinity.TriTextureRes()
                 stencilTriTextureRes.SetFromRenderTarget(self.finalTexture)
                 self.blitMapParameter.SetResource(stencilTriTextureRes)
                 self.AddStep('FINAL_BLIT_EMBEDDED', trinity.TriStepRenderEffect(self.stencilBlitEffect))
     self.AddStep('POP_BLIT_DEPTH', trinity.TriStepPopDepthStencil())