GPUOpen-LibrariesAndSDKs / RadeonProRenderBlenderAddon

This hardware-agnostic rendering plug-in for Blender uses accurate ray-tracing technology to produce images and animations of your scenes, and provides real-time interactive rendering and continuous adjustment of effects.
https://gpuopen.com/radeon-prorender-suite/
Apache License 2.0
480 stars 56 forks source link

RPRBLND-2248: Add support of "Curves Info" node #588

Closed VascoPi closed 1 year ago

VascoPi commented 1 year ago

PURPOSE

User request https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRenderBlenderAddon/pull/587 Add support for "Curves Info" node. https://amdrender.atlassian.net/browse/RPRBLND-2240

EFFECT OF CHANGE

Added Curves Info node. Currently, only Intercept output is supported. Final render quality only. Added Curves Info node. Currently, only Random output is supported. Final render quality only.

Old behavior blender_ZdTHtynGvg

New behavior blender_OCuUi2LL06

Old behavior image

New behavior blender_fI8VUn9Kr4

TECHNICAL STEPS

Implemented class ShaderNodeHairInfo. Intercept output implemented via MATERIAL_NODE_LOOKUP_UV. We just use channel 2 values that change from root to tip and clamp it 0 to 1. Adjust dividing by 0.7. The value of 0.7 was manually selected in order to correspond to the result achieved by Cycles. Added NodeItem ShaderNodeHairInfo to the node category.

NOTES FOR REVIEWERS

Add more outputs using primvar, at the moment core 3.01.00 doesn't support it for rpr_curve. In this pull request, the Intercept and Random output is implemented. However, HybridPro generates UV useless for 'Intercept'. A ticket will be created. Random output is not supported by HybridPro.

bsavery commented 1 year ago

Looking for a review from @DagerD or @bnagirniak