mapViewSceneContainer.py (2815B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\mapViewSceneContainer.py 2 import trinity 3 from eve.client.script.ui.control.scenecontainer import SceneContainer 4 import evegraphics.settings as gfxsettings 5 6 class MapViewSceneContainer(SceneContainer): 7 8 def ApplyAttributes(self, attributes): 9 self.cameraID = attributes.cameraID 10 SceneContainer.ApplyAttributes(self, attributes) 11 12 def PrepareCamera(self): 13 self.camera = sm.GetService('sceneManager').GetOrCreateCamera(self.cameraID) 14 self.camera.OnActivated() 15 self.camera.SetViewport(self.viewport) 16 self.projection = self.camera.projectionMatrix 17 18 def Close(self, *args, **kwds): 19 SceneContainer.Close(self, *args, **kwds) 20 self.scene = None 21 self.camera = None 22 self.projection = None 23 self.renderJob = None 24 self.bracketCurveSet = None 25 26 def DisplaySpaceScene(self, blendMode = None): 27 from trinity.sceneRenderJobSpaceEmbedded import CreateEmbeddedRenderJobSpace 28 self.renderJob = CreateEmbeddedRenderJobSpace(usePostProcessing=False, additiveBlending=True) 29 if self.destroyed: 30 return 31 rj = self.renderJob 32 rj.CreateBasicRenderSteps() 33 rj.overrideSettings.antiAliasingQuality = gfxsettings.AA_QUALITY_DISABLED 34 rj.overrideSettings.postProcessingQuality = 0 35 self.CreateBracketCurveSet() 36 rj.SetActiveCamera(None, self.camera.viewMatrix, self.camera.projectionMatrix) 37 rj.SetScene(self.scene) 38 rj.SetViewport(self.viewport) 39 if self.destroyed: 40 return 41 rj.SetCameraCallback(self.UpdateCamera) 42 sm.GetService('sceneManager').RegisterJob(rj) 43 try: 44 rj.DoPrepareResources() 45 except trinity.ALError: 46 pass 47 48 if blendMode: 49 step = trinity.TriStepSetStdRndStates() 50 step.renderingMode = blendMode 51 rj.AddStep('SET_BLENDMODE', step) 52 rj.Enable(False) 53 rj.SetSettingsBasedOnPerformancePreferences() 54 self.renderObject.renderJob = self.renderJob 55 56 def UpdateCamera(self, *args): 57 self.camera._Update() 58 59 def SetClearColor(self, clearColor): 60 step = self.renderObject.renderJob.GetStep('CLEAR') 61 if step: 62 step.color = clearColor 63 64 def DisplayScene(self, addClearStep = False, addBitmapStep = False, addShadowStep = False, backgroundImage = None): 65 pass 66 67 def UpdateViewPort(self, *args): 68 self.fieldOfView = self.camera.fov 69 self.backClip = self.camera.farClip 70 self.frontClip = self.camera.nearClip 71 SceneContainer.UpdateViewPort(self, *args) 72 73 def UpdateProjection(self): 74 self.camera.UpdateProjection()