Changeset 372
- Timestamp:
- 11/14/02 13:05:30 (6 years ago)
- Files:
-
- trunk/RBRapier/RBRapier/Tools/Visualizers/Grids.py (modified) (3 diffs)
- trunk/RBRapier/demo/Lightwave/coolgrid.png (added)
- trunk/RBRapier/demo/Lightwave/scene.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBRapier/RBRapier/Tools/Visualizers/Grids.py
r371 r372 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import Image 26 27 from OpenGL import GL, GLU 27 import Image28 28 29 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 30 #~ Definitions 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 33 def _DecodeImageData(strdata, size): 34 rawdata = strdata.decode('base64').decode('zlib') 35 return rawdata, size 36 def _EncodeImageData(filename): 37 image = Image.open(filename) 38 rawdata = image.tostring('raw', 'RGBX', 0, -1) 39 strdata = rawdata.encode('zlib').encode('base64') 40 return strdata, image.size 41 42 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 43 44 Rawdata = _DecodeImageData(""" 45 eJzt3c9qE1EYxuFb76KLUqpBoa0RaRQk1sXERdxIsvEi+tfWaimiV3HMK8zYrW4C8z0HzgX8zsOZ 46 SWbztWZVX+tfH9vyx6J1D+/b6f28zb+/HeVOWxrTmuah//NDW366b93yWzv9cNfm3ddR7rSlMa1p 47 7lfOI2czu3vdprev2vHNy1HutKUxrWke+jfnkbOZvbtt0zdf2vFsnDttaUxrmvuVO5FzObqZtsn1 48 YTu4ej7KnbY0pjXNQ//mTuRcjk6u2+TFVTs4vBzlTlsa05rmfuU+5G7kfPYuJ233/Mkod9rSmNY0 49 D/2b+5C7kfPZe3bRdp+ej3KnLY1pTXO/8m7M8zF3JOe0c7Y/yp22NKY1zUP/5t2Y52PuSM5pZ/9s 50 lDttaUxrmvnz58+fP3/+/Pnz589/2078+fPnz58/f/78+fPnz58/f/78+fPnz58/f/78+fPnz58/ 51 f/78+fPnz58/f/78+fPnz58/f/78+fPnz58/f/78+fPnz58/f/7bduLPnz9//vz58+fPnz9//vz5 52 8+fPnz9//vz58+fPnz////U3/632/DfzH2vPf6w5/7X72198/mu9+c9dW/1cDv2r4vOfLcuqu9YF 53 n3+rR8+/vAvyTqjz/lv8eef3q/rvn9jX+/27GPqr//+p/v+3+veP6t+/qn//9P2bP3/+/Pnz579t 54 J/78+fPnz58/f/78+fPnz58/f/78+fPnz58/f/78+fPnz58/f/78+fPnz58/f/78+fPnz58/f/78 55 +fPnz58/f/78+fPnz58//2078efPnz9//vz58+fPnz9//vz58+fPnz9//vz58+fPnz9//vz58/83 56 f/Pfas9/M/+x9vxH818Xpee/Vpz/vH40/zmzkHMeVec/W3XXb80sVlc= 57 58 """, (128,128)) 59 31 60 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 61 … … 39 68 TextureExtent = 10 40 69 TextureID = None 41 image = Image.open("grid.bmp") 70 ReloadTexture = 0 71 imagedata, imagesize = Rawdata 42 72 43 73 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 49 79 setattr(self, name, value) 50 80 51 def LoadTexture(self): 52 w, h = self.image.size 53 rawimage = self.image.tostring("raw", "RGBX", 0, -1) 81 def LoadGridTexture(self, filename): 82 image = Image.open(filename) 83 self.imagedata = image.tostring('raw', 'RGBX', 0, -1) 84 self.imagesize = image.size 85 self.ReloadTexture = 1 54 86 55 self.TextureID = GL.glGenTextures(1) 87 def _LoadTexture(self): 88 w, h = self.imagesize 89 90 if self.TextureID is None: 91 self.TextureID = GL.glGenTextures(1) 56 92 GL.glBindTexture(GL.GL_TEXTURE_2D, self.TextureID) 57 93 GL.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1) 58 #GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, 3, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, rawimage)59 GLU.gluBuild2DMipmaps(GL.GL_TEXTURE_2D, 3, w, h, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, rawimage)94 #GL.glTexImage2D(GL.GL_TEXTURE_2D, 0, 3, w, h, 0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, self.imagedata) 95 GLU.gluBuild2DMipmaps(GL.GL_TEXTURE_2D, 3, w, h, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, self.imagedata) 60 96 61 97 GL.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL.GL_REPEAT) 62 98 GL.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL.GL_REPEAT) 63 99 GL.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR) 100 #GL.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR) 64 101 GL.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_NEAREST) 65 102 66 103 def Execute(self, context): 67 if self.TextureID is None: 68 self.LoadTexture() 104 if self.ReloadTexture or self.TextureID is None: 105 self._LoadTexture() 106 self.ReloadTexture = 0 69 107 70 108 GL.glEnable(GL.GL_TEXTURE_2D) trunk/RBRapier/demo/Lightwave/scene.py
r371 r372 78 78 self.Lights.append(Lighting.Light(1)) 79 79 self.Lights[1].Specular = 1., 0., 0. 80 self.Lights[1].Diffuse = . 4, .3, .380 self.Lights[1].Diffuse = .8, .6, .6 81 81 self.Lights.append(Lighting.Light(2)) 82 82 self.Lights[2].Specular = 0., 0., 1. 83 self.Lights[2].Diffuse = . 3, .3, .483 self.Lights[2].Diffuse = .6, .6, .8 84 84 85 85 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 119 119 120 120 self.Grid = Grids.TextureGrid(GridExtent=1, TextureExtent=10) 121 try: self.Grid.LoadGridTexture('coolgrid.png') 122 except IOError: pass 121 123 self.Sequence.AddElement(self.Grid) 122 124
