def DisplaySpaceScene(self, blendMode=None):
        """
        Create a Render Job which renders this job on top of this window.
        """
        from trinity.sceneRenderJobSpaceEmbedded import CreateEmbeddedRenderJobSpace
        self.renderJob = CreateEmbeddedRenderJobSpace()
        rj = self.renderJob
        rj.CreateBasicRenderSteps()
        self.CreateBracketCurveSet()
        rj.SetActiveCamera(None, self.camera.viewMatrix,
                           self.camera.projectionMatrix)
        rj.SetScene(self.scene)
        rj.SetViewport(self.viewport)
        rj.UpdateViewport(self.viewport)
        sm.GetService('sceneManager').RegisterJob(rj)
        try:
            rj.DoPrepareResources()
        except trinity.D3DError:
            pass

        if blendMode:
            step = trinity.TriStepSetStdRndStates()
            step.renderingMode = blendMode
            rj.AddStep('SET_BLENDMODE', step)
        rj.Enable(False)
        rj.SetSettingsBasedOnPerformancePreferences()
        self.renderObject.renderJob = self.renderJob
Example #2
0
 def _DoFormatConversionStep(self, hdrTexture, msaaTexture = None):
     job = trinity.CreateRenderJob()
     job.name = 'DoFormatConversion'
     if msaaTexture is not None:
         if hdrTexture is not None:
             job.steps.append(trinity.TriStepResolve(hdrTexture, msaaTexture))
         else:
             job.steps.append(trinity.TriStepResolve(self.GetBackBufferRenderTarget(), msaaTexture))
             return trinity.TriStepRunJob(job)
     job.steps.append(trinity.TriStepSetStdRndStates(trinity.RM_FULLSCREEN))
     job.steps.append(trinity.TriStepRenderTexture(hdrTexture))
     return trinity.TriStepRunJob(job)
    def Initialize(self, size, speed, amplitude, tiling, texturePath):
        """
        Initializes the output texture, render job, builds render steps.
        Returns the output texture.
        """
        def TextureDestroyed():
            """
            Closure for weakref callback. Destroys the
            render job.
            """
            self.Destroy()

        texture = trinity.Tr2RenderTarget(size, size, 1,
                                          trinity.PIXEL_FORMAT.B8G8R8A8_UNORM)
        self.name = 'Caustics'
        self.size = size
        self.texture = blue.BluePythonWeakRef(texture)
        self.texture.callback = TextureDestroyed
        self.steps.append(trinity.TriStepPushRenderTarget(texture))
        self.steps.append(trinity.TriStepClear((0, 0, 0, 0)))
        self.steps.append(trinity.TriStepSetStdRndStates(
            trinity.RM_FULLSCREEN))
        material = trinity.Tr2ShaderMaterial()
        material.highLevelShaderName = 'Caustics'
        param = trinity.TriTexture2DParameter()
        param.name = 'Texture'
        param.resourcePath = texturePath
        material.parameters['Texture'] = param
        param = trinity.Tr2FloatParameter()
        param.name = 'Speed'
        param.value = speed
        material.parameters['Speed'] = param
        param = trinity.Tr2FloatParameter()
        param.name = 'Amplitude'
        param.value = amplitude
        material.parameters['Amplitude'] = param
        param = trinity.Tr2FloatParameter()
        param.name = 'Tiling'
        param.value = tiling
        material.parameters['Tiling'] = param
        material.BindLowLevelShader([])
        self.steps.append(trinity.TriStepRenderFullScreenShader(material))
        self.steps.append(trinity.TriStepPopRenderTarget())
        trinity.renderJobs.recurring.append(self)
        return trinity.TriTextureRes(texture)
Example #4
0
                wxapp.ProcessPendingEvents()

            wxapp.ProcessIdle()
            uthread2.Yield()

    uthread2.StartTasklet(process_tasklet)


def _on_video_info_ready(_, width, height):
    texture.__init__(width, height, 1, trinity.PIXEL_FORMAT.B8G8R8A8_UNORM)
    trinity.app.width = width
    trinity.app.height = height
    trinity.app.MoveWindow(trinity.app.left, trinity.app.top,
                           trinity.app.width, trinity.app.height)


video = videoplayer.VideoPlayer(blue.paths.open(path, 'rb'),
                                videoplayer.WaveOutAudioSink())
texture = trinity.TriTextureRes()
video.bgra_texture = texture
video.on_create_textures = _on_video_info_ready
app = TrinityApp(pauseOnDeactivate=False)
init_wx(video)
rj = trinity.TriRenderJob()
rj.steps.append(trinity.TriStepSetStdRndStates(trinity.RM_ALPHA))
rj.steps.append(trinity.TriStepClear((0.3, 0.3, 0.3, 1), 1.0))
rj.steps.append(trinity.TriStepSetRenderState(27, 1))
rj.steps.append(trinity.TriStepRenderTexture(texture))
trinity.renderJobs.recurring.append(rj)
app.exec_()