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
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)
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_()