Skip to content
Martijn Koopman edited this page Apr 3, 2020 · 4 revisions

Welcome to the SpatiumGL wiki!

Important classes

To render anything you need a RenderWindow. A concrete implementation is GlfwRenderWindow. This RenderWindow is supported on desktop systems (Windows, Linux, macOS).

A RenderWindow has a RenderWindowInteractor that defines how the user can interact with the window. For example, panning, zooming and rotating the view. Concrete implementations are PivotInteractor and PlaneInteractor.

A RenderWindow also has a Camera which might be an OrthographicCamera or PerspectiveCamera.

Any object that has a position in 3D space is a SceneObject. Any object that also has an extent and can be rendered is a RenderObject. A Renderer is responsible for rendering a RenderObject. There is a RenderObject and Renderer for each type of data. The RenderWindow has a collection of Renderers.

Dataset Reader Writer RenderObject Renderer
PointCloud LasReader LasWriter PointCloudObject PointCloudRenderer
Mesh ObjReader - MeshObject MeshRenderer

Example

TODO: Insert code

1. Create GlfwRenderWindow
2. Read OBJ-file as Mesh
3. Create MeshObject
4. Create MeshRenderer
5. Set RenderWindowInteractor
6. Show RenderWindow
Clone this wiki locally