Closed rdeits closed 4 years ago
@jamiesnape assigning you, as requested
All versions of drake-visualizer
do show this issue if the mesh's alpha is less than 1.0. I recall that being a fundamental VTK issue, but I'm not sure what the problem is. The only difference is that the version shipped with Drake also shows this issue at alpha=1.0
Generally, I'd imagine this is related to how transparency is handled (i.e., doing a front-to back ordering) and is addressed with the "transparency peeling" switch in VTK.
I'll propose that we don't try to repair director (or rebuild VTK), but rather just work around this in Drake -- e.g. don't set alpha to anything other than 0 or 1 when transmitting load_robot on meshes. Or scream in the console. Or something. => dynamics
Acknowledged.
I'll probably modify the code where we dispatch model definitions to drake_visualizer. That should be the correct pinch point in the hour glass. That way, whether screwy values come in via parsing or user-settings, they'll get processed immediately before hitting drake visualizer.
Admittedly, there's nothing we can do about referenced objs that, in turn, reference material files that provide non-binary transparency. But, hey, you can't have it all.
@jamiesnape This behavior seems to no longer be present. Does drake_visualizer
depend on drake's specific VTK dependency and could this have been alleviated by subsequent updates to the VTK binaries?
Yes and possibly.
Good to know. I'm not 100% confident of the sample test I did. I'll try another that more closely reflects the issue's problem description to convince myself of whether this issue can/should be closed or not.
As of #12664, the Valkyrie models are no longer on master. Might be time to just close out this issue.
I'm going to close this. It can be re-opened if we have a more concrete repetition of the error.
Rendering a mesh in the
drake-visualizer
shipped with Drake causes that mesh to be displayed incorrectly, almost as if the normals are all inside-out. The exact same mesh renders properly in thedrake-visualizer
compiled with Director master and with the binarydrake-visualizer
provided by Pat at https://bintray.com/patmarion/director/ .Here's a mesh rendered in
drake-visualizer
, as built by Director master:And here's the same mesh rendered in the
drake-visualizer
shipped with Drake:The easiest way to test this without starting a simulation is to manually send a
load_robot
message to the visualizer. The following Python snippet does so (but will need to be adjusted to run on anyone else's machine):