README.md 1.72 KB
Newer Older
Tim Übelhör's avatar
Tim Übelhör committed
1
# scigl_render
Tim Übelhör's avatar
Tim Übelhör committed
2
3
Library to simplify rendering objects via OpenGL. The intendet use case is 
scientific (e.g. probabalistic filtering).
Tim Übelhör's avatar
Tim Übelhör committed
4
5

# dependencies
Tim Übelhör's avatar
Tim Übelhör committed
6
7
8
This package is built with cmake but comes with a package.xml for 
[colcon](https://colcon.readthedocs.io/en/latest/index.html) as it will be used
in ROS2.
9
10
11
The dependencies are handled via [conan.io](https://conan.io/).
Please add the following repositories:
```bash
Tim Übelhör's avatar
Tim Übelhör committed
12
conan remote add tuebel-gl3w https://api.bintray.com/conan/tuebel/gl3w
13
14
15
conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
conan remote add conan-transit https://api.bintray.com/conan/conan/conan-transit
```
Tim Übelhör's avatar
Tim Übelhör committed
16

17
Conan will download and install the following libraries:
Tim Übelhör's avatar
Tim Übelhör committed
18
19
20
21
22
- gl3w (https://github.com/skaslev/gl3w)
- glfw3 (http://www.glfw.org/)
- assimp (http://www.assimp.org/)
- glm (https://glm.g-truc.net/)

Tim Übelhör's avatar
Tim Übelhör committed
23
24
25
Of course a OpenGL driver is required (at least 4.2 since I am using 
glTexStorage2D but it could be replaced with the older glTexImage2D), see
https://www.khronos.org/opengl/wiki/Texture_Storage for more information).
Tim Übelhör's avatar
Tim Übelhör committed
26

Tim Übelhör's avatar
Tim Übelhör committed
27
28
I also built it with CMake. Since the package searches for the ament_cmake
package I suppose you need to have at least ament_cmake installed.
Tim Übelhör's avatar
Tim Übelhör committed
29
30
31
32
33
34
35

# Notice

If you want to learn more about the OpenGL implementation, please visit Joey de
Vries website https://learnopengl.com/ and his twitter page 
https://twitter.com/JoeyDeVriez. Thanks to his awesome resources I managed to
write this library in a bit more than a week.
Tim Übelhör's avatar
Tim Übelhör committed
36
37
38

# CI
A gitlab CI pipeline is implemented, which is based on [ros_gitlab_ci](https://gitlab.com/VictorLamoine/ros_gitlab_ci). The CI is based on the ros:melodic-ros-core docker image and will install the dependencies via rosdep. The gitlab-runner must use a docker executor.