Overlays mirrored when using Presentation mode in RV

Hello,

We are using overlays in RV to show data on screen of the Versions we are reviewing, but in our conference rooms when using rvsdi, in Presentation Mode, the overlays are displayed mirrored.
Do you know how to make it appeared in the correct way please?

Thank you

3 Likes

Hi Caro,

Thanks for writing in, what version of RV are you using, and are you using the RVOverlay node or a different form of overlay?

Hi Michael,

Thanks for your answer :slight_smile:
We are using both RV 6 and 7 (6.2.8 and 7.2.6), and after a little investigation in our code, no sign of RVOverlay node but rather the use of the gl and glu module in a MU plugin

2 Likes

Hi Caro,

How is your code going about doing the projection setup in your GL code?

in the HUD.mu code, you can see it sets up the render() method with:

setupProjection(w, h, event.domainVerticalFlip());

Are you seeing the mirroring over the vertical axis or the horizontal axis?
Projection devices might have different coordinate spaces, so flipping based on the currently rendered device allows you to have a uniform space.

4 Likes

Hello Michael,

I’ll try the HUD.mu projection function to see how it goes between a regular computer and the projector.
I will let you know once I’ve tried (tho I’m going on holidays soon so I might be back not so soon)
Thanks again for your help!

2 Likes

Hello Michael,

I made a test with the overlay_hud.rvpkg plugin and the RVOverlay node works like a charm :slight_smile: We will update our code to use it.
Thanks for your help and sorry for the late answer

1 Like

So how do I control OpenGL for the presentation mode? RVOverlay is visible but all OpenGL drawings are only happening on the main display…

Nobody any hint how to draw opengl in presentaion mode at all?

I was searching here because its easier than grepping for the code and I needed to do it myself, and I do this just often enough that I forget how to do it :smiley:.
You need to set the following member variable after the mode’s init.
self._drawOnPresentation = True

Alternatively, if you want to be able to make the determination live, you can override the mode’s
def drawOnPresentation(self):

Cheers,
-Kessler

1 Like

Hi Michael,

thanks for the reply. However, it makes no difference if I set self.drawOnPresentation to True or False, my RVOverlays are always showing. Also, can you explain how the live version would work, like what I need to set in or how to call the def drawOnPresentation(self)?

Thank you,

M

Just to verify, the variable has a _ before it, so its actually self._drawOnPresentation

Also, make sure it is set after the call to self.init since that sets that value.

Also, this only affects the openGL drawing, not the RVOverlay.

Ah, I see. So for RVOverlay there is no way to control presentation mode? Because I cannot change the RVOverlay when I am IN presntation mode (seeting active=0 does not work).

Interesting, that sounds like a bug then. Does it disappear from the control window but not the presentation window?

When I was on the Autodesk side, the easiest way to get that sort of thing prioritized was to build the simplest reproduction. Can you make a quick reproduction for them?

Here’s a quick template to help you.