From: <ipe...@it...> - 2013-05-14 13:01:32
Attachments:
Navigate3D.c
|
Hi everyone It's been a while since we haven't heard any news in the freeglut Developer List. Today, I will not report any bugs or propose any bug fixes. Just to make things move a little bit, I will provide some code which might be usefull to anyone who wants to manipulate the view of his/her 3D model the way professional 3D CAD systems do. With this code, one can zoom, pan and rotate the model with two different sets of key and mouse combinations (the first is emulating old good ProEngineer 2001 and the second Solidworks). There are some instructions for using it displayed on screen. Although there aren't many comments, I think it should be pretty easy to modify the code and change its behaviour. The code is written in C so that more people can use it (although in C++ it would be more elegant). The programming style is not the best it could, since I didn't spend too much time to make it nice. It has been compiled with gcc and tested on Windows XP and Windows 7. It can be used as a template to display any 3D model or Scene. This code is 100% mine, so no copyrights or anything else annoying exist. Anyone is welcome to copy, change or do anything he/she likes with it. It could also be included in the samples distributed with freeglut. Hope you enjoy it. ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: Nigel S. <nig...@gm...> - 2013-05-15 02:21:25
|
I also have a variant of that. When I was teaching OpenGL it was better for students to spend their time programming OpenGL, rather than pondering what to do with mouse events... http://www.nigels.com/glt/gltzpr/ Does yours work nicely in perspective mode? Near and far clip planes, etc? - Nigel On Tue, May 14, 2013 at 7:45 AM, <ipe...@it...> wrote: > Hi everyone > It's been a while since we haven't heard any news in the freeglut Developer > List. > Today, I will not report any bugs or propose any bug fixes. > > Just to make things move a little bit, I will provide some code which might > be usefull to anyone who wants to manipulate the view of his/her 3D model > the way professional 3D CAD systems do. > > With this code, one can zoom, pan and rotate the model with two different > sets of key and mouse combinations (the first is emulating old good > ProEngineer 2001 and the second Solidworks). > There are some instructions for using it displayed on screen. > > Although there aren't many comments, I think it should be pretty easy to > modify the code and change its behaviour. > The code is written in C so that more people can use it (although in C++ it > would be more elegant). > The programming style is not the best it could, since I didn't spend too > much time to make it nice. > > It has been compiled with gcc and tested on Windows XP and Windows 7. > > It can be used as a template to display any 3D model or Scene. > > This code is 100% mine, so no copyrights or anything else annoying exist. > Anyone is welcome to copy, change or do anything he/she likes with it. > It could also be included in the samples distributed with freeglut. > > Hope you enjoy it. > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > ------------------------------------------------------------------------------ > AlienVault Unified Security Management (USM) platform delivers complete > security visibility with the essential security capabilities. Easily and > efficiently configure, manage, and operate all of your security controls > from a single console and one unified framework. Download a free trial. > http://p.sf.net/sfu/alienvault_d2d > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > |
From: <ipe...@it...> - 2013-05-15 05:42:57
|
Hi Nigel, I downloaded and compiled your code. The functionality of zpr is similar, just different keys & buttons. Besides, zooming is done centered at the point of click (useful for CAD). I simply wanted to put everything in one file to make it easier to quickly prototype and avoid making projects. I also added a set of functions for view manipulation like standard view selection (FRONT, TOP, LEFT etc), view fit, arrow keys for rotation, mouse wheel for zoom in/out and animation. Regarding perspective: No it works only with orthographic projection. I haven't tried to use perspective (I rarely use perspective since I'm in the mechanical engineering field). Regarding the Near Far Clipping planes: You probably mean that when zooming too much, parts of the model are clipped. I haven't found a way to overcome this problem nicely. Usually I set the clipping planes to a big value, +-50000 for instance, to compromise between zoom factor and depth buffer resolution. I once tried a method to scale with different scale factors for Z [glScalef(s,s,1)] but this requires also scaling the normals for lighting accordingly, which might be a little bit restrictive. Besides if you use the transformation matrix for different types of calculations you might need to maintain two transformation matrices - one for the uniform and one for the non uniform scaling. Regards Ioannis Quoting Nigel Stewart <nig...@gm...>: > I also have a variant of that. When I was teaching OpenGL it was > better for students to spend their time programming OpenGL, rather > than pondering what to do with mouse events... > > http://www.nigels.com/glt/gltzpr/ > > Does yours work nicely in perspective mode? > Near and far clip planes, etc? > > - Nigel > ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program. |
From: Clemens S. <cs1...@fh...> - 2013-09-07 16:53:57
Attachments:
arrow.c
|
Hi Ioannis, thanks for the viewer, I think especially the arrow stuff is a nice thing to have. Maybe it could be used as a new function in the fg_geometry file? I managed to optimize it a little bit, making it both safer and faster; you can find it attached. Use it as you like! Cheers Clemens Am 14.05.2013 14:45, schrieb ipe...@it...: > Hi everyone > It's been a while since we haven't heard any news in the freeglut > Developer List. > Today, I will not report any bugs or propose any bug fixes. > > Just to make things move a little bit, I will provide some code which > might be usefull to anyone who wants to manipulate the view of his/her > 3D model the way professional 3D CAD systems do. > > With this code, one can zoom, pan and rotate the model with two > different sets of key and mouse combinations (the first is emulating old > good ProEngineer 2001 and the second Solidworks). > There are some instructions for using it displayed on screen. > > Although there aren't many comments, I think it should be pretty easy to > modify the code and change its behaviour. > The code is written in C so that more people can use it (although in C++ > it would be more elegant). > The programming style is not the best it could, since I didn't spend too > much time to make it nice. > > It has been compiled with gcc and tested on Windows XP and Windows 7. > > It can be used as a template to display any 3D model or Scene. > > This code is 100% mine, so no copyrights or anything else annoying > exist. Anyone is welcome to copy, change or do anything he/she likes > with it. > It could also be included in the samples distributed with freeglut. > > Hope you enjoy it. > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > > ------------------------------------------------------------------------------ > AlienVault Unified Security Management (USM) platform delivers complete > security visibility with the essential security capabilities. Easily and > efficiently configure, manage, and operate all of your security controls > from a single console and one unified framework. Download a free trial. > http://p.sf.net/sfu/alienvault_d2d > > > > _______________________________________________ > Freeglut-developer mailing list > Fre...@li... > https://lists.sourceforge.net/lists/listinfo/freeglut-developer > |