rendering#

Gazebo Rendering: Rendering library for robot applications

Maintainer: ichen [AT] openrobotics [DOT] org

GitHub open issues GitHub open pull requests Discourse topics Hex.pm

Build

Status

Test coverage

codecov

Ubuntu Noble

Build Status

Homebrew

Build Status

Windows

Build Status

Gazebo Rendering is a C++ library designed to provide an abstraction for different rendering engines. It offers unified APIs for creating 3D graphics applications.

Gazebo Rendering is a component in the Gazebo framework, a set of libraries designed to rapidly develop robot applications.

Table of Contents

Features

Install

Usage

Folder Structure

Contributing

Code of Conduct

Versioning

License

Features

  • Support for rendering engines including OGRE and OptiX (experimental)

  • Plugin-based architecture. Multiple rendering engine plugins can be loaded at run time.

  • Object-oriented scene management.

Install

See the installation tutorial.

Usage

The Gazebo Rendering API can be found in the documentation. See the installation tutorial on how to build the documentation files using Doxygen.

You can also take a look at the sample applications in the examples folder.

Folder Structure

  • include/gz/rendering: Contains all the public header files which will be installed

  • src: Contains all the C++ source code which are not installed.

  • test: All integration, performance and regression tests go here, under their specific folders.

  • examples: Sample programs to demonstrate different features of gz-rendering

  • doc: Files used by Doxygen when generating documentation.

Rendering engine plugin implementation code is stored in their own folders

  • ogre : OGRE 1.x rendering engine plugin

  • ogre2 : OGRE-Next 2.x rendering engine plugin

  • optix : OptiX rendering engine plugin

Contributing

Please see the contribution guide.

Code of Conduct

Please see CODE_OF_CONDUCT.md.

Versioning

This library uses Semantic Versioning. Additionally, this library is part of the Gazebo project which periodically releases a versioned set of compatible and complimentary libraries. See the Gazebo website for version and release information.

License

This library is licensed under Apache 2.0. See also the LICENSE file.

Gazebo Rendering

Gazebo Rendering 9.X

Gazebo Rendering 9.0.0 (2024-09-25)

  1. Baseline: this includes all changes from 8.2.0 and earlier.

  2. Update code for loading normal and albedo maps from image data

  3. examples/depth_camera: Fixed windows usage

  4. examples/heightmap: Fixed Windows build

  5. Add Github Action for Windows and fix build

  6. Miscellaneous documentation fixes

  7. Update badges to point to gz-rendering9 branch

  8. Ionic Changelog

  9. Remove gl preference in cmake

  10. Fix segmentation camera color id calculation

  11. Expose shadow texture size for directional lighting in SDF

  12. Workaround for ogre crash on shutdown on noble

  13. Fix overloaded virtual warnings on noble

  14. Enable 24.04 CI, require cmake 3.22.1

  15. Hide optix related cmake warnings

  16. Update troubleshooting link

  17. Fixed integer underflow in OgreDistortionPass

  18. Add gamma correction to simple_demo_qml example

  19. Change return type of ogre 2 ray query related functions from Ogre::Item to Ogre::MovableObject

  20. Add projection matrix functions to ogre2 camera classes

  21. Remove deprecated functions and enums

  22. Optimization: remove extra copy of data buffer in Ogre2GpuRays and Ogre2DepthCamera

  23. Fix crash when wide angle camera FOV is > 180

  24. Fix debug builds of gz-rendering-ogre2 plugin

  25. Fix lidar 1st pass texture resolution calculation for FOV < 90 degrees

  26. Use single cubemap camera in lidar

  27. Adding cone primitives.

  28. Parse correctly OGRE2_RESOURCE_PATH on Windows

  29. Find python directly instead of using GzPython

  30. Fix simple_demo on Windows

  31. Fix unused variable warnings

  32. Fix compilation on simple_demo_qml on Windows

  33. Work around conda-forge’s CDT version of GL

  34. Remove HIDE_SYMBOLS_BY_DEFAULT: replace by a default configuration in gz-cmake.

  35. Use HIDE_SYMBOLS_BY_DEFAULT

  36. Bumps in Ionic: gz-rendering9

  37. Add LookAt function to GizmoVisual class

  38. Add projection matrix set/get functions to Ogre Depth camera

