comparison pytouhou/ui/renderer.pyx @ 411:2428296cccab

Remove indirect access to Matrix values.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Wed, 12 Jun 2013 16:07:22 +0200
parents 9d790ca73c13
children 5fe6cd6ceb48
comparison
equal deleted inserted replaced
410:9d790ca73c13 411:2428296cccab
174 glBindBuffer(GL_ARRAY_BUFFER, 0) 174 glBindBuffer(GL_ARRAY_BUFFER, 0)
175 175
176 176
177 cpdef ortho_2d(self, left, right, bottom, top): 177 cpdef ortho_2d(self, left, right, bottom, top):
178 mat = Matrix() 178 mat = Matrix()
179 mat[0][0] = 2 / (right - left) 179 data = mat.data
180 mat[1][1] = 2 / (top - bottom) 180 data[0][0] = 2 / (right - left)
181 mat[2][2] = -1 181 data[1][1] = 2 / (top - bottom)
182 mat[3][0] = -(right + left) / (right - left) 182 data[2][2] = -1
183 mat[3][1] = -(top + bottom) / (top - bottom) 183 data[3][0] = -(right + left) / (right - left)
184 data[3][1] = -(top + bottom) / (top - bottom)
184 return mat 185 return mat
185 186
186 187
187 cpdef look_at(self, eye, center, up): 188 cpdef look_at(self, eye, center, up):
188 eye = Vector(eye) 189 eye = Vector(eye)
205 bottom = -top 206 bottom = -top
206 left = -top * aspect 207 left = -top * aspect
207 right = top * aspect 208 right = top * aspect
208 209
209 mat = Matrix() 210 mat = Matrix()
210 mat[0][0] = (2 * z_near) / (right - left) 211 data = mat.data
211 mat[1][1] = (2 * z_near) / (top - bottom) 212 data[0][0] = (2 * z_near) / (right - left)
212 mat[2][2] = -(z_far + z_near) / (z_far - z_near) 213 data[1][1] = (2 * z_near) / (top - bottom)
213 mat[2][3] = -1 214 data[2][2] = -(z_far + z_near) / (z_far - z_near)
214 mat[3][2] = -(2 * z_far * z_near) / (z_far - z_near) 215 data[2][3] = -1
215 mat[3][3] = 0 216 data[3][2] = -(2 * z_far * z_near) / (z_far - z_near)
217 data[3][3] = 0
216 return mat 218 return mat
217 219
218 220
219 cpdef setup_camera(self, dx, dy, dz): 221 cpdef setup_camera(self, dx, dy, dz):
220 # Some explanations on the magic constants: 222 # Some explanations on the magic constants: