X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FMain%2FCameraGroup.hxx;h=1e18e28e1172702ebd12e8c7c2a826844cc23b1a;hb=38226af24ec01e8f0a20d7fd73ef838a69f6ef25;hp=a9e9b6973481126fdb6f98f828a6f42f9dcb8235;hpb=4e047d456f1a20199da2d86d98af69913c75780a;p=flightgear.git diff --git a/src/Main/CameraGroup.hxx b/src/Main/CameraGroup.hxx index a9e9b6973..1e18e28e1 100644 --- a/src/Main/CameraGroup.hxx +++ b/src/Main/CameraGroup.hxx @@ -17,6 +17,7 @@ #ifndef CAMERAGROUP_HXX #define CAMERAGROUP_HXX 1 +#include #include #include @@ -24,6 +25,7 @@ #include #include #include +#include // For osgUtil::LineSegmentIntersector::Intersections, which is a typedef. #include @@ -76,6 +78,10 @@ struct CameraInfo : public osg::Referenced double height; }; +/** Update the OSG cameras from the camera info. + */ +void updateCameras(const CameraInfo* info); + class CameraGroup : public osg::Referenced { public: @@ -174,10 +180,19 @@ public: /** Update camera properties after a resize event. */ void resized(); + + void buildDistortionCamera(const SGPropertyNode* psNode, + osg::Camera* camera); protected: CameraList _cameras; osg::ref_ptr _viewer; static osg::ref_ptr _defaultGroup; + // Near, far for the master camera if used. + float _zNear; + float _zFar; + float _nearField; + typedef std::map > TextureMap; + TextureMap _textureTargets; }; }