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
488 stars 57 forks source link

RPRBLND-2202: Add support for bevel shader node (including RPRBLND-2201) #551

Closed VascoPi closed 2 years ago

VascoPi commented 2 years ago

PURPOSE

Add support for bevel shader node. Verify other nodes.

EFFECT OF CHANGE

Added Bevel Node for Final renderer. Improved Bump node for Final renderer. Added 'LOG', 'SHUFFLE_YZWX', 'SHUFFLE_ZWXY', 'SHUFFLE_WXYZ' operation for RPR Math for Interactive renderer. Added procedural_type 'Triplanar' for RPR Procedural UV for Interactive renderer. Added support for Checker Texture for Interactive renderer. Fixed Anisotropic BSDF for Interactive renderer.

TECHNICAL STEPS

Final Implemented ShaderNodeBevel class and method export. Currently, bevel and normal blends with this formula (bevel+normal).normalize(). Possible further improvements. Improved ShaderNodeBump with MATERIAL_INPUT_BASE_NORMAL.

Interactive Added support for procedural_type 'Triplanar' for RPRShaderProceduralUVNode, improved default width of the node. Added support for ShaderNodeTexChecker. Fixed ShaderNodeBsdfAnisotropic, setting additional inputs MATERIAL_INPUT_UBER_REFLECTION_WEIGHT, MATERIAL_INPUT_UBER_REFLECTION_METALNESS, MATERIAL_INPUT_UBER_REFLECTION_MODE. Added 'LOG', 'SHUFFLE_YZWX', 'SHUFFLE_ZWXY', 'SHUFFLE_WXYZ' operations for RPRValueNode_Math.

NOTES FOR REVIEWERS

Should work SDK 2.2.16 and higher. For proper work of ShaderNodeBsdfAnisotropic needs this ticket (Currently error -18 with core 2.2.16).