0

setting exposure on a rvdisplaycolor

I don't see exposure on the list of attributes for an rvdisplaycolor node but I'd like to set the exposure for every source.  What would be the best way to do that?  Find all rvcolor nodes and set their exposures?  Is there some other way of setting a global exposure level?  Thanks!

 

Jake

4 comments

  • 0
    Avatar
    (Michael) Kessler

    Hi Jake!

    As you've found, exposure is by default a property of the source-level node called RVColor.  In our color pipeline, exposure is defined as a per-source attribute, but that doesn't prevent you from making your own exposure adjustment at a different location.

    Brightness is the display-level control that exists by default, and if that works for you, I do recommend you use it, however, if you are genuinely looking for stop-level control; you can insert an RVColor into your RVDisplayPipelineGroup which works at the display level.  Code to do that would look like this:

     

    commands.insertStringProperty( "#RVDisplayPipelineGroup.pipeline.nodes", ["RVColor"], 0)




    for dpg in commands.nodesOfType("RVDisplayPipelineGroup"):

    colorNodes = extra_commands.nodesInGroupOfType(dpg, "RVColor")

    if colorNodes:

    commands.setFloatProperty("%s.color.exposure" % colorNodes[0], [.0, 1.0, 1.0])

     

    The downside to this is now the graph traversal for color nodes will now match the display RVColor before the individual source RVColor nodes.  So all the source-level color adjustments will affect the display-level RVColor node.

    don't recommend doing that as it'll really get confusing fast.

     

    Instead, I do suggest doing an iteration through all your sources (either visible or from your view) to set the RVColor exposure value.  This doesn't introduce the extra confusion of an additional RVColor node, and can allow you to do individual adjustments on each, or adjust overall with your script.

  • 0
    Avatar
    Jake Richards

    Michael:

      Thank you for the code, I think I'll go the route of finding all the color nodes!  I do have a somewhat unrelated question.  I am creating a QSlider to control the exposures, but it seems the style set by RV doesn't have tick marks on QSliders.  Do you know what style parameters I can use to get the tick marks back in a QSlider?  Thanks again!

    Jake

  • 0
    Avatar
    (Michael) Kessler

    Hi Jake,

    Qt4 Sliders and QSS don't play nicely with ticks.  You can find a few examples on various Qt forums, but it sounds like the 'solution' is to override the paint event, which is a bit cumbersome.  Here's an example of what I'm finding:

    https://forum.qt.io/topic/33792/qslider-qss-ticks/4

     

    If you want to check out our QSS, you can run the following:

    from PySide import QtGui
    print QtGui.QApplication.instance().styleSheet()
  • 0
    Avatar
    Jake Richards

    Thanks!  Yeah, after a bit of googling I found that out too.  I just re-implemented the paint event as suggested as well.  Thank you again.

     

    jake

Please sign in to leave a comment.