Skip to content

Commit dd8568a

Browse files
authored
Merge branch 'main' into lidar_near_clip
2 parents 7fb493b + 742bd27 commit dd8568a

File tree

220 files changed

+14511
-1035
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

220 files changed

+14511
-1035
lines changed

.github/ci/packages.apt

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ freeglut3-dev
22
libfreeimage-dev
33
libglew-dev
44
libignition-cmake2-dev
5-
libignition-common3-dev
5+
libignition-common4-dev
66
libignition-math6-dev
77
libignition-plugin-dev
88
libogre-1.9-dev

CMakeLists.txt

+7-5
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,19 @@ cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
33
#============================================================================
44
# Initialize the project
55
#============================================================================
6-
project(ignition-rendering4 VERSION 4.8.0)
6+
project(ignition-rendering6 VERSION 6.0.0)
77

88
#============================================================================
99
# Find ignition-cmake
1010
#============================================================================
1111
# If you get an error at this line, you need to install ignition-cmake
12-
find_package(ignition-cmake2 2.8.0 REQUIRED)
12+
find_package(ignition-cmake2 2.3 REQUIRED)
13+
set(IGN_CMAKE_VER ${ignition-cmake2_VERSION_MAJOR})
1314

1415
#============================================================================
1516
# Set up the project
1617
#============================================================================
17-
ign_configure_project(VERSION_SUFFIX)
18+
ign_configure_project(VERSION_SUFFIX pre1)
1819

1920
#============================================================================
2021
# Set project-specific options
@@ -33,8 +34,9 @@ set(IGN_MATH_VER ${ignition-math6_VERSION_MAJOR})
3334

3435
#--------------------------------------
3536
# Find ignition-common
36-
ign_find_package(ignition-common3 REQUIRED COMPONENTS graphics events)
37-
set(IGN_COMMON_VER ${ignition-common3_VERSION_MAJOR})
37+
ign_find_package(ignition-common4 REQUIRED
38+
COMPONENTS graphics events)
39+
set(IGN_COMMON_VER ${ignition-common4_VERSION_MAJOR})
3840

3941
#--------------------------------------
4042
# Find ignition-plugin

Changelog.md

+137
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,142 @@
11
## Ignition Rendering
22

