Changeset 351
- Timestamp:
- 11/01/02 14:38:57 (6 years ago)
- Files:
-
- trunk/RBRapier/RBRapier/Renderer/Geometry/ArrayTraversal.py (modified) (7 diffs)
- trunk/RBRapier/RBRapier/Renderer/SequenceMgr.py (modified) (2 diffs)
- trunk/RBRapier/demo/Wavefront/scene.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBRapier/RBRapier/Renderer/Geometry/ArrayTraversal.py
r349 r351 42 42 'tristrip': GL.GL_TRIANGLE_STRIP, 43 43 } 44 _ReversePrimitiveMap = dict([(y,x) for (x,y) in _PrimitveMap.iteritems()]) 44 45 45 46 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 47 48 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 48 49 50 def GenerateStatistics(self, context): 51 context.Statistics[self.PrimitiveName] = self._PrimitiveCount + context.Statistics.get(self.PrimitiveName, 0) 52 49 53 class RangedTraversal(object): 50 54 """Draws a collection of ranges using one primitive""" 55 56 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 57 #~ Constants / Variables / Etc. 58 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59 60 _PrimitiveCount = 0 51 61 52 62 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 56 66 def __init__(self, primitive, rangecollection): 57 67 self.primitive = _PrimitveMap.get(primitive, primitive) 68 self.PrimitiveName = _ReversePrimitiveMap.get(self.primitive, str(primitive)) 58 69 self.rangecollection = rangecollection 59 70 71 for RangeStart, RangeEnd in self.datacollection: 72 self._PrimitiveCount += RangeEnd - RangeStart 73 74 GenerateStatistics = GenerateStatistics 75 60 76 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) 63 82 64 83 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 71 90 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 72 91 92 _PrimitiveCount = 0 73 93 _DefaultFormat = Numeric.UInt16 74 94 _glDrawElementsCall = { … … 84 104 def __init__(self, primitive, datacollection, format=None): 85 105 self.primitive = _PrimitveMap.get(primitive, primitive) 106 self.PrimitiveName = _ReversePrimitiveMap.get(self.primitive, str(primitive)) 86 107 if format is None: format = self._DefaultFormat 87 108 self.datacollection = [Numeric.asarray(data, format) for data in datacollection] 109 110 for each in self.datacollection: 111 self._PrimitiveCount += len(each) 112 88 113 self._glDrawElements = self._glDrawElementsCall[format] 114 115 GenerateStatistics = GenerateStatistics 89 116 90 117 def Execute(self, context): … … 92 119 for data in self.datacollection: 93 120 self._glDrawElements(primitive, data) 121 122 self.GenerateStatistics(context) 94 123 95 124 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 115 144 116 145 def Execute(self, context): 146 primitive = self.primitive 117 147 for color, data in zip(self.colors, self.datacollection): 118 148 GL.glColor3f(*color) 119 self._glDrawElements(self.primitive, data) 149 self._glDrawElements(primitive, data) 150 151 self.GenerateStatistics(context) 120 152 121 153 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBRapier/RBRapier/Renderer/SequenceMgr.py
r345 r351 25 25 26 26 import types 27 import time 27 28 import bisect 28 29 import weakref … … 105 106 106 107 def Execute(self, context=None): 108 self.Statistics = {} 109 start = time.clock() 110 self.Statistics['start'] = start 107 111 self.StateMgr.Reset() 108 112 self.ClientStateMgr.Reset() 109 113 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) 110 118 Draw = Execute 111 119 trunk/RBRapier/demo/Wavefront/scene.py
r349 r351 85 85 86 86 self.Sequence.Execute(None) 87 print self.Sequence.Statistics