Gazebo Rendering 8.X

Gazebo Rendering 8.2.0

  1. Backport: Adding cone primitives.

  2. Fixes deleter passed to the std::shared_ptr

  3. ogre2: Set custom projection matrix for other types of cameras

  4. Fix gz-cmake declaration on package.xml (Fix windows builds)

  5. Add package.xml

  6. Workaround on warnings for Ubuntu Noble

  7. Ogre2RenderEngine: on Windows if useCurrentGLContext is specified, set the externalWindowsHandle ogre-next option

Gazebo Rendering 8.1.1 (2024-04-10)

  1. Use relative install paths for plugin shared libraries and media files

  2. Handle null mesh pointers in examples

Gazebo Rendering 8.1.0 (2024-03-14)

  1. Fix setting normal map when not all submeshes have texcoords (ogre2)

  2. Update ogre2 symbol visibility macro in private classes

  3. Improve Ogre2DepthCamera performance

  4. Fix repeatedly loading engine when calling sceneFromFirstEngine

  5. Improve Ogre2GpuRays performance

  6. Correctly set position-independent code

  7. Remove todo in gpu ray test

  8. Update CI badges to point to release branch job

  9. Set projector emissive texture

  10. Add minor comments to BaseGizmoVisual

  11. Update examples to use metal as default graphics API on mac

  12. Extend ogre 1.x custom shaders support

  13. Support skybox in wide angle cam view

  14. Minor fix for projector visibility flags

  15. Fix use of srgb format for texture map data

  16. Infrastructure

  17. Fix float comparison warnings in test