3+
### Ignition Rendering 6.X
4+
5+
### Ignition Rendering 6.0.0 (20XX-XX-XX)
6+
7+
### Ignition Rendering 5.X
8+
9+
### Ignition Rendering 5.X.X (20XX-XX-XX)
10+
11+
### Ignition Rendering 5.1.0 (2021-06-22)
12+
13+
1. add ifdef for apple in integration test
14+
* [Pull request #349](https://github.com/ignitionrobotics/ign-rendering/pull/349)
15+
16+
1. Update light map tutorial
17+
* [Pull request #346](https://github.com/ignitionrobotics/ign-rendering/pull/346)
18+
19+
1. relax gaussian test tolerance
20+
* [Pull request #344](https://github.com/ignitionrobotics/ign-rendering/pull/344)
21+
22+
1. Fix custom shaders uniforms ign version number
23+
* [Pull request #343](https://github.com/ignitionrobotics/ign-rendering/pull/343)
24+
25+
1. recreate node only when needed
26+
* [Pull request #342](https://github.com/ignitionrobotics/ign-rendering/pull/342)
27+
28+
1. Backport memory fixes found by ASAN
29+
* [Pull request #340](https://github.com/ignitionrobotics/ign-rendering/pull/340)
30+
31+
1. Fix FSAA in UI and lower VRAM consumption
32+
* [Pull request #313](https://github.com/ignitionrobotics/ign-rendering/pull/313)
33+
34+
1. Fix depth alpha
35+
* [Pull request #316](https://github.com/ignitionrobotics/ign-rendering/pull/316)
36+
37+
1. Fix floating point precision bug handling alpha channel (#332)
38+
* [Pull request #333](https://github.com/ignitionrobotics/ign-rendering/pull/333)
39+
40+
1. Fix heap overflow when reading
41+
* [Pull request #337](https://github.com/ignitionrobotics/ign-rendering/pull/337)
42+
43+
1. Fix new [] / delete mismatch
44+
* [Pull request #338](https://github.com/ignitionrobotics/ign-rendering/pull/338)
45+
46+
1. Test re-enabling depth camera integration test on mac
47+
* [Pull request #335](https://github.com/ignitionrobotics/ign-rendering/pull/335)
48+
49+
1. Include MoveTo Helper class to ign-rendering
50+
* [Pull request #311](https://github.com/ignitionrobotics/ign-rendering/pull/311)
51+
52+
1. Remove `tools/code_check` and update codecov
53+
* [Pull request #321](https://github.com/ignitionrobotics/ign-rendering/pull/321)
54+
55+
1. [OGRE 1.x] Uniform buffer shader support
56+
* [Pull request #294](https://github.com/ignitionrobotics/ign-rendering/pull/294)
57+
58+
1. Helper function to get a scene
59+
* [Pull request #320](https://github.com/ignitionrobotics/ign-rendering/pull/320)
60+
61+
1. fix capsule mouse picking
62+
* [Pull request #319](https://github.com/ignitionrobotics/ign-rendering/pull/319)
63+
64+
1. Fix depth alpha
65+
* [Pull request #316](https://github.com/ignitionrobotics/ign-rendering/pull/316)
66+
67+
1. Add shadows to Ogre2DepthCamera without crashing
68+
* [Pull request #303](https://github.com/ignitionrobotics/ign-rendering/pull/303)
69+
70+
1. Reduce lidar data discretization
71+
* [Pull request #296](https://github.com/ignitionrobotics/ign-rendering/pull/296)
72+
73+
1. update light visual size
74+
* [Pull request #306](https://github.com/ignitionrobotics/ign-rendering/pull/306)
75+
76+
1. Improve build times by reducing included headers
77+
* [Pull request #299](https://github.com/ignitionrobotics/ign-rendering/pull/299)
78+
79+
1. Add light map tutorial
80+
* [Pull request #302](https://github.com/ignitionrobotics/ign-rendering/pull/302)
81+
82+
1. Prevent console warnings when multiple texture coordinates are present
83+
* [Pull request #301](https://github.com/ignitionrobotics/ign-rendering/pull/301)
84+
85+
1. Fix gazebo scene viewer build
86+
* [Pull request #289](https://github.com/ignitionrobotics/ign-rendering/pull/289)
87+
88+
1. Silence noisy sky error
89+
* [Pull request #282](https://github.com/ignitionrobotics/ign-rendering/pull/282)
90+
91+
1. Added command line argument to pick version of Ogre
92+
* [Pull request #277](https://github.com/ignitionrobotics/ign-rendering/pull/277)
93+
94+
### Ignition Rendering 5.0.0 (2021-03-30)
95+
96+
1. Add ogre2 skybox support
97+
* [Pull request #168](https://github.com/ignitionrobotics/ign-rendering/pull/168)
98+
99+
1. Add light visual support
100+
* [Pull request #202](https://github.com/ignitionrobotics/ign-rendering/pull/202)
101+
* [Pull request #228](https://github.com/ignitionrobotics/ign-rendering/pull/228)
102+
103+
1. Add API for particle emitter scatter ratio
104+
* [Pull request #275](https://github.com/ignitionrobotics/ign-rendering/pull/275)
105+
106+
1. Added capsule geometry
107+
* [Pull request #200](https://github.com/ignitionrobotics/ign-rendering/pull/200)
108+
* [Pull request #278](https://github.com/ignitionrobotics/ign-rendering/pull/278)
109+
110+
1. Added ellipsoid Geometry
111+
* [Pull request #203](https://github.com/ignitionrobotics/ign-rendering/pull/203)
112+
113+
1. ogre2: explicitly request OpenGL 3.3 core profile context.
114+
* [Pull request #244](https://github.com/ignitionrobotics/ign-rendering/pull/244)
115+
116+
1. Bump in edifice: ign-common4
117+
* [Pull request #209](https://github.com/ignitionrobotics/ign-rendering/pull/209)
118+
119+
1. Support setting horizontal and vertical resolution for GpuRays
120+
* [Pull request #229](https://github.com/ignitionrobotics/ign-rendering/pull/229)
121+
122+
1. Added Light Intensity
123+
* [Pull request #233](https://github.com/ignitionrobotics/ign-rendering/pull/233)
124+
* [Pull request #284](https://github.com/ignitionrobotics/ign-rendering/pull/284)
125+
126+
1. Heightmap for Ogre 1
127+
* [Pull request #180](https://github.com/ignitionrobotics/ign-rendering/pull/180)
128+
129+
1. Added render order to material
130+
* [Pull request #188](https://github.com/ignitionrobotics/ign-rendering/pull/188)
131+
132+
1. Add support for lightmaps in ogre2
133+
* [Pull request #182](https://github.com/ignitionrobotics/ign-rendering/pull/182)
134+
135+
1. Documentation updates
136+
* [Pull request #288](https://github.com/ignitionrobotics/ign-rendering/pull/288)
137+
* [Pull request #287](https://github.com/ignitionrobotics/ign-rendering/pull/287)
138+
* [Pull request #286](https://github.com/ignitionrobotics/ign-rendering/pull/286)
139+
3140
### Ignition Rendering 4.X
4141

5142
### Ignition Rendering 4.8.0 (2021-06-18)

Migration.md

+26
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,32 @@ Deprecated code produces compile-time warnings. These warning serve as
55
notification to users that their code should be upgraded. The next major
66
release will remove the deprecated code.
77

8+
## Ignition Rendering 5.x to 6.x
9+
10+
### Modifications
11+
12+
1. **Scene.hh**
13+
+ Added `Scene::PostRender`. The function `Camera::Render` must be executed
14+
between calls to `Scene::PreRender` and `Scene::PostRender`. Failure to do
15+
so will result in asserts triggering informing users to correct their code.
16+
Alternatively calling `Scene::SetCameraPassCountPerGpuFlush( 0 )` avoids
17+
this strict requirement.
18+
Users handling only one Camera can call `Camera::Update` or `Camera::Capture`
19+
and thus do not need to worry.
20+
However for more than one camera (of any type) the optimum way to handle them is to update them in the following pattern:
21+
```
22+
scene->PreRender();
23+
for( auto& camera in cameras )
24+
camera->Render();
25+
for( auto& camera in cameras )
26+
camera->PostRender();
27+
scene->PostRender();
28+
```
29+
This pattern maximizes the chances of improving performance.
30+
*Note*: Calling instead `Camera::Update` for each camera is a waste of CPU resources.
31+
+ It is invalid to modify the scene between `Scene::PreRender` and `Scene::PostRender` (e.g. add/remove objects, lights, etc)
32+
+ Added `Scene::SetCameraPassCountPerGpuFlush`. Setting this value to 0 forces legacy behavior which eases porting.
33+
+ Systems that rely on Graphics components like particle FXs and postprocessing are explicitly affected by Scene's Pre/PostRender. Once `Scene::PostRender` is called, the particle FXs' simulation is moved forward, as well as time values sent to postprocessing shaders. In previous ign-rendering versions each `Camera::Render` call would move the particle simulation forward, which could cause subtle bugs or inconsistencies when Cameras were rendering the same frame from different angles. Setting SetCameraPassCountPerGpuFlush to 0 will also cause these subtle bugs to reappear.
834
935
## Ignition Rendering 4.0 to 4.1
1036

README.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99

1010
Build | Status
1111
-- | --
12-
Test coverage | [![codecov](https://codecov.io/gh/ignitionrobotics/ign-rendering/branch/ign-rendering4/graph/badge.svg)](https://codecov.io/gh/ignitionrobotics/ign-rendering/branch/default)
13-
Ubuntu Bionic | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_rendering-ci-ign-rendering4-bionic-amd64)](https://build.osrfoundation.org/job/ignition_rendering-ci-ign-rendering4-bionic-amd64)
14-
Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_rendering-ci-ign-rendering4-homebrew-amd64)](https://build.osrfoundation.org/job/ignition_rendering-ci-ign-rendering4-homebrew-amd64)
15-
Windows | [![Build Status](https://build.osrfoundation.org/job/ign_rendering-ign-4-win/badge/icon)](https://build.osrfoundation.org/job/ign_rendering-ign-4-win/)
12+
Test coverage | [![codecov](https://codecov.io/gh/ignitionrobotics/ign-rendering/branch/main/graph/badge.svg)](https://codecov.io/gh/ignitionrobotics/ign-rendering/branch/default)
13+
Ubuntu Bionic | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_rendering-ci-main-bionic-amd64)](https://build.osrfoundation.org/job/ignition_rendering-ci-main-bionic-amd64)
14+
Homebrew | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ignition_rendering-ci-main-homebrew-amd64)](https://build.osrfoundation.org/job/ignition_rendering-ci-main-homebrew-amd64)
15+
Windows | [![Build Status](https://build.osrfoundation.org/job/ign_rendering-ci-win/badge/icon)](https://build.osrfoundation.org/job/ign_rendering-ci-win/)
1616

1717
Ignition Rendering is a C++ library designed to provide an abstraction
1818
for different rendering engines. It offers unified APIs for creating
@@ -47,12 +47,12 @@ of libraries designed to rapidly develop robot applications.
4747

4848
# Install
4949

50-
See the [installation tutorial](https://ignitionrobotics.org/api/rendering/4.0/installation.html).
50+
See the [installation tutorial](https://ignitionrobotics.org/api/rendering/5.0/installation.html).
5151

5252
# Usage
5353

5454
The Ign Rendering API can be found in the documentation. See the
55-
[installation tutorial](https://ignitionrobotics.org/api/rendering/4.0/installation.html)
55+
[installation tutorial](https://ignitionrobotics.org/api/rendering/5.0/installation.html)
5656
on how to build the documentation files using Doxygen.
5757

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

bitbucket-pipelines.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ pipelines:
2020
libignition-cmake2-dev
2121
libignition-math6-dev
2222
libignition-plugin-dev
23-
# libignition-common3-dev
23+
# libignition-common4-dev
2424
# Ignition common (uncomment if a specific branch is needed)
2525
- apt-get -y install
2626
libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev
2727
libfreeimage-dev libgts-dev libswscale-dev libtinyxml2-dev
28-
- git clone http://github.com/ignitionrobotics/ign-common -b ign-common3
28+
- git clone http://github.com/ignitionrobotics/ign-common -b main
2929
- cd ign-common
3030
- mkdir build
3131
- cd build

examples/actor_animation/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
22
project(ignition-rendering-actor-animation)
3-
find_package(ignition-rendering4 REQUIRED)
3+
find_package(ignition-rendering6 REQUIRED)
44

55
include_directories(SYSTEM
66
${PROJECT_BINARY_DIR}

examples/camera_tracking/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
22
project(ignition-rendering-camera-tracking)
3-
find_package(ignition-rendering4 REQUIRED)
3+
find_package(ignition-rendering6 REQUIRED)
44

55
find_package(GLUT REQUIRED)
66
include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})

examples/custom_scene_viewer/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
22
project(ignition-rendering-custom-scene-viewer)
3-
find_package(ignition-rendering4 REQUIRED)
3+
find_package(ignition-rendering6 REQUIRED)
44

55
include_directories(SYSTEM
66
${PROJECT_BINARY_DIR}

examples/custom_shaders/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ include_directories(SYSTEM
55
${PROJECT_BINARY_DIR}
66
)
77

8-
find_package(ignition-rendering4 REQUIRED)
8+
find_package(ignition-rendering6 REQUIRED)
99

1010
find_package(GLUT REQUIRED)
1111
include_directories(SYSTEM ${GLUT_INCLUDE_DIRS})

examples/custom_shaders_uniforms/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ include_directories(SYSTEM
55
${PROJECT_BINARY_DIR}
66
)
77

8-
find_package(ignition-rendering4)
8+
find_package(ignition-rendering6)
99

1010
set(TARGET_THIRD_PARTY_DEPENDS "")
1111

examples/gazebo_scene_viewer/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
22
project(ignition-rendering-gazebo-scene-viewer)
3-
find_package(ignition-rendering4 REQUIRED)
3+
find_package(ignition-rendering6 REQUIRED)
44
find_package(gazebo REQUIRED)
55

66
include_directories(SYSTEM ${GAZEBO_INCLUDE_DIRS})

examples/gazebo_scene_viewer/CameraWindow.cc

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
* limitations under the License.
1515
*
1616
*/
17-
#include "CameraWindow.hh"
1817

1918
#if __APPLE__
2019
#include <OpenGL/gl.h>
@@ -28,6 +27,7 @@
2827

2928
#if !defined(__APPLE__) && !defined(_WIN32)
3029
#include <GL/glx.h>
30+
#undef Status
3131
#endif
3232

3333
#include <gazebo/common/Console.hh>
@@ -37,6 +37,7 @@
3737
#include <ignition/rendering/Image.hh>
3838
#include <ignition/rendering/Scene.hh>
3939

40+
#include "CameraWindow.hh"
4041
#include "SceneManager.hh"
4142

4243
#define KEY_ESC 27
@@ -166,7 +167,7 @@ void GlutKeyboard(unsigned char _key, int, int)
166167
{
167168
// stop transport
168169
gazebo::transport::stop();
169-
gazebo::transport::fini();
170+
gazebo::transport::fini();
170171
exit(0);
171172
}
172173
else if (_key == KEY_TAB)

examples/gazebo_scene_viewer/SceneManager.cc

+20-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include <ignition/math/Helpers.hh>
2323

2424
#include <ignition/rendering/Camera.hh>
25+
#include <ignition/rendering/Capsule.hh>
2526
#include <ignition/rendering/Scene.hh>
2627
#include <ignition/rendering/Visual.hh>
2728

@@ -1505,6 +1506,20 @@ void SubSceneManager::ProcessCone(
15051506
_parent->AddGeometry(cone);
15061507
}
15071508

1509+
//////////////////////////////////////////////////
1510+
void SubSceneManager::ProcessCapsule(
1511+
const gazebo::msgs::Geometry & _geometryMsg, VisualPtr _parent)
1512+
{
1513+
// \todo(anyone) needs gazebo capsule msg
1514+
CapsulePtr capsule = this->activeScene->CreateCapsule();
1515+
// Const gazebo::msgs::CapsuleGeom &capsuleMsg = _geometryMsg.capsule();
1516+
// Double x = 2 * capsuleMsg.radius();
1517+
// Double y = 2 * capsuleMsg.radius();
1518+
// Double z = capsuleMsg.length();
1519+
// _parent->SetLocalScale(x, y, z);
1520+
_parent->AddGeometry(std::dynamic_pointer_cast<Geometry>(capsule));
1521+
}
1522+
15081523
//////////////////////////////////////////////////
15091524
//! [process cylinder]
15101525
void SubSceneManager::ProcessCylinder(
@@ -1820,10 +1835,14 @@ void SubSceneManager::CreateGeometryFunctionMap()
18201835
this->geomFunctions[gazebo::msgs::Geometry::BOX] =
18211836
&SubSceneManager::ProcessBox;
18221837

1823-
// TODO(anyone): enable when cone protobuf msg created
1838+
// todo(anyone): enable when cone protobuf msg is created
18241839
// this->geomFunctions[gazebo::msgs::Geometry::CONE] =
18251840
// &SubSceneManager::ProcessCone;
18261841

1842+
// todo(anyone): enable when capsule protobuf msg is created
1843+
// this->geomFunctions[gazebo::msgs::Geometry::CAPSULE] =
1844+
// &SubSceneManager::ProcessSphere;
1845+
18271846
this->geomFunctions[gazebo::msgs::Geometry::CYLINDER] =
18281847
&SubSceneManager::ProcessCylinder;
18291848

0 commit comments

Comments
 (0)