#1
|
|||
|
|||
frustum versus clip and fov
I'm not understanding the difference (if any) between using the MainWindow.frustum call and the MainWindow.clip and MainWindow.fov calls. I would have expected them to give the same result in the following code, but they don't. Does anyone know why?
Code:
clipPlanes = (0.1,10) fov = 2*degrees(atan(screenHeight/(2*screenDistance))) aspectRatio = viz.MainWindow.getSize(viz.WINDOW_PIXELS)[0]/viz.MainWindow.getSize(viz.WINDOW_PIXELS)[1] topBottom = tan(radians(fov/2))*clipPlanes[0] viz.MainWindow.clip(clipPlanes) viz.MainWindow.fov(fov,aspectRatio) viz.MainWindow.frustum(-aspectRatio*topBottom,aspectRatio*topBottom,-topBottom,topBottom,clipPlanes[0],clipPlanes[1]) |
#2
|
|||
|
|||
Oh, nevermind. My bad. These two commands do give the same result. But if you use viz.MainWindow.getSize(viz.WINDOW_PIXELS) before calling viz.go() you (obviously now) don't get the correct numbers. I'm actually glad I had two screens, and two different resolutions, or I might never have noticed that silly mistake.
|
#3
|
|||
|
|||
Yes, there are very few commands that are valid prior to viz.go. Thanks for posting your answer.
|
|
|