Gazebo Rendering 8.0.0 (2023-09-29)

  1. Remove gazebo scene viewer example

  2. Fix projector FOV, orientation, and crashes

  3. Include the CGL header on macOS

  4. ogre2: use CMAKE_INSTALL_RPATH

  5. Fixed build on MSVC.

  6. Documentation fixes

  7. Fix wide angle camera visibility flags

  8. Fix arrow visual indexing

  9. Do not load optix engine in examples

  10. Infrastructure

  11. Clean up internal resources on Destroy

  12. ign -> gz

  13. Remove inheritance from Singleton class.

  14. Add private data class to Image

  15. Override PreRender function in Ogre2ParticleEnitter

  16. Fix calling GpuRays::Destroy more than once

  17. Use std::vector instead of std::map in BaseStorage

  18. Limit Global Illumination CI CVT method to vulkan backend

  19. Global illumination VCT & CI VCT

  20. Add LensFlare to ogre1

  21. Cleanup config.hh.in and deprecate public HAVE_ macros

  22. Add GZ_RENDERING_HAVE_VULKAN to guard vulkan code in header

  23. Look for vulkan in CMakeLists

  24. Add LensFlarePass (ogre2 engine)

  25. Add Support for wide-angle cameras in ogre2

  26. Fix wrong Z check in OgreWideAngleCamera::Project3d

  27. Add necessary headers for Vulkan QML GUI backend

  28. Revert “Expose camera intrinsic matrix API (#700)”

  29. Expose camera intrinsic matrix API

  30. ⬆️ Bump main to 8.0.0~pre1

Gazebo Rendering 7.X

Gazebo Rendering 7.4.2 (2023-09-26)

  1. ogre2: use CMAKE_INSTALL_RPATH

  2. Disable setting color range in particle emitter

  3. Documentation updates

  4. Revert mesh viewer background color back to gray

Gazebo Rendering 7.4.1 (2023-08-17)

  1. Infrastructure

  2. Restore missing Ogre2Heightmap::DestroyImpl implementation

  3. Destroy sensor node on exit

  4. Parse OGRE2_RESOURCE_PATH as a list of strings

  5. Fix a leak in ogre2 ray query

  6. Fixed light visual in OGRE

  7. Removed unused parameter warning

  8. Replace ignerr with gzerr

  9. Minor cleanup of ogre/ogre2: fix namespace, unused variable, missing header

  10. Fix missing header in CameraLens

  11. Fix missing cstdint header in latest gcc build

  12. OgreNext: Fix shaders compilation on d3d12 mesa driver (WSLg)

  13. Fix visibility decorator of Ogre2Projector

Gazebo Rendering 7.4.0 (2023-05-18)

  1. Add optional binary relocatability

  2. Add Projector

  3. Add support for bayer images to Ogre and Ogre2

  4. Fix requiring OpenGL on macOS

Gazebo Rendering 7.3.1 (2023-04-13)

  1. Lower severity level for ogre2 visibility mask msgs and unavailable render passes

  2. Fix deleting ogre2 when created (and deleted) in a thread

  3. CI workflow: use checkout v3

  4. Rename COPYING to LICENSE

  5. Add message to see troubleshooting page when render engine fails to create dummy window

  6. Tweak max camera position limit

Gazebo Rendering 7.3.0 (2023-03-03)

  1. Limit max camera position vector length

  2. Cleanup GpuRays properly

  3. Ensure composite BaseVisuals are destroyed correctly.

  4. Remove fini to resolve segfaault at shutdown

  5. Fix transparency over heightmap

  6. Fix duplicate PreRender calls

  7. Mesh cleanup on destruction

  8. Fix gpu lidar memory leak [ogre2]

  9. Fix selecting semi-transparent visuals

  10. Fix Ogre2DepthCamera on macOS (Fortress)

  11. Add Heightmap integration test

  12. More ign to gz changes

  13. Restore GLX context after OGRE plugin loading finishes.

  14. Add message to see troubleshooting page when render engine fails to initialize

  15. Do not overwrite reserved visibility flags in ogre2

  16. Fix Metal shader compiler error in GpuRays (Lidar)

  17. Fix memory corruption in Ogre2GpuRays

  18. Enable ray heightmap ray query

  19. Rename ign to gz in LuxCore demo

  20. Fix RenderTarget::destroy not getting called in both ogre1 & ogre2

  21. Wrong error log message

  22. Implement consistent Auto Aspect Ratio

  23. Fix bounding box for glbs

  24. Disable flaky VisualAt test on mac

  25. Use proper sRGB conversion in DepthCamera

  26. Enable Heightmap Test for ogre2 & fix crash when using GpuRays camera

  27. Fix non-deterministic rendering due to background texture loading

  28. ign -> gz Migrate Ignition Headers : gz-rendering

  29. Fix lidar heightmap detection

  30. bump to 3.6.1 and update changelog

  31. Improved coverage: MeshDescriptor, Mesh, MoveToHelper, OrbitViewController, PixelFormat and ShadersParams

  32. Suppress Windows warnings

Gazebo Rendering 7.2.0 (2022-11-14)

  1. Enable gpu ray query on macOS.

  2. Calculate camera intrinsics : Refactor gazebosim/gz-rendering#700

Gazebo Rendering 7.1.0 (2022-10-31)

  1. Initialize wide angle camera pixel format

  2. Fix use of singletons

  3. All changes merged forward from ign-rendering6

Gazebo Rendering 7.0.0 (2022-09-22)

  1. Fix build in case no suitable OGRE is found

  2. Fix destroying wide angle camera

  3. Remove unused point cloud color uniform variable

  4. Camera ShaderSelection: avoid seg-fault

  5. Fix setting emissive map

  6. Tutorial updates

  7. ign -> gz

  8. Provide a Virtual Method Anchor for Classes in Headers

  9. Add regression test for multiple engine reloads

  10. Fix INTEGRATION_camera/shader_selection on macOS

  11. Hotfix typo in ogre2 include statement

  12. Destroy GpuRay camera on exit

  13. Support for textures as binary blobs

  14. Port gz-rendering to Ogre 2.3

  15. Add coverage ignore file

  16. Ensure one texture per selection buffer per camera.

  17. Update GoogleTest to latest version

  18. Use pose multiplication instead of subtraction

  19. Suppress a new Jammy warnings

  20. Dependency bumps in garden : ign-rendering7

  21. hello_world_plugin: fix find version variables

  22. Replace deprecated common::SubMesh::MaterialIndex() with GetMaterialIndex()

  23. Separate cache files for each heightmap LOD (ogre 1.x)

  24. Default cameraPassCountPerGpuFlush to 6

  25. Don’t crash if directly set low level materials are used in sensors

  26. Remove Bionic from future releases (Garden+)

  27. Require geospatial component

  28. Respect vertex shader from low level materials in sensor passes (#544)

  29. Expose GraphicsAPI

  30. Fixed segfault caused by OgreRTShaderSystem

  31. Change to use SuppressWarning from ign-utils

  32. [Metal] add metal shaders to waves example

  33. [Metal] update custom_shaders_uniforms example

  34. Implement Hlms custom pieces swap for Objects & Terrain

  35. [Metal] Fix per-point colors in point clouds to match #494

  36. [Metal] Fix sky background in RGBD camera to match #515

  37. Update migration guide

  38. Rename Ogre2IgnHlmsCustomizations to Ogre2IgnHlmsSphericalClipMinDistance

  39. Fix color of last / extra marker points

  40. Per-point colors in point clouds

  41. [ogre1.x] Add support for wide angle camera

  42. Fix Ogre2 assertions during ray queries

  43. Use ignition-utils1

  44. Fix windows warnings

  45. Enable ray query for depth, segmentation and thermal cameras

  46. Add a method to render targets and cameras to retrieve a Metal texture

  47. add 64 bit int support to user data

Gazebo Rendering 6.X

Gazebo Rendering 6.6.2 (2023-10-03)

  1. Backport camera intrinsics calculation : Refactor

  2. Revert mesh viewer background color back to gray

Gazebo Rendering 6.6.1 (2023-09-01)

  1. Fixed light visual in OGRE

  2. Lower severity level for ogre2 visibility mask msgs and unavailable render passes

  3. Infrastructure

  4. Rename COPYING to LICENSE

  5. Add message to see troubleshooting page when render engine fails to create dummy window

  6. Tweak max camera position limit

  7. Limit max camera position vector length

Gazebo Rendering 6.6.0 (2023-02-02)

  1. Backport Composite BaseVisual destroy fix to 6

  2. Forward port 3 to 6.

  3. Remove fini to resolve segfault at shutdown

  4. Fix transparency over heightmap

  5. Fix duplicate PreRrender calls

  6. ign -> gz Migrate Ignition Headers : gz-rendering

  7. Improved coverage: MeshDescriptor, Mesh, MoveToHelper, OrbitViewController, PixelFormat and ShadersParams

  8. Suppress Windows warnings

Gazebo Rendering 6.5.2 (2023-01-19)

  1. Mesh clean up in destructor

  2. Fix Ogre2DepthCamera on macOS (Fortress)

  3. Restore GLX context after OGRE plugin loading finishes.

  4. Add message to see troubleshooting page when render engine fails to initialize

  5. Do not overwrite reserved visibility flags in ogre2 (Fortress)

  6. Fix Metal shader compiler error in GpuRays (Lidar)

  7. Fix memory corruption in Ogre2GpuRays

  8. Fix RenderTarget::destroy not getting called in both ogre1 & ogre2

  9. Fix wrong error log message when creating scene

  10. Use proper sRGB conversion in DepthCamera

  11. Fix non-deterministic rendering due to background texture loading

  12. Fix lidar heightmap detection

  13. Improved RenderEngine and Mesh coverage

  14. Increased Marker coverage

  15. Added shaderType converage

  16. Improved grid coverage

  17. Improved coverage Arrow and Axis visuals and fixed some warnings

  18. Remove redundant namespace references

  19. Change IGN_DESIGNATION to GZ_DESIGNATION

  20. Add coverage ignore file

Gazebo Rendering 6.5.1 (2022-07-28)

  1. Backport multiple ray queries fix (#665)

  2. Fixed CMakeLists.txt in examples

  3. Update Marker test

  4. Increase TransformControl test converage

  5. Enable ogre2 heightmap test

  6. Add tests for ShaderType, GraphicsAPI, and DistortionPass

  7. Fixed waves example CMakeLists.txt

  8. Ignition -> Gazebo

  9. Disable thermal camera tests on MacOS

  10. Fix Ogre2RenderTarget::TargetFSAA method that caused black screen when used with llvmpipe

  11. Protect against non-finite inputs on Node and OrbitViewController

  12. Fix checking unofficial ogre version when ogre 1.x is not installed

Gazebo Rendering 6.5.0 (2022-06-15)

  1. Bounding Box Camera

  2. Make GLX dependencies optional for Ogre2.

  3. Add missing utility include for std::exchange

  4. Change aspect to AspectRatio()

  5. Camera::HFOV override for Ogre and Ogre2

Gazebo Rendering 6.4.0 (2022-05-12)

  1. Add support for GpuRays (lidar) visibility mask

  2. Use gz-utils test macros

  3. Cleanup depth camera resources on destroy

  4. Fixed Readme.md typo

  5. Destroy root node and clean up sensor resources on exit

  6. Add repo specific issue templates

Gazebo Rendering 6.3.1 (2022-04-13)

  1. Revert OGRE-Next custom support and back to use GzOGRE2 module

Gazebo Rendering 6.3.0 (2022-04-06)

  1. Flip heightmap’s Y position on Ogre 2 and add sanity checks for NaN

  2. Use custom simulation time variants for Ogre

  3. Add Ubuntu Jammy CI

  4. Fix shaders for other sensors that require material switching (ogre2)

  5. fix render pass demo

  6. Fix objects using shaders when there is a lidar in the scene (ogre2)

  7. Do not set shader constants for textures on non-OpenGL graphics API

  8. Use pose multiplication instead of addition

  9. Fix sky background compositor setup

  10. Backport OgreRTShaderSystem segfault fix

  11. Remove unnecessary error message when headless rendering is enabled

Gazebo Rendering 6.2.1 (2022-02-24)

  1. Restore format conversion in Ogre2RenderTarget::Copy

  2. Increase particle emitter quota

  3. Make sure shader param exists before setting its value

  4. Backport wave changes

Gazebo Rendering 6.2.0 (2022-01-28)

  1. Fix missing terrain shadows casted on objects

  2. Add waves

  3. Fix crash when hovering the cursor in heightmap.sdf

  4. Fix material switching for objects using shaders (ogre2)

  5. [Metal] Fix depth camera

  6. Bind shader uniforms to constants from ogre

  7. Silence CMake policy CMP0072

  8. Fix various issues with Ogre2GpuRays

  9. Fix Ogre2ThermalCamera using garbage depth data

  10. Performance optimization by avoiding unnecessary passes

  11. Support using custom shader materials and updating uniform variables (ogre2)

  12. Port Camera Distortion effect from gazebo11

  13. Fix sky background in RGBD camera

  14. RenderOrder is in different scale in Reverse Z

Gazebo Rendering 6.1.0 (2021-12-09)

  1. Check for OpenGL backend before calling GL APIs

  2. Fix loading grayscale emissive map

  3. Fixes to selection buffer

  4. Add Metal support for the Ogre2 Render Engine

  5. Add a depth camera example

  6. More nullptr checking on visuals and base axis

  7. Fix Utils unit test

  8. Fix context attributes of glXCreateContextAttribsARB.

  9. [Ogre2] fix invalid anti-aliasing level warning

  10. Avoid symbol redefinition to fix armel builds

  11. fix grayscale albedo map

  12. Fix selection buffer material script

  13. [macOS] modify definition of bufferFetch1 to work when GL_ARB_texture_buffer_range is not available

  14. Fix compilation against Ogre 1.10.12

  15. Fix logic on warning for ogre versions different than 1.9.x

  16. Fix point cloud material syntax error

  17. Run ogre2 particles by default

  18. Ogre: Do not assume that ogre plugins have lib prefix on macOS

  19. Fix heightmap crash if only shadow casting spotlights are one scene

  20. Added macOS instructions

  21. Ogre: Add missing required Paging component

  22. Fix ray query distance calculation

Gazebo Rendering 6.0.1 (2021-10-01)

  1. Disable using selection buffer for ray queries

Gazebo Rendering 6.0.0 (2021-09-30)

  1. Avoid configure warning when checking ogre-1.10

  2. Use selection buffer in ray queries (ogre2)

  3. Fix particle effect randomness

  4. Update test config to run ogre 1.x tests in gz-rendering6 on macOS

  5. Clone visuals and geometries

  6. Add SetSize API for LidarVisual and markers

  7. Add Ogre2Heightmap functionality

  8. Prevent default-constructed variants from holding a type

  9. Temporarily set number of camera pass count per flush to 0 in ogre2 to prevent downstream build failures

  10. New visuals

    1. Joint visual

    2. Center of mass visual

    3. Inertia visual

  11. UserData methods moved from Visual to Node

  12. Replace renderOneFrame for per-workspace update calls

  13. Segmentation Camera

  14. Stub bounding box camera APIs

  15. Changed calculation for range clipping

  16. Destroy material when a mesh is deleted

  17. Add orthographic view controller

  18. Visualize wireframes

  19. Add environment map tutorial

  20. From Ogre 2.1 to Ogre 2.2

  21. Documentation updates

  22. Infrastructure

Gazebo Rendering 5.2.1 (2022-03-35)

  1. Silence CMake policy CMP0072

Gazebo Rendering 5.2.0 (2021-11-02)

  1. Fix context attributes of glXCreateContextAttribsARB.

  2. Fix logic on warning for ogre versions different than 1.9.x

  3. Avoid symbol redefition to fix armel builds

  4. Fix selection buffer material script

  5. Fix compilation against Ogre 1.10.12

  6. ogre: Do not assume that ogre plugins have lib prefix on macOS

  7. ogre: Add missing required Paging component

  8. Fix ray query distance calculation

  9. Fix the spelling of USE_UNOFFICIAL_OGRE_VERSIONS flag

  10. Avoid configure warning when checking ogre-1.10

  11. Use selection buffer in ray queries (ogre2)

  12. Fix particle effect randomness

  13. Update simple_demo_qml coding style

  14. Disabling flaky depth and thermal camera tests on mac

  15. [macOS] add a QML version of simple_demo

  16. Fix single ray gpu lidar

  17. Warn about non-existent submesh

  18. Improved doxygen

  19. Set OGRE minimal version to 1.8. Warn on versions not supported (gz-rendering3)

  20. 👩‍🌾 Remove bitbucket-pipelines.yml

  21. [macOS] support OpenGL < 4.2 in PBS shader

  22. Moved ScreenToPlane and ScreenToScene from gz-gui to gz-rendering

  23. More nullptr checking on Node classes

Gazebo Rendering 5.1.0 (2021-06-22)

  1. add ifdef for apple in integration test

  2. Update light map tutorial

  3. relax gaussian test tolerance

  4. Fix custom shaders uniforms gz version number

  5. recreate node only when needed

  6. Backport memory fixes found by ASAN

  7. Fix FSAA in UI and lower VRAM consumption

  8. Fix depth alpha

  9. Fix floating point precision bug handling alpha channel (#332)

  10. Fix heap overflow when reading

  11. Fix new [] / delete mismatch

  12. Test re-enabling depth camera integration test on mac

  13. Include MoveTo Helper class to gz-rendering

  14. Remove tools/code_check and update codecov

  15. [OGRE 1.x] Uniform buffer shader support

  16. Helper function to get a scene

  17. fix capsule mouse picking

  18. Fix depth alpha

  19. Add shadows to Ogre2DepthCamera without crashing

  20. Reduce lidar data discretization

  21. update light visual size

  22. Improve build times by reducing included headers

  23. Add light map tutorial

  24. Prevent console warnings when multiple texture coordinates are present

  25. Fix gazebo scene viewer build

  26. Silence noisy sky error

  27. Added command line argument to pick version of Ogre

Gazebo Rendering 5.0.0 (2021-03-30)

  1. Add ogre2 skybox support

  2. Add light visual support

  3. Add API for particle emitter scatter ratio

  4. Added capsule geometry

  5. Added ellipsoid Geometry

  6. ogre2: explicitly request OpenGL 3.3 core profile context.

  7. Bump in edifice: gz-common4

  8. Support setting horizontal and vertical resolution for GpuRays

  9. Added Light Intensity

  10. Heightmap for Ogre 1

  11. Added render order to material

  12. Add support for lightmaps in ogre2

  13. Documentation updates

Gazebo Rendering 4.X

Gazebo Rendering 4.9.0 (2021-09-15)

  1. Output warning message if a mesh with zero submeshes is created

  2. Fix particle effect randomness

  3. Fix single ray gpu lidar

  4. Use selection buffer in ray queries (ogre2)

  5. All changes merged forward from gz-rendering3

Gazebo Rendering 4.8.0 (2021-06-18)

  1. relax gaussian test tolerance

  2. recreate node only when needed

  3. Backport memory fixes found by ASAN

  4. Re-enable part of depth camera test on macOS

  5. Fix depth alpha

  6. Fix floating point precision bug handling alpha channel (#332)

  7. Include MoveTo Helper class to gz-rendering

  8. Remove tools/code_check and update codecov

  9. [OGRE 1.x] Uniform buffer shader support

  10. Helper function to get a scene

  11. Reduce lidar data discretization

  12. Prevent console warnings when multiple texture coordinates are present

  13. Added command line argument to pick version of Ogre

Gazebo Rendering 4.7.0 (2021-03-17)

  1. Enable depth write in particles example

  2. Fix gazebo_scene_viewer for macOS and ensure clean exit

  3. Master branch updates

  4. Expose particle scatter ratio parameter

  5. Fix overriding blend mode

  6. Fix DepthGaussianNoise test

  7. Handle non-positive object temperatures

Gazebo Rendering 4.6.0 (2021-03-01)

  1. Improve particle scattering noise

  2. Fix custom_scene_viewer for macOS

Gazebo Rendering 4.5.0 (2021-02-17)

  1. More verbose messages when failing to load render engines

  2. Fixed OBJ textures with the same name

  3. Fix setting particle size

  4. Make particle emitter invisible in thermal camera image

  5. Apply particle scattering effect to depth cameras

Gazebo Rendering 4.4.0 (2021-02-11)

  1. Add support for 8 bit thermal camera image format

  2. All changes up to version 3.4.0

Gazebo Rendering 4.3.1 (2021-02-03)

  1. Fix converting Pbs to Unlit material conversion (#230)

Gazebo Rendering 4.3.0 (2021-02-02)

  1. Tutorial: Transform FBX to Collada and change its origin

  2. Remove Windows Warnings

  3. Fix spelling Desconstructor -> Destructor

  4. Thermal Camera: Visualize objects with a heat signature

  5. Add laser retro support in Ogre2

Gazebo Rendering 4.2.0 (2021-01-22)

  1. Remove some windows warnings.

  2. Fix transparency issue for textures without alpha channel.

  3. Call XCloseDisplay in screenScalingFactor.

  4. All changes up to version 3.3.0.

Gazebo Rendering 4.1.0 (2020-11-04)

  1. Improve fork experience

  2. Add Custom Render Engine support

  3. Update tutorials

  4. Limit number of shadow casting lights in ogre2

  5. Ogre2 depth camera fix

  6. Add support for Gaussian noise render pass in Ogre2DepthCamera

Gazebo Rendering 4.0.0 (2020-09-29)

  1. Update tutorials

  2. Pimpl’ize ogre2 classes

  3. Replace common::Time with std::chrono

  4. Add Ogre2 particle system

  5. Add LidarVisual point colors for Ogre1

  6. Added Lidar Visual for Ogre2

  7. Added Lidar Visual Types for Ogre1

  8. Added Lidar Visualisation for Ogre1

  9. Add environment variables to locate plugins

  10. Added a method to show the head on arrows and axis

  11. Complete Shaft and Head methods in BaseArrowVisual

  12. Scale BaseAxis properly

  13. Add ogre2 AxisVisual and ArrowVisual

  14. Support setting skeleton node weights

  15. Add support for setting visibility mask and flags

  16. Increase precision of Ogre2 mesh vertices from half to full precision float

  17. Update transparency based on diffuse alpha channel for ogre2

  18. Skeleton animation updates

  19. Add support for transparency based on textures alpha channel for ogre1 and ogre2

Gazebo Rendering 3.7.2 (2024-01-05)

  1. Update github action workflows

  2. Add minor comments to BaseGizmoVisual

Gazebo Rendering 3.7.1 (2023-02-03)

  1. Remove fini to resolve segfault at shutdown.

Gazebo Rendering 3.6.0 (2021-10-15)

  1. Avoid symbol redefition to fix armel builds

  2. Fix floating point precision bug handling alpha channel

  3. Ogre: Do not assume that ogre plugins have lib prefix on macOS

  4. Moved ScreenToPlane and ScreenToScene from gz-gui to gz-rendering

  5. Relax Gaussian noise test tolerance to fix flaky test

  6. Fix ogre2 render pass high GPU usage

  7. Backport memory fixes found by ASAN

  8. CMake warning on Ogre versions that are not officially supported. To disable the new warning, it is enough to enable the cmake option USE_UNOFFICIAL_OGRE_VERSIONS

Gazebo Rendering 3.5.0 (2021-05-25)

  1. Include MoveTo Helper class to gz-rendering

  2. Remove tools/code_check and update codecov

  3. Helper function to get a scene (#320)

  4. Fix DepthGaussianNoise test (#271)

  5. Master branch updates (#268)

  6. 👩🌾 Make GitHub actions tests that are flaky due to display more verbose information (#255)

  7. Fixed OBJ textures with the same name (#239)

  8. More verbose messages when failing to load render engine (#236)

Gazebo Rendering 3.4.0 (2021-02-09)

  1. Clear all Windows warnings

  2. Add laser_retro support

Gazebo Rendering 3.3.0 (2021-01-22)

  1. Add Windows installation.

  2. Make flaky VisualAt test more verbose.

  3. Resolve updated codecheck issues.

  4. Fix crash due to NaN pose values.

  5. Improve fork experience.

Gazebo Rendering 3.2.0 (2020-10-13)

  1. Add Custom Render Engine support

  2. Add getter for Ogre2Camera

  3. Update test configuration to use ogre2

  4. Ogre2 GPU Ray: Cleanup all resources on destruction

  5. Ogre2: Add Grid

  6. Includes all changes up to and including those in version 2.5.1

Gazebo Rendering 3.1.0 (2020-03-05)

  1. Use default material properties from gz-common PBR material when loading a mesh

  2. Fix build for ogre version >= 1.12.0

  3. Add Ogre2 DynamicRenderable class

  4. Skeletons for Ogre2

  5. Fixed gazebo scene viewer example

  6. Ogre2: Fix shadows by dynamically generating shadow maps

  7. Ogre2: Destroy resources before recreating shadows

  8. Fix custom shaders example

  9. Add API to check which engines are loaded

Gazebo Rendering 3.0.0 (2019-12-10)

  1. Support setting cast shadows

  2. Add Thermal Camera

  3. Add support for emissive map

  4. Add Marker class and port ogre dynamic lines and renderable

  5. Support storing user data in Visual

  6. Add 16 bit format

  7. Destroy camera when the scene is destroyed

  8. Added function to get the number of channels from a GpuRay.

  9. Ogre 1.x skeletal animation changes

Gazebo Rendering 2.5.1 (2020-10-05)

  1. Limit number of shadow casting lights in ogre2

  2. Backport ogre2 depth camera fix

Gazebo Rendering 2.5.0 (2020-08-07)

  1. Add support for Gaussian noise render pass in Ogre2DepthCamera

Gazebo Rendering 2.4.0 (2020-04-17)

  1. Fix flaky VisualAt test

  2. Port windows fixes

  3. Backport ogre2 mesh vertices precision change.

  4. Backport transparency setting based on diffuse alpha

Gazebo Rendering 2.3.0 (2020-02-19)

  1. Add API to check which engines are loaded

  2. Fix custom shaders example

  3. Ogre2: Fix shadows by dynamically generating shadow maps

Gazebo Rendering 2.2.0 (2019-11-20)

  1. Backport setting cast shadows

  2. Ogre2: Add more shadow maps

Gazebo Rendering 2.1.2 (2019-09-10)

  1. Enable gamma write on color texture in depth camera

Gazebo Rendering 2.1.1 (2019-09-06)

  1. Add checks on mouse selection

Gazebo Rendering 2.1.0 (2019-08-27)

  1. Support generating point cloud data in DepthCamera

  2. Fix GizmoVisual material memory leak

  3. Fix PixelFormat FLOAT32 byte and channel count

Gazebo Rendering 2.0.1 (2019-07-16)

  1. Clean up camera objects when destroying scene

Gazebo Rendering 2.0.0 (2019-05-20)

  1. More ogre2 error messages for debugging mesh loading.

  2. Support for ogre 1.11 on windows

  3. Fix ogre mouse picking after window resize

  4. Ogre2: Support mouse picking for objects with overlay material

  5. Add GizmoVisual class

  6. Add Transform Controller for translating, rotating, and scaling nodes.

  7. Add depth check and depth write properties to Material

  8. Move scale functions from Visual to Node class.

  9. Add support for Render Passes and implement Gaussian Noise pass

Gazebo Rendering 1.X

  1. Ogre2: Fix loading mesh with large index count

  2. Move OgreDepthCameraPrivate class to src file so it is not installed.

Gazebo Rendering 1.0.0 (2019-02-28)