Fusee
Fusee copied to clipboard
Generalize Extension Module System
The point cloud rendering capability is implemented as an extension in a way that keeps F.Engine... from referencing the point cloud related code. Still, some knowledge about point cloud related interfaces is hard-coded into F.Engine.
TODO: Allow modules such as PointCloud to be added/injected into Fusee without the need to add interfaces or classes to F.Engine. See ModuleExtensionPoint.
- [ ] Define a generic set of Engine Extension Points (C# interfaces) to be implemented by extension modules
- [ ] For traversal extension: Unify State among existing visitors (Renderer, Picker, ). Probably try to hide Render Context from Visitor methods - Calls on the RenderContext are invoked by state changes.