|
In lugnet.cad.dev, Travis Cobbs wrote:
> I don't actually do any transformations in LDView to get the logos
> right. I just detect the mirroring (by tracking negative
> determinants and flipping the mirrored bit every time I see one) and
> modify my texture coordinates to un-mirror (horizontally) if the
> stud has been mirrored. You can take a look at the genTextureCoords
> method in TGLStudLogo.cpp if your interested, but I don't think it
> will really help you.
Actually that does help a bit. It looks like you aren't concerned
with whether the logo faces the same direction as on the actual part,
you're just ensuring that it's readable. That makes me feel better
about my solution.
By the way, why do you bother to track all the mirroring steps? Can't
you just look at the final matrix?
Don
|
|
|
In lugnet.cad.dev, Don Heyse wrote:
> Actually that does help a bit. It looks like you aren't concerned
> with whether the logo faces the same direction as on the actual part,
> you're just ensuring that it's readable. That makes me feel better
> about my solution.
Correct. There's no way to know if they actually face the right direction, so I
just figured that horizontal mirroring was more likely to be correct than
vertical (although I could be wrong).
> By the way, why do you bother to track all the mirroring steps? Can't
> you just look at the final matrix?
You can, but my code that decides which texture coordinates to use doesn't have
access to the final matrix. Also, I flatten the geometry of all parts in
LDView, and the flattening process can result in a mirror transformation being
aplied to the stud geometry. (By flatten, I mean that I apply the
transformations for sub-parts, and copy the geometry into the parent part.) I
have to track when this happens.
--Travis
|
|
|