Gpu Rays used to render range data into an image buffer The ogre2 implementation takes a 2 pass process to generate the final range data. 1st Pass: Creates a cubemap of range data. The cubemap is created from six cameras looking in all directions. Depending on the min/max angles specified, not all cameras need to be created. Internally in the 1st pass shaders, we reconstruct 3d viewspace pos from depth buffer data then convert them into ranges, i.e. length(pos.xyz). 2nd Pass: Samples range data from cubemap using predefined rays. The rays are generated based on the specified vertical and horizontal min/max angles and no. of samples. Each ray is a direction vector that is used to sample/lookup the range data stored in the faces of the cubemap.
More...
|
virtual | ~Ogre2GpuRays () |
| Destructor. More...
|
|
virtual common::ConnectionPtr | ConnectNewGpuRaysFrame (std::function< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _channels, const std::string &_format)> _subscriber) override |
|
virtual void | Copy (float *_data) override |
| Copy to the specified memory direction the gpu rays data. More...
|
|
virtual void | CreateRenderTexture () |
| Create dummy render texture. Needed to satisfy inheritance. More...
|
|
virtual const float * | Data () const override |
| All things needed to get back z buffer for gpu rays data. More...
|
|
virtual void | Destroy () override |
| Destroy any resources associated with this object. Invoking any other functions after destroying an object will result in undefined behavior. More...
|
|
virtual void | Init () override |
|
virtual void | PostRender () override |
| Preforms any necessary final rendering work. Once rendering is complete the camera will alert any listeners of the new frame event. This function should only be called after a call to Render has successfully been executed. More...
|
|
virtual void | PreRender () override |
| Prepare this object and any of its children for rendering. This should be called for each object in a scene just before rendering, which can be achieved by a single call to Scene::PreRender. More...
|
|
virtual RenderTargetPtr | RenderTarget () const override |
| Pointer to the render target. More...
|
|
virtual | ~BaseGpuRays () |
| Destructor. More...
|
|
virtual gz::math::Angle | AngleMax () const override |
| Get maximal horizontal angle value. More...
|
|
virtual gz::math::Angle | AngleMin () const override |
| Get minimal horizontal angle value. More...
|
|
virtual unsigned int | Channels () const override |
| Get the number of channels used to store the ray data. More...
|
|
virtual bool | Clamp () const override |
| Get behaviour for data values outside of camera range. More...
|
|
virtual common::ConnectionPtr | ConnectNewGpuRaysFrame (std::function< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _depth, const std::string &_format)> _subscriber) override |
|
virtual double | HorizontalResolution () const override |
| Get the horizontal resolution. This number is multiplied by RayCount to calculate RangeCount, which is the the number range data points. More...
|
|
virtual bool | IsHorizontal () const override |
| Gets if sensor is horizontal. More...
|
|
virtual int | RangeCount () const override |
| Get hoizontal range count, i.e. ray count * horz resolution. More...
|
|
virtual double | RangeCountRatio () const override |
| Get the ray count ratio (equivalent to aspect ratio) More...
|
|
virtual int | RayCount () const override |
| Get horizontal quantity of rays. More...
|
|
virtual double | RayCountRatio () const override |
| Get the ray count ratio (equivalent to aspect ratio) More...
|
|
virtual void | SetAngleMax (double _angle) override |
| Set maximal horizontal angle value. More...
|
|
virtual void | SetAngleMin (double _angle) override |
| Set minimal horizontal angle value. More...
|
|
virtual void | SetClamp (bool _enable) override |
| Configure behaviour for data values outside of camera range. More...
|
|
virtual void | SetHorizontalResolution (double _resolution) override |
| Set the horizontal resolution. This number is multiplied by RayCount to calculate RangeCount, which is the the number range data points. More...
|
|
virtual void | SetIsHorizontal (const bool _horizontal) override |
| Set sensor horizontal or vertical. More...
|
|
virtual void | SetRayCount (int _samples) override |
| Set horizontal quantity of rays. More...
|
|
virtual void | SetRayCountRatio (const double _rayCountRatio) override |
| Sets the ray count ratio (equivalent to aspect ratio) More...
|
|
virtual void | SetVerticalAngleMax (const double _angle) override |
| Set maximal vertical angle value. More...
|
|
virtual void | SetVerticalAngleMin (const double _angle) override |
| Set minimal vertical angle value. More...
|
|
virtual void | SetVerticalRayCount (int _samples) override |
| Set vertical quantity of rays. More...
|
|
virtual void | SetVerticalResolution (double resolution) override |
| Set the vertical resolution. This number is multiplied by VerticalRayCount to calculate VerticalRangeCount, which is the the number vertical range data points. More...
|
|
virtual void | SetVFOV (const math::Angle &_vfov) |
| Set the vertical fov. More...
|
|
virtual gz::math::Angle | VerticalAngleMax () const override |
| Get maximal vertical angle value. More...
|
|
virtual gz::math::Angle | VerticalAngleMin () const override |
| Get minimal vertical angle value. More...
|
|
virtual int | VerticalRangeCount () const override |
| Get vertical range count, i.e. ray count * vert resolution. More...
|
|
virtual int | VerticalRayCount () const override |
| Get vertical quantity of rays. More...
|
|
virtual double | VerticalResolution () const override |
| Get the vertical resolution. This number is multiplied by VerticalRayCount to calculate VerticalRangeCount, which is the the number vertical range data points. More...
|
|
virtual math::Angle | VFOV () const override |
| Get the vertical field-of-view. More...
|
|
virtual | ~GpuRays () |
| Destructor. More...
|
|
virtual common::ConnectionPtr | ConnectNewGpuRaysFrame (std::function< void(const float *_frame, unsigned int _width, unsigned int _height, unsigned int _depth, const std::string &)> _subscriber)=0 |
| Connect to a gpu rays frame signal. More...
|
|
virtual | ~Camera () |
| Destructor. More...
|
|
virtual | ~Sensor () |
| Sensor. More...
|
|
virtual | ~Node () |
| Destructor. More...
|
|
virtual | ~Object () |
| Destructor. More...
|
|
virtual unsigned int | Id () const =0 |
| Get the object ID. This ID will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More...
|
|
virtual std::string | Name () const =0 |
| Get the object name. This name will be unique across all objects inside a given scene, but necessarily true for objects across different scenes. More...
|
|
virtual ScenePtr | Scene () const =0 |
| Get the Scene that created this object. More...
|
|
virtual | ~BaseCamera () |
|
virtual void | AddRenderPass (const RenderPassPtr &_pass) override |
| Add a render pass to the camera. More...
|
|
virtual unsigned int | AntiAliasing () const override |
| Get the level of anti-aliasing used during rendering. More...
|
|
virtual double | AspectRatio () const override |
| Get the camera's aspect ratio. More...
|
|
virtual void | Capture (Image &_image) override |
| Renders a new frame and writes the results to the given image. This is a convenience function for single-camera scenes. It wraps the pre-render, render, post-render, and get-image calls into a single function. This should NOT be used in applications with multiple cameras or multiple consumers of a single camera's images. More...
|
|
virtual common::ConnectionPtr | ConnectNewImageFrame (Camera::NewFrameListener _listener) override |
| Subscribes a new listener to this camera's new frame event. More...
|
|
virtual void | Copy (Image &_image) const override |
| Writes the last rendered image to the given image buffer. This function can be called multiple times after PostRender has been called, without rendering the scene again. Calling this function before a single image has been rendered will have undefined behavior. More...
|
|
virtual Image | CreateImage () const override |
| Created an empty image buffer for capturing images. The resulting image will have sufficient memory allocated for subsequent calls to this camera's Capture function. However, any changes to this cameras properties may invalidate the condition. More...
|
|
virtual RenderWindowPtr | CreateRenderWindow () override |
| Create a render window. More...
|
|
virtual double | FarClipPlane () const override |
| Get the camera's far clipping plane distance. More...
|
|
virtual math::Vector3d | FollowOffset () const override |
| Get the follow offset vector in the frame specified at the time the follow target is set. More...
|
|
virtual double | FollowPGain () const override |
| Get the camera follow movement P gain. More...
|
|
virtual NodePtr | FollowTarget () const override |
| Get the target node being followed. More...
|
|
virtual math::Angle | HFOV () const override |
| Get the camera's horizontal field-of-view. More...
|
|
virtual PixelFormat | ImageFormat () const override |
| Get the image pixel format. If the image pixel format has not been set with a valid value, PF_UNKNOWN will be returned. More...
|
|
virtual unsigned int | ImageHeight () const override |
| Get the image height in pixels. More...
|
|
virtual unsigned int | ImageMemorySize () const override |
| Get the total image memory size in bytes. More...
|
|
virtual unsigned int | ImageWidth () const override |
| Get the image width in pixels. More...
|
|
virtual double | NearClipPlane () const override |
| Get the camera's near clipping plane distance. More...
|
|
virtual void | PrepareForExternalSampling () override |
| Right now this is Vulkan-only. This function needs to be called after rendering, and before handling the texture pointer (i.e. by calling RenderTextureMetalId()) so that external APIs (e.g. Qt) can sample the texture. More...
|
|
virtual math::Vector2i | Project (const math::Vector3d &_pt) const override |
| Project point in 3d world space to 2d screen space. More...
|
|
virtual math::Matrix4d | ProjectionMatrix () const override |
| Get the projection matrix for this camera. More...
|
|
virtual CameraProjectionType | ProjectionType () const override |
| Get the projection type for this camera. More...
|
|
void | RemoveAllRenderPasses () override |
| Remove all render passes from the camera. More...
|
|
virtual void | RemoveRenderPass (const RenderPassPtr &_pass) override |
| Remove a render pass from the camera. More...
|
|
virtual RenderPassPtr | RenderPassByIndex (unsigned int _index) const override |
| Get a render passes by index. More...
|
|
virtual unsigned int | RenderPassCount () const override |
| Get the number of render passes applied to the camera. More...
|
|
virtual unsigned int | RenderTextureGLId () const override |
| Get the OpenGL texture id associated with the render texture used by this camera. A valid id is returned only if the underlying render engine is OpenGL based. More...
|
|
virtual void | RenderTextureMetalId (void *_textureIdPtr) const override |
| Get the Metal texture id associated with the render texture used by this camera. A valid Id is obtained only if the underlying render engine is Metal based. The pointer set by this function must be released to an id<MTLTexture> using CFBridgingRelease. More...
|
|
virtual bool | SaveFrame (const std::string &_name) override |
| Writes the previously rendered frame to a file. This function can be called multiple times after PostRender has been called, without rendering the scene again. Calling this function before a single image has been rendered will have undefined behavior. More...
|
|
virtual void | SetAntiAliasing (const unsigned int _aa) override |
| Set the level of anti-aliasing used during rendering. If a value of 0 is given, no anti-aliasing will be performed. Higher values can significantly slow-down rendering times, depending on the underlying render engine. More...
|
|
virtual void | SetAspectRatio (const double _ratio) override |
| Set the camera's aspect ratio. This value determines the cameras vertical field-of-view. It is often the. More...
|
|
virtual void | SetFarClipPlane (const double _far) override |
| Set the camera's far clipping plane distance. More...
|
|
virtual void | SetFollowOffset (const math::Vector3d &_offset) override |
| Set offset of camera from target node being followed. The offset will be in the frame that is specified at the time the follow target is set. More...
|
|
virtual void | SetFollowPGain (const double _pGain) override |
| Set follow P Gain. Determines how fast the camera moves to follow the target node. Valid range: [0-1]. More...
|
|
virtual void | SetFollowTarget (const NodePtr &_target, const math::Vector3d &_Offset, const bool _worldFrame) override |
| Set a node for camera to follow. The camera will automatically update its position to keep itself at the specified offset distance from the target being followed. If null is specified, camera follow is disabled. In contrast to SetTrackTarget, the camera does not change its orientation when following is enabled. More...
|
|
virtual void | SetHFOV (const math::Angle &_hfov) override |
| Set the camera's horizontal field-of-view. More...
|
|
virtual void | SetImageFormat (PixelFormat _format, bool _reinterpretable=false) override |
| Set the image pixel format. More...
|
|
virtual void | SetImageHeight (const unsigned int _height) override |
| Set the image height in pixels. More...
|
|
virtual void | SetImageWidth (const unsigned int _width) override |
| Set the image width in pixels. More...
|
|
virtual void | SetMaterial (const MaterialPtr &_material) override |
| Set a material that the camera should see on all objects. More...
|
|
virtual void | SetNearClipPlane (const double _near) override |
| Set the camera's near clipping plane distance. More...
|
|
virtual void | SetProjectionMatrix (const math::Matrix4d &_matrix) override |
| Set the projection matrix for this camera. This overrides the standard projection matrix computed based on camera parameters. More...
|
|
virtual void | SetProjectionType (CameraProjectionType _type) override |
| Set the projection type for this camera This changes the projection matrix of the camera based on the camera projection type. A custom projection matrix can be specified via SetProjectionMatrix to override the provided one. To disable the custom projection matrix, just call this function again with the desired projection type. More...
|
|
virtual void | SetShadowsDirty () override |
|
virtual void | SetTrackOffset (const math::Vector3d &_offset) override |
| Set track offset. Camera will track a point that's at an offset from the target node. The offset will be in the frame that is specified at the time the track target is set. More...
|
|
virtual void | SetTrackPGain (const double _pGain) override |
| Set track P Gain. Determines how fast the camera rotates to look at the target node. Valid range: [0-1]. More...
|
|
virtual void | SetTrackTarget (const NodePtr &_target, const math::Vector3d &_offset, const bool _worldFrame) override |
| Set a node for camera to track. The camera will automatically change its orientation to face the target being tracked. If null is specified, tracking is disabled. In contrast to SetFollowTarget the camera does not change its position when tracking is enabled. More...
|
|
virtual math::Vector3d | TrackOffset () const override |
| Get the track offset vector in the frame specified at the time the track target is set. More...
|
|
virtual double | TrackPGain () const override |
| Get the camera track rotation P gain. More...
|
|
virtual NodePtr | TrackTarget () const override |
| Get the target node being tracked. More...
|
|
virtual void | Update () override |
| Renders a new frame. This is a convenience function for single-camera scenes. It wraps the pre-render, render, and post-render into a single function. This should NOT be used in applications with multiple cameras or multiple consumers of a single camera's images. More...
|
|
virtual math::Matrix4d | ViewMatrix () const override |
| Get the view matrix for this camera. More...
|
|
virtual VisualPtr | VisualAt (const gz::math::Vector2i &_mousePos) override |
| Get the visual for a given mouse position param[in] _mousePos mouse position. More...
|
|
virtual | ~Ogre2Sensor () |
| Destructor. More...
|
|
virtual | ~BaseSensor () |
|
virtual void | SetVisibilityMask (uint32_t _mask) override |
| Set visibility mask. More...
|
|
virtual uint32_t | VisibilityMask () const override |
| Get visibility mask. More...
|
|
virtual | ~Ogre2Node () |
| Destructor. More...
|
|
virtual bool | HasParent () const override |
| Determine if this Node is attached to another Node. More...
|
|
virtual bool | InheritScale () const override |
| Determine if this node inherits scale from this parent. More...
|
|
virtual math::Vector3d | LocalScale () const override |
| Get the local scale. More...
|
|
virtual Ogre::SceneNode * | Node () const |
| Get a pointer to the underlying scene node. More...
|
|
virtual NodePtr | Parent () const override |
| Get the parent Node. More...
|
|
virtual void | SetInheritScale (bool _inherit) override |
| Specify if this node inherits scale from its parent. More...
|
|
virtual | ~BaseNode () |
|
virtual void | AddChild (NodePtr _child) override |
| Add the given node to this node. If the given node is already a child, no work will be done. More...
|
|
virtual NodePtr | ChildById (unsigned int _id) const override |
| Get node with given ID. If no child exists with given ID, NULL will be returned. More...
|
|
virtual NodePtr | ChildByIndex (unsigned int _index) const override |
| Get node at given index. If no child exists at given index, NULL will be returned. More...
|
|
virtual NodePtr | ChildByName (const std::string &_name) const override |
| Get node with given name. If no child exists with given name, NULL will be returned. More...
|
|
virtual unsigned int | ChildCount () const override |
| Get number of child nodes. More...
|
|
virtual bool | HasChild (ConstNodePtr _child) const override |
| Determine if given node is an attached child. More...
|
|
virtual bool | HasChildId (unsigned int _id) const override |
| Determine if node with given ID is an attached child. More...
|
|
virtual bool | HasChildName (const std::string &_name) const override |
| Determine if node with given name is an attached child. More...
|
|
virtual bool | HasUserData (const std::string &_key) const override |
| Check if node has custom data. More...
|
|
virtual math::Pose3d | InitialLocalPose () const override |
| Get the initial local pose. More...
|
|
virtual math::Pose3d | LocalPose () const override |
| Get the local pose. More...
|
|
virtual math::Vector3d | LocalPosition () const override |
| Get the local position. More...
|
|
virtual math::Quaterniond | LocalRotation () const override |
| Get the local rotation. More...
|
|
virtual math::Vector3d | Origin () const override |
| Get position of origin. More...
|
|
virtual NodePtr | RemoveChild (NodePtr _child) override |
| Remove (detach) the given node from this node. If the given node is not a child of this node, no work will be done. More...
|
|
virtual NodePtr | RemoveChildById (unsigned int _id) override |
| Remove (detach) the node with the given ID from this node. If the specified node is not a child of this node, no work will be done. More...
|
|
virtual NodePtr | RemoveChildByIndex (unsigned int _index) override |
| Remove (detach) the node at the given index from this node. If the specified node is not a child of this node, no work will be done. More...
|
|
virtual NodePtr | RemoveChildByName (const std::string &_name) override |
| Remove (detach) the node with the given name from this node. If the specified node is not a child of this node, no work will be done. More...
|
|
virtual void | RemoveChildren () override |
| Remove all child nodes from this node This detaches all the child nodes but does not destroy them. More...
|
|
virtual void | RemoveParent () override |
| Detach this Node from its parent. If this Node does not have a parent, no work will be done. More...
|
|
virtual void | Scale (const math::Vector3d &_scale) override |
| Scale the current scale by the given scalars. More...
|
|
virtual void | Scale (double _scale) override |
| Scale the current scale by the given scalar. The given scalar will be assigned to the x, y, and z coordinates. More...
|
|
virtual void | Scale (double _x, double _y, double _z) override |
| Scale the current scale by the given scalars. More...
|
|
virtual void | SetLocalPose (const math::Pose3d &_pose) override |
| Set the local pose. More...
|
|
virtual void | SetLocalPosition (const math::Vector3d &_position) override |
| Set the local position. More...
|
|
virtual void | SetLocalPosition (double _x, double _y, double _z) override |
| Set the local position. More...
|
|
virtual void | SetLocalRotation (const math::Quaterniond &_rotation) override |
| Set the local rotation. More...
|
|
virtual void | SetLocalRotation (double _r, double _p, double _y) override |
| Set the local rotation. More...
|
|
virtual void | SetLocalRotation (double _w, double _x, double _y, double _z) override |
| Set the local rotation. More...
|
|
virtual void | SetLocalScale (const math::Vector3d &_scale) override |
| Set the local scale. More...
|
|
virtual void | SetLocalScale (double _scale) override |
| Set the local scale. The given scale will be assigned to the x, y, and z coordinates. More...
|
|
virtual void | SetLocalScale (double _x, double _y, double _z) override |
| Set the local scale. More...
|
|
virtual void | SetOrigin (const math::Vector3d &_origin) override |
| Set position of origin. The position should be relative to the original origin of the geometry. More...
|
|
virtual void | SetOrigin (double _x, double _y, double _z) override |
| Set position of origin. The position should be relative to the original origin of the geometry. More...
|
|
virtual void | SetUserData (const std::string &_key, Variant _value) override |
| Store any custom data associated with this node. More...
|
|
virtual void | SetWorldPose (const math::Pose3d &_pose) override |
| Set the world pose. More...
|
|
virtual void | SetWorldPosition (const math::Vector3d &_position) override |
| Set the world position. More...
|
|
virtual void | SetWorldPosition (double _x, double _y, double _z) override |
| Set the world position. More...
|
|
virtual void | SetWorldRotation (const math::Quaterniond &_rotation) override |
| Set the world rotation. More...
|
|
virtual void | SetWorldRotation (double _r, double _p, double _y) override |
| Set the world rotation. More...
|
|
virtual void | SetWorldRotation (double _w, double _x, double _y, double _z) override |
| Set the world rotation. More...
|
|
virtual void | SetWorldScale (const math::Vector3d &_scale) override |
| Set the world scale. More...
|
|
virtual void | SetWorldScale (double _scale) override |
| Set the world scale. The given scale will be assigned to the x, y, and z coordinates. More...
|
|
virtual void | SetWorldScale (double _x, double _y, double _z) override |
| Set the world scale. More...
|
|
virtual Variant | UserData (const std::string &_key) const override |
| Get custom data stored in this node. More...
|
|
virtual math::Pose3d | WorldPose () const override |
| Get the world pose. More...
|
|
virtual math::Vector3d | WorldPosition () const override |
| Get the world position. More...
|
|
virtual math::Quaterniond | WorldRotation () const override |
| Get the world rotation. More...
|
|
virtual math::Vector3d | WorldScale () const override |
| Get the world scale. More...
|
|
virtual math::Pose3d | WorldToLocal (const math::Pose3d &_pose) const override |
| Convert given world pose to local pose. More...
|
|
virtual | ~Ogre2Object () |
| Destructor. More...
|
|
virtual ScenePtr | Scene () const override |
|
virtual | ~BaseObject () |
|
virtual unsigned int | Id () const override |
|
virtual std::string | Name () const override |
|