This is a great new feature, it's been on my todo list for a while and I
never got around to adding it. Things look great in ortho mode, maybe it
should be the default mode.

I've checked in the patch with a small change to rename "point" to
"perspective" and simplified the math in the zoom function.

Thanks again for all the patches! :)



On Sun, Dec 15, 2013 at 1:52 PM, Rodney Rushing <[email protected]>wrote:

> Let me try this with a compressed file so that the mailing list will let
> it through.  (What's everybody's favorite compressed file format?)
>
> * Implements Orthographic perspective
>
>   - Projection transform is abstracted into lcProjection class.
>   - Two perspectives: Point and Orthographic.
>   - Each view has its own perspective.
>   - Ortho focal point/plane that defaults to wherever the camera target is.
>
> * Adds new View->Perspective menu
>
> * Adds new commands
>
>   - Point perspective
>   - Orthographic perspective
>   - Cycle to next perspective
>   - Set perspective focal point to selection center
>
> * Assigns mouse middle click to cycle perspective
>
> * Tested with:
>
>   - Windows 7 64-bit / Visual Studio 2010
>   - Ubuntu 12.04 LTS 32-bit
>
> NOTES:
>
> Point view is the normal perspective view and works as it did previously.
>
> Orthographic view theoretically renders everything that is contained in a
> box that is formed by "extruding" the view window forward from the camera
> position to the far edge of the camera's rendering space. Zooming the
> camera then has no scaling effect because every z-position along this box
> has the same window size. Ortho zoom is achieved by scaling the size of the
> window and thereby changing the "girth" of the box. The camera can still be
> zoomed in order to position the camera between pieces in the Ortho view
> path.
>
> In order to create some relation between the two perspectives, a focal
> plane is established. This plane is the cross section of the Point field of
> view that will match the Ortho view window size. Another way to think of
> this is, the distance from the camera where things will remain the same
> size when the perspective switches; when switching Point to Ortho, objects
> further away from the plane will appear to become bigger and closer objects
> will appear to become smaller.  So that camera zoom works in a similar way
> in both perspectives, the Ortho window scaling is proportional to the focal
> plane distance - thus the mouse wheel will modify both camera position and
> window scaling, giving a 3D zoom effect.
>
> Due to simple geometry, you can get some neat disintegration effects
> depending on where the camera is positioned amongst objects in the Ortho
> view path. The logic can't know what plane you're attention is on unless
> you explicitly tell it, so if something you are interested in is being
> demolished while you zoom in Ortho, or becomes tiny or gigantic when you
> switch view, just set the focal point on one or more pieces of interest to
> shift the focal plane there.
>
> Because Ortho view isn't saved you probably want to use Point perspective
> when setting up build steps. I just noticed that real Lego instructions are
> Ortho, so saving the perspective sounds like a good idea at some point.
>
> - Rod
> _______________________________________________
> Leocad mailing list
> [email protected]
> https://list.gerf.org/listinfo/leocad
>
>
_______________________________________________
Leocad mailing list
[email protected]
https://list.gerf.org/listinfo/leocad

Reply via email to