Discussion Board

Results 1 to 2 of 2
  1. #1
    В OpenGl ES при использовании функции проецирования:
    def SetPerspective2(fovy,aspect,near,far):
    matr = [
    [1.0, 0.0, 0.0, 0.0],
    [0.0, 1.0, 0.0, 0.0],
    [0.0, 0.0, 1.0, 0.0],
    [0.0, 0.0, 0.0, 1.0]]
    ymax=near*tan(fovy*3.141592/360.0)
    ymin=-ymax
    xmin=ymin*aspect
    xmax=ymax*aspect
    glFrustumf(xmin, xmax, ymin, ymax, near, far)
    Я не получаю ожидаемого результата от матрицы, полученной таким способом:
    class TCamera:
    def __init__(self, aPosition=TVector(0, 0, 0), aLookAt=TVector(0, 0, -1), aUp=TVector(0, 1, 0)):
    self.iViewMatrix = []
    self.LookAt(aPosition, aLookAt, aUp)
    def LookAt(self, aPosition, aLookAt, aUp):
    self.iPosition = aPosition
    self.iLookAt = aLookAt
    self.iUp = aUp
    ZAxis = (self.iLookAt - self.iPosition)
    ZAxis.Normalize()
    XAxis = TVector.CrossProduct(self.iUp, ZAxis)
    XAxis.Normalize()
    YAxis = TVector.CrossProduct(ZAxis, XAxis)
    self.MakeIdentity()
    self.iViewMatrix[0][0] = XAxis.iX;
    self.iViewMatrix[1][0] = XAxis.iY;
    self.iViewMatrix[2][0] = XAxis.iZ;
    self.iViewMatrix[3][0] = -TVector.DotProduct(self.iPosition, XAxis);
    self.iViewMatrix[0][1] = YAxis.iX;
    self.iViewMatrix[1][1] = YAxis.iY;
    self.iViewMatrix[2][1] = YAxis.iZ;
    self.iViewMatrix[3][1] = -TVector.DotProduct(self.iPosition, self.iUp);
    self.iViewMatrix[0][2] = ZAxis.iX;
    self.iViewMatrix[1][2] = ZAxis.iY;
    self.iViewMatrix[2][2] = ZAxis.iZ;
    self.iViewMatrix[3][2] = -TVector.DotProduct(self.iPosition, ZAxis);
    glLoadMatrixf(self.iViewMatrix)
    def MakeIdentity(self):
    self.iViewMatrix = [
    [1.0, 0.0, 0.0, 0.0],
    [0.0, 1.0, 0.0, 0.0],
    [0.0, 0.0, 1.0, 0.0],
    [0.0, 0.0, 0.0, 1.0]
    ]
    В матрице камеры ошибки нет. Я уже перепробывал несколько вариантов проекции(Например просто через glFrustumf): Без использования матрицы камеры, все работает нормально, но как-только я ее включаю, то изображение либо пропадает, либо искажается(Растягивается непредвиденным образом).
    Помогите плиз примером или советом. За любые предложения буду благодарен.

  2. #2
    Registered User JasFas0la's Avatar
    Join Date
    Nov 2007
    Posts
    84
    лично я OpenGL ES не занимался, но раз изображение исчезает (растягивается).. я думаю Вы не правильно проецируете pixmap (буффер openGLа) в CFbsBitmap для последующего отображения на дисплее. Не правильная битность.. или может ещё что..

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved