-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Houdini: OpenGL Review support LOPs/Solaris source mode #4890
Houdini: OpenGL Review support LOPs/Solaris source mode #4890
Conversation
…views - However, note the todo. That's a massive implementation issue likely?
@moonyuet You will at least need to set it to |
|
…as source in OP Creator
… parm type is lopnet
…s://github.com/BigRoy/OpenPype into enhancement/houdini_opengl_review_support_lops
@BigRoy I have updated the code for validating LOP networks and both add LOP networks and cameras into the opengl if the use selection enabled. |
Can't we match what Houdini does with a "Source" enum attribute that is either "LOPs" or "SOPs"? Just so it's also familiar to those working with the OpenGL rop node? |
@@ -56,30 +57,48 @@ def create(self, subset_name, instance_data, pre_create_data): | |||
"aspect": pre_create_data.get("aspect"), | |||
}) | |||
|
|||
lop_enabled = pre_create_data.get("lopEnabled") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't we just stick close to what Houdini uses internally and define a opSource
or source
type of data which defines either "SOPs" or "LOPs". That would also leave the path open to potential other sources that might ever appear in the future in Houdini? Plus it's also clearer that when LOPs is not chosen that it uses SOPs.
lop_node = hou.node(node_name) | ||
if lop_node.type().name() != "lopnet": | ||
return [node_name] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like an invalid requirement. The LOP Network parameter can be set to any LOP node inside the LOP network and is not necessarily the LOP network itself. Right?
def get_invalid_resolution(self, instance): | ||
node = hou.node(instance.data.get("instance_node")) | ||
|
||
# The resolution setting is only used when Override Camera Resolution | ||
# is enabled. So we skip validation if it is disabled. | ||
override = rop_node.parm("tres").eval() | ||
override = node.parm("tres").eval() | ||
if not override: | ||
return | ||
|
||
invalid = [] | ||
res_width = rop_node.parm("res1").eval() | ||
res_height = rop_node.parm("res2").eval() | ||
res_width = node.parm("res1").eval() | ||
res_height = node.parm("res2").eval() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure why this was changed, but the old logic made more sense where it took the rop_node
directly. Especially because the instance ROP node already seems to be retrieved in process
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe thid is the issue coming from merging develop to the branch. i agree that rop_node
is more concise than node
I gave it a shot.
Imagine lop camera was the first node in selection, a user will complaint about selecting the obj camera but a lop camera was set!
I can try again later. Here you are what I have achieved (with a lot of overthinking) |
I agree with you that we can append different families for the validation of different networks. |
Because we're splitting OpenPype into ayon-core and individual host addons, this PR would have to be re-created to target one of those. We're closing it down, but we'll he happy for a new PR to ynput/ayon-houdini repository once it's up. |
Changelog Description
Allow reviews using the openGL node to use LOP Paths.
Additional info
Based on comment here that OpenGL review node publishing didn't support Solaris reviews yet using LOP paths.
TODO:
Testing notes:
Make sure to publish with reviews enabled so it also tests the focal length burnin.