Re: [osg-users] Newbie Questions re: Camera control (I think)
Matthew, Geodetic coordinates (lat,lon,alt) are typically mapped into some sort of Cartesian coordinate system (x,y,z) (i.e. geocentric coordinates). Setting the view matrix will operate in the latter CS. The projection matrix does not control where you are looking. The view matrix determines that. The projection matrix controls the viewing frustum. Perhaps a review of the OpenGL transformation pipeline is appropriate here. Orientation (h,p,r) and position are concatenated together to form the view matrix. This topic has been discussed on how to manually set the view matrix to your liking. If you need some code snippets to get started, that can be provided...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Monday, January 02, 2012 10:18 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Newbie Questions re: Camera control (I think) Hi, I found the CameraControl wiki page, but it has a warning that it's out of date.. and I don't know how to update it to the osgViewer class because I can't get to the documentation (that, and I'm reasonably new to C++). - Given a point in 3d space with World Coordinates (eg, Latitude, Longitude, Altitude), how can I position the viewer at that point? I'm thinking that I need to create a matrix with my points in it, and then call camera.setViewMatrix(..). Is that correct? How do I convert my world coordinates into coordinates that will work in the camera? - Once I'm at that point, do I use camera.setProjectionMatrix to control where I'm looking? For example, say I want to look due North at lat 26, long -119, altitude 52. - Given a set of rotations that should happen to the camera (roll 3 degrees right, pitch 4 degrees up, etc), are those best handled by looking at the examples from osgGA::FirstPersonManipulator and going from there by building up a Matrix to use somewhere to rotate the camera's view? As of right now I've been tinkering with the code for the various implementations of the osgGA::FirstPersonManipulator and learning quite a bit - I just wanted to get these questions in my mind cleared up. I'm sorry that they're so basic =\ Thank you very much for your help, and for this community full of knowledge! Thank you again, Matthew -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=44529#44529 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Newbie Questions re: Camera control (I think)
Hello - I really appreciate your reply... part of my problem is not knowing the proper terms to even be able to search for what I want... I think you're correct in suggesting she reading about OpenGL as well. Do you happen to have any suggestions? I'll look around for converting the geodetic coordinates to cartesian coordinates, which I assume must be based on the GeoTIFF scale I used as input.. That gives me something to search for! I'll also look up the view matrix discussions you mentioned here.. thanks! If course, any links to code, sample code, etc that you can provide would be a great help for jumping off. Its much easier to search for class and method names rather than abstract ideas.. Again, thank you! Matthew On Jan 3, 2012 7:19 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Geodetic coordinates (lat,lon,alt) are typically mapped into some sort of Cartesian coordinate system (x,y,z) (i.e. geocentric coordinates). Setting the view matrix will operate in the latter CS. The projection matrix does not control where you are looking. The view matrix determines that. The projection matrix controls the viewing frustum. Perhaps a review of the OpenGL transformation pipeline is appropriate here. Orientation (h,p,r) and position are concatenated together to form the view matrix. This topic has been discussed on how to manually set the view matrix to your liking. If you need some code snippets to get started, that can be provided...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Monday, January 02, 2012 10:18 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Newbie Questions re: Camera control (I think) Hi, I found the CameraControl wiki page, but it has a warning that it's out of date.. and I don't know how to update it to the osgViewer class because I can't get to the documentation (that, and I'm reasonably new to C++). - Given a point in 3d space with World Coordinates (eg, Latitude, Longitude, Altitude), how can I position the viewer at that point? I'm thinking that I need to create a matrix with my points in it, and then call camera.setViewMatrix(..). Is that correct? How do I convert my world coordinates into coordinates that will work in the camera? - Once I'm at that point, do I use camera.setProjectionMatrix to control where I'm looking? For example, say I want to look due North at lat 26, long -119, altitude 52. - Given a set of rotations that should happen to the camera (roll 3 degrees right, pitch 4 degrees up, etc), are those best handled by looking at the examples from osgGA::FirstPersonManipulator and going from there by building up a Matrix to use somewhere to rotate the camera's view? As of right now I've been tinkering with the code for the various implementations of the osgGA::FirstPersonManipulator and learning quite a bit - I just wanted to get these questions in my mind cleared up. I'm sorry that they're so basic =\ Thank you very much for your help, and for this community full of knowledge! Thank you again, Matthew -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=44529#44529 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Newbie Questions re: Camera control (I think)
Matthew, Perhaps you can elaborate a bit more on what you're trying to accomplish with OSG. That way the community can be in a better position to offer some advice and help. There are plenty of resources online that can help with understanding the OpenGL transformation pipeline. There's always the OpenGL redbook http://www.opengl.org/documentation/red_book/. Paul Martz has a great book as well that you can read for introduction http://www.opengldistilled.com/. This is a good place to start. If you google OpenGL transformation pipline, many hits and resources will come up that can help you. As for converting geodetic to geocentric coordinates, OSG can help you with that. Take a look at the EllipsoidModel class in OSG... Regards, -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Tuesday, January 03, 2012 8:32 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Newbie Questions re: Camera control (I think) Hello - I really appreciate your reply... part of my problem is not knowing the proper terms to even be able to search for what I want... I think you're correct in suggesting she reading about OpenGL as well. Do you happen to have any suggestions? I'll look around for converting the geodetic coordinates to cartesian coordinates, which I assume must be based on the GeoTIFF scale I used as input.. That gives me something to search for! I'll also look up the view matrix discussions you mentioned here.. thanks! If course, any links to code, sample code, etc that you can provide would be a great help for jumping off. Its much easier to search for class and method names rather than abstract ideas.. Again, thank you! Matthew On Jan 3, 2012 7:19 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Geodetic coordinates (lat,lon,alt) are typically mapped into some sort of Cartesian coordinate system (x,y,z) (i.e. geocentric coordinates). Setting the view matrix will operate in the latter CS. The projection matrix does not control where you are looking. The view matrix determines that. The projection matrix controls the viewing frustum. Perhaps a review of the OpenGL transformation pipeline is appropriate here. Orientation (h,p,r) and position are concatenated together to form the view matrix. This topic has been discussed on how to manually set the view matrix to your liking. If you need some code snippets to get started, that can be provided...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Monday, January 02, 2012 10:18 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Newbie Questions re: Camera control (I think) Hi, I found the CameraControl wiki page, but it has a warning that it's out of date.. and I don't know how to update it to the osgViewer class because I can't get to the documentation (that, and I'm reasonably new to C++). - Given a point in 3d space with World Coordinates (eg, Latitude, Longitude, Altitude), how can I position the viewer at that point? I'm thinking that I need to create a matrix with my points in it, and then call camera.setViewMatrix(..). Is that correct? How do I convert my world coordinates into coordinates that will work in the camera? - Once I'm at that point, do I use camera.setProjectionMatrix to control where I'm looking? For example, say I want to look due North at lat 26, long -119, altitude 52. - Given a set of rotations that should happen to the camera (roll 3 degrees right, pitch 4 degrees up, etc), are those best handled by looking at the examples from osgGA::FirstPersonManipulator and going from there by building up a Matrix to use somewhere to rotate the camera's view? As of right now I've been tinkering with the code for the various implementations of the osgGA::FirstPersonManipulator and learning quite a bit - I just wanted to get these questions in my mind cleared up. I'm sorry that they're so basic =\ Thank you very much for your help, and for this community full of knowledge! Thank you again, Matthew -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=44529#44529 ___ osg-users
Re: [osg-users] Newbie Questions re: Camera control (I think)
I'm just working on a project to learn OSG, etc. For now, I've written a plugin for a flight simulator that will give me the GPS coords, altitude, heading etc.. and I wanted to see if I could get OSG to follow along with that data feed on my laptop. That's why I was asking about positioning the camera in space - I wanted to look at the same thing I was looking at in XPlane. I figured this would be a fun way to combine my interest in programming and aviation, while learning OpenGL/C++/OSG in the process. For now, I'll check out the EllipsoidModel. At first glance, it looks like I'll be good friends with this method by the end of things: void osg::EllipsoidModel::convertLatLongHeightToXYZ Going from the little I know, I could take those XYZ coords and place them into a matrix and then use that in the Viewer. I just need to work backwards from the input to Camera-setViewMatrix to find the APIs for creating that matrix.. --Matthew On Tue, Jan 3, 2012 at 8:01 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Perhaps you can elaborate a bit more on what you're trying to accomplish with OSG. That way the community can be in a better position to offer some advice and help. There are plenty of resources online that can help with understanding the OpenGL transformation pipeline. There's always the OpenGL redbook http://www.opengl.org/documentation/red_book/. Paul Martz has a great book as well that you can read for introduction http://www.opengldistilled.com/. This is a good place to start. If you google OpenGL transformation pipline, many hits and resources will come up that can help you. As for converting geodetic to geocentric coordinates, OSG can help you with that. Take a look at the EllipsoidModel class in OSG... Regards, -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Tuesday, January 03, 2012 8:32 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Newbie Questions re: Camera control (I think) Hello - I really appreciate your reply... part of my problem is not knowing the proper terms to even be able to search for what I want... I think you're correct in suggesting she reading about OpenGL as well. Do you happen to have any suggestions? I'll look around for converting the geodetic coordinates to cartesian coordinates, which I assume must be based on the GeoTIFF scale I used as input.. That gives me something to search for! I'll also look up the view matrix discussions you mentioned here.. thanks! If course, any links to code, sample code, etc that you can provide would be a great help for jumping off. Its much easier to search for class and method names rather than abstract ideas.. Again, thank you! Matthew On Jan 3, 2012 7:19 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Geodetic coordinates (lat,lon,alt) are typically mapped into some sort of Cartesian coordinate system (x,y,z) (i.e. geocentric coordinates). Setting the view matrix will operate in the latter CS. The projection matrix does not control where you are looking. The view matrix determines that. The projection matrix controls the viewing frustum. Perhaps a review of the OpenGL transformation pipeline is appropriate here. Orientation (h,p,r) and position are concatenated together to form the view matrix. This topic has been discussed on how to manually set the view matrix to your liking. If you need some code snippets to get started, that can be provided...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Monday, January 02, 2012 10:18 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Newbie Questions re: Camera control (I think) Hi, I found the CameraControl wiki page, but it has a warning that it's out of date.. and I don't know how to update it to the osgViewer class because I can't get to the documentation (that, and I'm reasonably new to C++). - Given a point in 3d space with World Coordinates (eg, Latitude, Longitude, Altitude), how can I position the viewer at that point? I'm thinking that I need to create a matrix with my points in it, and then call camera.setViewMatrix(..). Is that correct? How do I convert my world coordinates into coordinates that will work in the camera? - Once I'm at that point, do I use camera.setProjectionMatrix to control where I'm looking? For example, say I want to look due North at lat 26, long -119, altitude 52
Re: [osg-users] Newbie Questions re: Camera control (I think)
Do you have a database to fly around in? If not, take a look at VirtualPlanetBuilder to build one...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Tuesday, January 03, 2012 9:37 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Newbie Questions re: Camera control (I think) I'm just working on a project to learn OSG, etc. For now, I've written a plugin for a flight simulator that will give me the GPS coords, altitude, heading etc.. and I wanted to see if I could get OSG to follow along with that data feed on my laptop. That's why I was asking about positioning the camera in space - I wanted to look at the same thing I was looking at in XPlane. I figured this would be a fun way to combine my interest in programming and aviation, while learning OpenGL/C++/OSG in the process. For now, I'll check out the EllipsoidModel. At first glance, it looks like I'll be good friends with this method by the end of things: void osg::EllipsoidModel::convertLatLongHeightToXYZ Going from the little I know, I could take those XYZ coords and place them into a matrix and then use that in the Viewer. I just need to work backwards from the input to Camera-setViewMatrix to find the APIs for creating that matrix.. --Matthew On Tue, Jan 3, 2012 at 8:01 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Perhaps you can elaborate a bit more on what you're trying to accomplish with OSG. That way the community can be in a better position to offer some advice and help. There are plenty of resources online that can help with understanding the OpenGL transformation pipeline. There's always the OpenGL redbook http://www.opengl.org/documentation/red_book/. Paul Martz has a great book as well that you can read for introduction http://www.opengldistilled.com/. This is a good place to start. If you google OpenGL transformation pipline, many hits and resources will come up that can help you. As for converting geodetic to geocentric coordinates, OSG can help you with that. Take a look at the EllipsoidModel class in OSG... Regards, -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Tuesday, January 03, 2012 8:32 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Newbie Questions re: Camera control (I think) Hello - I really appreciate your reply... part of my problem is not knowing the proper terms to even be able to search for what I want... I think you're correct in suggesting she reading about OpenGL as well. Do you happen to have any suggestions? I'll look around for converting the geodetic coordinates to cartesian coordinates, which I assume must be based on the GeoTIFF scale I used as input.. That gives me something to search for! I'll also look up the view matrix discussions you mentioned here.. thanks! If course, any links to code, sample code, etc that you can provide would be a great help for jumping off. Its much easier to search for class and method names rather than abstract ideas.. Again, thank you! Matthew On Jan 3, 2012 7:19 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Geodetic coordinates (lat,lon,alt) are typically mapped into some sort of Cartesian coordinate system (x,y,z) (i.e. geocentric coordinates). Setting the view matrix will operate in the latter CS. The projection matrix does not control where you are looking. The view matrix determines that. The projection matrix controls the viewing frustum. Perhaps a review of the OpenGL transformation pipeline is appropriate here. Orientation (h,p,r) and position are concatenated together to form the view matrix. This topic has been discussed on how to manually set the view matrix to your liking. If you need some code snippets to get started, that can be provided...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Monday, January 02, 2012 10:18 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Newbie Questions re: Camera control (I think) Hi, I found the CameraControl wiki page, but it has a warning that it's out of date.. and I don't know how to update it to the osgViewer class because I can't get to the documentation (that, and I'm reasonably new to C++). - Given a point in 3d space with World Coordinates (eg, Latitude, Longitude, Altitude), how can I position the viewer at that point? I'm thinking that I
Re: [osg-users] Newbie Questions re: Camera control (I think)
I already built one using VirtualPlanetBuilder and some GeoTIFF files I got from the USGS Seamless server. I've been looking at that using the example programs, trying to learn what's what.. VPB makes things so simple, it's pretty amazing. --Matthew On Tue, Jan 3, 2012 at 9:33 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Do you have a database to fly around in? If not, take a look at VirtualPlanetBuilder to build one...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Tuesday, January 03, 2012 9:37 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Newbie Questions re: Camera control (I think) I'm just working on a project to learn OSG, etc. For now, I've written a plugin for a flight simulator that will give me the GPS coords, altitude, heading etc.. and I wanted to see if I could get OSG to follow along with that data feed on my laptop. That's why I was asking about positioning the camera in space - I wanted to look at the same thing I was looking at in XPlane. I figured this would be a fun way to combine my interest in programming and aviation, while learning OpenGL/C++/OSG in the process. For now, I'll check out the EllipsoidModel. At first glance, it looks like I'll be good friends with this method by the end of things: void osg::EllipsoidModel::convertLatLongHeightToXYZ Going from the little I know, I could take those XYZ coords and place them into a matrix and then use that in the Viewer. I just need to work backwards from the input to Camera-setViewMatrix to find the APIs for creating that matrix.. --Matthew On Tue, Jan 3, 2012 at 8:01 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Perhaps you can elaborate a bit more on what you're trying to accomplish with OSG. That way the community can be in a better position to offer some advice and help. There are plenty of resources online that can help with understanding the OpenGL transformation pipeline. There's always the OpenGL redbook http://www.opengl.org/documentation/red_book/. Paul Martz has a great book as well that you can read for introduction http://www.opengldistilled.com/. This is a good place to start. If you google OpenGL transformation pipline, many hits and resources will come up that can help you. As for converting geodetic to geocentric coordinates, OSG can help you with that. Take a look at the EllipsoidModel class in OSG... Regards, -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Tuesday, January 03, 2012 8:32 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Newbie Questions re: Camera control (I think) Hello - I really appreciate your reply... part of my problem is not knowing the proper terms to even be able to search for what I want... I think you're correct in suggesting she reading about OpenGL as well. Do you happen to have any suggestions? I'll look around for converting the geodetic coordinates to cartesian coordinates, which I assume must be based on the GeoTIFF scale I used as input.. That gives me something to search for! I'll also look up the view matrix discussions you mentioned here.. thanks! If course, any links to code, sample code, etc that you can provide would be a great help for jumping off. Its much easier to search for class and method names rather than abstract ideas.. Again, thank you! Matthew On Jan 3, 2012 7:19 AM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: Matthew, Geodetic coordinates (lat,lon,alt) are typically mapped into some sort of Cartesian coordinate system (x,y,z) (i.e. geocentric coordinates). Setting the view matrix will operate in the latter CS. The projection matrix does not control where you are looking. The view matrix determines that. The projection matrix controls the viewing frustum. Perhaps a review of the OpenGL transformation pipeline is appropriate here. Orientation (h,p,r) and position are concatenated together to form the view matrix. This topic has been discussed on how to manually set the view matrix to your liking. If you need some code snippets to get started, that can be provided...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Matthew Runo Sent: Monday, January 02, 2012 10:18 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Newbie Questions re: Camera control (I think) Hi, I found the CameraControl
[osg-users] Newbie Questions re: Camera control (I think)
Hi, I found the CameraControl wiki page, but it has a warning that it's out of date.. and I don't know how to update it to the osgViewer class because I can't get to the documentation (that, and I'm reasonably new to C++). - Given a point in 3d space with World Coordinates (eg, Latitude, Longitude, Altitude), how can I position the viewer at that point? I'm thinking that I need to create a matrix with my points in it, and then call camera.setViewMatrix(..). Is that correct? How do I convert my world coordinates into coordinates that will work in the camera? - Once I'm at that point, do I use camera.setProjectionMatrix to control where I'm looking? For example, say I want to look due North at lat 26, long -119, altitude 52. - Given a set of rotations that should happen to the camera (roll 3 degrees right, pitch 4 degrees up, etc), are those best handled by looking at the examples from osgGA::FirstPersonManipulator and going from there by building up a Matrix to use somewhere to rotate the camera's view? As of right now I've been tinkering with the code for the various implementations of the osgGA::FirstPersonManipulator and learning quite a bit - I just wanted to get these questions in my mind cleared up. I'm sorry that they're so basic =\ Thank you very much for your help, and for this community full of knowledge! Thank you again, Matthew -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=44529#44529 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org