aurora-opensource / xviz

A protocol for real-time transfer and visualization of autonomy data
http://xviz.io
Apache License 2.0
1.02k stars 229 forks source link

Extrusion is always in Z Direction #709

Open jruebsam opened 2 years ago

jruebsam commented 2 years ago

I am visualizing bounding boxes for an object list using the polygon primitives. When testing the visualization of single objects I realized that the setting extrusion=True will always only work towards the Z direction. In this example picture I pitched the object about -1.

image|width=400px

The behavior which would be desired would be to extrude the bounding box perpendicular to the defined polygon, is this somehow possible ? Implementation wise this could be done using the cross product of the polygon points, but im not sure where this needs to be implemented.

Also whats interesting here is that the lower side of the bounding box is not drawn. Thank you for any feedback.

jruebsam commented 2 years ago

I also tried defining every side of the bounding box using a single polygon primitives (so 6 in total ) without the extrusion. Its Interesting that in this case the sides of the bounding are not drawn at all. This only happens when the polygons are parallel to the Z-Direction and sounds like a bug to me.

twojtasz commented 2 years ago

We have used the "define every face" before and it worked. I'll have to try this in the playground and verify why it might be failing.

The Z direction issue for extrusion is a limitation, as these deck.gl library influenced early primitives and it has a geospatial bias (ie map like ground plane with Z up) and not using the normal of the polygon as the direction. It probably should use the normal, but we would need to update things to get that (ie custom deck.gl layer to use polygon normal not Z-axis).