does change the field of view equivalent to multiply by scale matrix?

后端 未结 1 1319
野的像风
野的像风 2020-12-12 06:43

Using perspective view, does change the field of view equal to multiplying by scale matrix?

Usally I think it is much natural to change the field of view.

相关标签:
1条回答
  • 2020-12-12 06:48

    No because in Perspective Projection scale is different for different distances

    The more distant object is the less scale it has that is why inside perspective matrix are goniometric functions. Btw. OpenGL gluPerspective has very inaccurate cotan causing problems when you try to overlap more perspective views together and also distorts the view so you can sometimes look behind corner or see object that can not see you ... If you replace them by precise ones then suddenly all is OK :)

    gluPerspective

    On the other hand scale matrix has just nonzero constants on the diagonal which just (un)Zoom the view constantly on whole Z range ...

    [edit1] If you change field of view

    it may look like you applied x,y scale but the Z coordinates are different... so if you use scale instead of applying new perspective then image may seem the same but Z-coordinates will be the same as in original view hence all Z-coordinate depending operations get wrong from that point

    In other words Projection is not the same as Scaling. For more info see

    • Understanding 4x4 homogenous transform matrices
    0 讨论(0)
提交回复
热议问题