Changeset 351

Show
Ignore:
Timestamp:
11/01/02 14:38:57 (6 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBRapier/RBRapier/Renderer/Geometry/ArrayTraversal.py

    r349 r351  
    4242    'tristrip': GL.GL_TRIANGLE_STRIP, 
    4343    } 
     44_ReversePrimitiveMap = dict([(y,x) for (x,y) in _PrimitveMap.iteritems()]) 
    4445 
    4546#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4748#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    4849 
     50def GenerateStatistics(self, context): 
     51    context.Statistics[self.PrimitiveName] = self._PrimitiveCount + context.Statistics.get(self.PrimitiveName, 0) 
     52 
    4953class RangedTraversal(object): 
    5054    """Draws a collection of ranges using one primitive""" 
     55 
     56    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     57    #~ Constants / Variables / Etc.  
     58    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     59 
     60    _PrimitiveCount = 0 
    5161 
    5262    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5666    def __init__(self, primitive, rangecollection): 
    5767        self.primitive = _PrimitveMap.get(primitive, primitive) 
     68        self.PrimitiveName = _ReversePrimitiveMap.get(self.primitive, str(primitive)) 
    5869        self.rangecollection = rangecollection 
    5970 
     71        for RangeStart, RangeEnd in self.datacollection:  
     72            self._PrimitiveCount += RangeEnd - RangeStart 
     73 
     74    GenerateStatistics = GenerateStatistics 
     75 
    6076    def Execute(self, context): 
    61         for range in self.rangecollection: 
    62             GL.glDrawArrays(self.primitive, range) 
     77        primitive = self.primitive 
     78        for RangeStart, RangeEnd in self.rangecollection: 
     79            GL.glDrawArrays(primitive, RangeStart, RangeEnd) 
     80 
     81        self.GenerateStatistics(context) 
    6382 
    6483#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    7190    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7291 
     92    _PrimitiveCount = 0 
    7393    _DefaultFormat = Numeric.UInt16 
    7494    _glDrawElementsCall = { 
     
    84104    def __init__(self, primitive, datacollection, format=None): 
    85105        self.primitive = _PrimitveMap.get(primitive, primitive) 
     106        self.PrimitiveName = _ReversePrimitiveMap.get(self.primitive, str(primitive)) 
    86107        if format is None: format = self._DefaultFormat 
    87108        self.datacollection = [Numeric.asarray(data, format) for data in datacollection] 
     109 
     110        for each in self.datacollection:  
     111            self._PrimitiveCount += len(each) 
     112 
    88113        self._glDrawElements = self._glDrawElementsCall[format]  
     114 
     115    GenerateStatistics = GenerateStatistics 
    89116 
    90117    def Execute(self, context): 
     
    92119        for data in self.datacollection: 
    93120            self._glDrawElements(primitive, data) 
     121 
     122        self.GenerateStatistics(context) 
    94123 
    95124#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    115144 
    116145    def Execute(self, context): 
     146        primitive = self.primitive 
    117147        for color, data in zip(self.colors, self.datacollection): 
    118148            GL.glColor3f(*color) 
    119             self._glDrawElements(self.primitive, data) 
     149            self._glDrawElements(primitive, data) 
     150 
     151        self.GenerateStatistics(context) 
    120152 
    121153#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBRapier/RBRapier/Renderer/SequenceMgr.py

    r345 r351  
    2525 
    2626import types 
     27import time 
    2728import bisect 
    2829import weakref 
     
    105106 
    106107    def Execute(self, context=None): 
     108        self.Statistics = {} 
     109        start = time.clock() 
     110        self.Statistics['start'] = start 
    107111        self.StateMgr.Reset() 
    108112        self.ClientStateMgr.Reset() 
    109113        Sequence.Execute(self, self) 
     114        stop = time.clock() 
     115        self.Statistics['stop'] = stop 
     116        self.Statistics['duration'] = stop - start 
     117        self.Statistics['persecond'] = 1./max(1e-9, stop-start) 
    110118    Draw = Execute 
    111119 
  • trunk/RBRapier/demo/Wavefront/scene.py

    r349 r351  
    8585 
    8686        self.Sequence.Execute(None) 
     87        print self.Sequence.Statistics