NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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