Home - martijnkoopman/SpatiumGL GitHub Wiki
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