コード例 #1
0
def analyze(self):
    """
        Analyzes the geometry below this node and reports the
        number of vertices, triangles, etc.  This is the same
        information reported by the bam-info program.
        """
    from panda3d.core import SceneGraphAnalyzer
    sga = SceneGraphAnalyzer()
    sga.addNode(self.node())
    if sga.getNumLodNodes() == 0:
        print(sga)
    else:
        print("At highest LOD:")
        sga2 = SceneGraphAnalyzer()
        sga2.setLodMode(sga2.LMHighest)
        sga2.addNode(self.node())
        print(sga2)

        print("\nAt lowest LOD:")
        sga2.clear()
        sga2.setLodMode(sga2.LMLowest)
        sga2.addNode(self.node())
        print(sga2)

        print("\nAll nodes:")
        print(sga)
コード例 #2
0
def analyze(self):
    from panda3d.core import SceneGraphAnalyzer
    sga = SceneGraphAnalyzer()
    sga.addNode(self.node())
    if sga.getNumLodNodes() == 0:
        print sga
    else:
        print 'At highest LOD:'
        sga2 = SceneGraphAnalyzer()
        sga2.setLodMode(sga2.LMHighest)
        sga2.addNode(self.node())
        print sga2
        print '\nAt lowest LOD:'
        sga2.clear()
        sga2.setLodMode(sga2.LMLowest)
        sga2.addNode(self.node())
        print sga2
        print '\nAll nodes:'
        print sga
コード例 #3
0
 def getRenderInfo(self):
     sga = SceneGraphAnalyzer()
     sga.addNode(self.scene.scene.node())
     
     ls = LineStream()
     sga.write(ls)
     desc = []
     while ls.isTextAvailable():
         desc.append(ls.getLine())
     desc = '\n'.join(desc)
     return desc
コード例 #4
0
    def __init__(self, pipeline):
        RPObject.__init__(self)
        self.debug("Creating debugger")
        self.pipeline = pipeline
        self.analyzer = SceneGraphAnalyzer()

        self.fullscreen_node = Globals.base.pixel2d.attach_new_node("rp_debugger")
        self.create_components()
        self.init_keybindings()

        if self.advanced_info:
            Globals.base.doMethodLater(
                0.5, lambda task: self.collect_scene_data(), "RPDebugger_collectSceneData_initial")
        
        Globals.base.doMethodLater(0.1, self.update_stats, "RPDebugger_updateStats")
コード例 #5
0
    def doAnalyzeScene(self):
        render.analyze()

        ls = LineStream()
        sga = SceneGraphAnalyzer()
        sga.addNode(render.node())
        sga.write(ls)
        text = ""
        while ls.isTextAvailable():
            text += ls.getLine() + "\n"
        self.acceptOnce('analyzedone', self.__handleAnalyzeDone)
        self.analyzeDlg = GlobalDialog(message=text,
                                       style=Ok,
                                       doneEvent='analyzedone',
                                       text_scale=0.05)
        self.analyzeDlg.show()
コード例 #6
0
ファイル: debugger.py プロジェクト: mayudong/RenderPipeline
    def __init__(self, pipeline):
        RPObject.__init__(self)
        self.debug("Creating debugger")
        self._pipeline = pipeline
        self._analyzer = SceneGraphAnalyzer()

        self._load_config()
        self._fullscreen_node = Globals.base.pixel2d.attach_new_node(
            "PipelineDebugger")
        self._create_components()
        self._init_keybindings()
        self._init_notify()

        Globals.base.doMethodLater(0.5,
                                   lambda task: self._collect_scene_data(),
                                   "RPDebugger_collectSceneData_initial")
        Globals.base.doMethodLater(0.1, self._update_stats,
                                   "RPDebugger_updateStats")