Estimate: 1-2d for partial support, 5-8 days for full support (TextGeometry) with the side-benefit that full support would also mean other parts of OSC would then be able to render 3D text.
The SimTK::DecorativeGeometryImplementation implementation that OSC uses, which is directly coupled to OSC's lower-level systems (notably, GPU allocation/caching) does not implement all geometry types yet. This means that if an OpenSim model / SimTK system contains one of those unknown geometries then it will not be visible in OSC.
Steps necessary:
DONE: install a one-time log warning message whenever the frontend (e.g. an OpenSim model) tries to emit a not-supported geometry to the backend
Find some OpenSim models that contain these not-yet-supported geometries, if possible, and install them into the examples/ dir so that we have in-prod testing of the geometry available (so it's easier to end-users to investigate)
Write custom OpenSim models that contain geometry that isn't exercised by existing OpenSim model files (e.g. a model containing toruses)
Implement each missing geometry:
PointGeometry
CircleGeometry
EllipsoidGeometry
TextGeometry (harder)
MeshGeometry (not MeshFile, which is already implemented)
ArrowGeometry
TorusGeometry
ConeGeometry
Ensure there is a model building route for adding these geometries (e.g. adding dropdows/buttons for attaching them to OpenSim::Bodys in the model)
Estimate: 1-2d for partial support, 5-8 days for full support (
TextGeometry
) with the side-benefit that full support would also mean other parts of OSC would then be able to render 3D text.The
SimTK::DecorativeGeometryImplementation
implementation that OSC uses, which is directly coupled to OSC's lower-level systems (notably, GPU allocation/caching) does not implement all geometry types yet. This means that if an OpenSim model / SimTK system contains one of those unknown geometries then it will not be visible in OSC.Steps necessary:
DONE: install a one-time log warning message whenever the frontend (e.g. an OpenSim model) tries to emit a not-supported geometry to the backend
Find some OpenSim models that contain these not-yet-supported geometries, if possible, and install them into the
examples/
dir so that we have in-prod testing of the geometry available (so it's easier to end-users to investigate)Write custom OpenSim models that contain geometry that isn't exercised by existing OpenSim model files (e.g. a model containing toruses)
Implement each missing geometry:
Ensure there is a model building route for adding these geometries (e.g. adding dropdows/buttons for attaching them to
OpenSim::Body
s in the model)