- Radeon ProRender SDK
- Downloading and Getting Started
- How to Use RPR SDK
- Data Types
- Data Structs
- Info and Setting Types
- rpr_aa_filter
- rpr_aov
- rpr_api_version
- rpr_bool
- rpr_buffer_element_type
- rpr_buffer_info
- rpr_camera_info
- rpr_camera_mode
- rpr_color_space
- rpr_component_type
- rpr_composite_info
- rpr_composite_type
- rpr_context_info
- rpr_context_sampler_type
- rpr_context_properties
- rpr_creation_flags
- rpr_curve_parameter
- rpr_environment_override
- rpr_framebuffer_info
- rpr_grid_indices_topology
- rpr_grid_parameter
- rpr_hetero_volume_filter
- rpr_hetero_volume_indices_topology
- rpr_hetero_volume_parameter
- rpr_image_filter_type
- rpr_image_info
- rpr_image_wrap_type
- rpr_instance_info
- rpr_light_info
- rpr_light_type
- rpr_lut_info
- rpr_material_node_arithmetic_operation
- rpr_material_node_info
- rpr_material_node_input
- rpr_material_node_input_info
- rpr_material_node_input_type
- rpr_material_node_lookup_value
- rpr_material_node_transform_op
- rpr_material_node_type
- rpr_material_node_uvtype_value
- rpr_material_system_info
- rpr_mesh_info
- rpr_object_info
- rpr_parameter_info
- rpr_parameter_type
- rpr_post_effect_info
- rpr_post_effect_type
- rpr_render_mode
- rpr_scene_info
- rpr_shape_info
- rpr_shape_type
- rpr_status
- rpr_subdiv_boundary_interfop_type
- rpr_tonemapping_operator
- rpr_ubermaterial_emission_mode
- rpr_ubermaterial_ior_mode
- rpr_volume_type
- Shaders
- rpr_material_node_add
- rpr_material_node_ao_map
- rpr_material_node_arithmetic
- rpr_material_node_blend
- rpr_material_node_blend_value
- rpr_material_node_buffer_sampler
- rpr_material_node_bump_map
- rpr_material_node_checker_texture
- rpr_material_node_constant_texture
- rpr_material_node_diffuse
- rpr_material_node_diffuse_refraction
- rpr_material_node_dot_texture
- rpr_material_node_emissive
- rpr_material_node_fresnel
- rpr_material_node_fresnel_schlick
- rpr_material_node_gradient_texture
- rpr_material_node_image_texture
- rpr_material_node_input_lookup
- rpr_material_node_microfacet
- rpr_material_node_microfacet_anisotropic_reflection
- rpr_material_node_microfacet_anisotropic_refraction
- rpr_material_node_microfacet_beckmann
- rpr_material_node_microfacet_refraction
- rpr_material_node_noise2d_texture
- rpr_material_node_normal_map
- rpr_material_node_orennayar
- rpr_material_node_passthrough
- rpr_material_node_phong
- rpr_material_node_reflection
- rpr_material_node_refraction
- rpr_material_node_transparent
- rpr_material_node_twosided
- rpr_material_node_uv_procedural
- rpr_material_node_uv_triplanar
- rpr_material_node_volume
- rpr_material_node_ward
- Tutorials
- Basic Scene Demo
- Context Creation
- Scene Creation
- Camera Setup
- Mesh Creation
- Instance Creation
- Deformation Motion Blur
- Point Light Creation
- Emissive Shape Creation
- Environment Light Creation
- Textured Material Creation
- Materials Demo
- Uber Material Creation
- SSS Uber Material Creation
- Two Sided Materials
- Tiled Rendering
- AOVs Setting
- Framebuffer Access
- OpenGL Interop
- Gamma Post Process Effect
- Curve Creation
- Import/Export
- Shadow Catcher
- Adaptive Sampling
- Tracing
- Parameters Enumeration
- Volume
- Hybrid
- Mesh Obj
- API Reference
- rprBufferGetInfo
- rprCameraGetInfo
- rprCameraLookAt
- rprCameraSetAngularMotion
- rprCameraSetApertureBlades
- rprCameraSetExposure
- rprCameraSetFarPlane
- rprCameraSetFocalLength
- rprCameraSetFocalTilt
- rprCameraSetFocusDistance
- rprCameraSetFStop
- rprCameraSetIPD
- rprCameraSetLensShift
- rprCameraSetLinearMotion
- rprCameraSetMode
- rprCameraSetNearPlane
- rprCameraSetOrthoHeight
- rprCameraSetOrthoWidth
- rprCameraSetSensorSize
- rprCameraSetTiltCorrection
- rprCameraSetTransform
- rprCompositeCompute
- rprCompositeGetInfo
- rprCompositeSetInput1u
- rprCompositeSetInput4f
- rprCompositeSetInputC
- rprCompositeSetInputFb
- rprCompositeSetInputLUT
- rprCompositeSetInputOp
- rprContextAbortRender
- rprContextAttachPostEffect
- rprContextAttachRenderLayer
- rprContextClearMemory
- rprContextCreateBuffer
- rprContextCreateCamera
- rprContextCreateComposite
- rprContextCreateCurve
- rprContextCreateDirectionalLight
- rprContextCreateDiskLight
- rprContextCreateEnvironmentLight
- rprContextCreateFrameBuffer
- rprContextCreateFramebufferFromGLTexture2D
- rprContextCreateGrid
- rprContextCreateHeteroVolume
- rprContextCreateIESLight
- rprContextCreateImage
- rprContextCreateImageFromFile
- rprContextCreateImageFromFileMemory
- rprContextCreateInstance
- rprContextCreateLUTFromData
- rprContextCreateLUTFromFile
- rprContextCreateMaterialSystem
- rprContextCreateMesh
- rprContextCreateMeshEx
- rprContextCreateMeshEx2
- rprContextCreatePointLight
- rprContextCreatePostEffect
- rprContextCreateScene
- rprContextCreateSkyLight
- rprContextCreateSphereLight
- rprContextCreateSpotLight
- rprContextDetachPostEffect
- rprContextDetachRenderLayer
- rprContextGetAOV
- rprContextGetAttachedPostEffect
- rprContextGetAttachedPostEffectCount
- rprContextGetInfo
- rprContextGetParameterInfo
- rprContextGetScene
- rprContextRender
- rprContextRenderTile
- rprContextResolveFrameBuffer
- rprContextSetActivePlugin
- rprContextSetAOV
- rprContextSetAOVindexLookup
- rprContextSetAOVindicesLookup
- rprContextSetParameterByKey1f
- rprContextSetParameterByKey1u
- rprContextSetParameterByKey3f
- rprContextSetParameterByKey4f
- rprContextSetParameterByKeyPtr
- rprContextSetParameterByKeyString
- rprContextSetParameterString
- rprContextSetScene
- rprCreateContext
- rprCurveGetInfo
- rprCurveSetMaterial
- rprCurveSetTransform
- rprCurveSetVisibility
- rprCurveSetVisibilityFlag
- rprDirectionalLightSetRadiantPower3f
- rprDirectionalLightSetShadowSoftnessAngle
- rprDiskLightSetAngle
- rprDiskLightSetRadiantPower3f
- rprDiskLightSetRadius
- rprEnvironmentLightAttachPortal
- rprEnvironmentLightDetachPortal
- rprEnvironmentLightGetEnvironmentLightOverride
- rprEnvironmentLightSetEnvironmentLightOverride
- rprEnvironmentLightSetImage
- rprEnvironmentLightSetIntensityScale
- rprFrameBufferClear
- rprFrameBufferFillWithColor
- rprFrameBufferGetInfo
- rprFrameBufferSaveToFile
- rprFrameBufferSaveToFileEx
- rprFrameBufferSetLPE
- rprGridGetInfo
- rprHeteroVolumeGetInfo
- rprHeteroVolumeSetAlbedo
- rprHeteroVolumeSetAlbedoGrid
- rprHeteroVolumeSetAlbedoLookup
- rprHeteroVolumeSetAlbedoScale
- rprHeteroVolumeSetDensityGrid
- rprHeteroVolumeSetDensityLookup
- rprHeteroVolumeSetDensityScale
- rprHeteroVolumeSetEmission
- rprHeteroVolumeSetEmissionGrid
- rprHeteroVolumeSetEmissionLookup
- rprHeteroVolumeSetEmissionScale
- rprHeteroVolumeSetFilter
- rprHeteroVolumeSetTransform
- rprIESLightSetImageFromFile
- rprIESLightSetImageFromIESdata
- rprIESLightSetRadiantPower3f
- rprImageGetInfo
- rprImageSetFilter
- rprImageSetGamma
- rprImageSetInternalCompression
- rprImageSetMipmapEnabled
- rprImageSetOcioColorspace
- rprImageSetUDIM
- rprImageSetWrap
- rprInstanceGetBaseShape
- rprLightGetInfo
- rprLightSetGroupId
- rprLightSetTransform
- rprMaterialNodeGetInfo
- rprMaterialNodeGetInputInfo
- rprMaterialNodeSetID
- rprMaterialNodeSetInputBufferDataByKey
- rprMaterialNodeSetInputFByKey
- rprMaterialNodeSetInputImageDataByKey
- rprMaterialNodeSetInputNByKey
- rprMaterialNodeSetInputUByKey
- rprMaterialSystemCreateNode
- rprMaterialSystemGetInfo
- rprMaterialSystemGetSize
- rprMeshGetInfo
- rprObjectDelete
- rprObjectSetName
- rprPointLightSetRadiantPower3f
- rprPostEffectGetInfo
- rprPostEffectSetParameter1f
- rprPostEffectSetParameter1u
- rprPostEffectSetParameter3f
- rprPostEffectSetParameter4f
- rprRegisterPlugin
- rprSceneAttachCurve
- rprSceneAttachHeteroVolume
- rprSceneAttachLight
- rprSceneAttachShape
- rprSceneClear
- rprSceneDetachCurve
- rprSceneDetachHeteroVolume
- rprSceneDetachLight
- rprSceneDetachShape
- rprSceneGetBackgroundImage
- rprSceneGetCamera
- rprSceneGetCameraRight
- rprSceneGetEnvironmentLight
- rprSceneGetInfo
- rprSceneSetBackgroundImage
- rprSceneSetCamera
- rprSceneSetCameraRight
- rprSceneSetEnvironmentLight
- rprShapeAttachRenderLayer
- rprShapeAutoAdaptSubdivisionFactor
- rprShapeDetachRenderLayer
- rprShapeGetInfo
- rprShapeMarkStatic
- rprShapeSetAngularMotion
- rprShapeSetContourIgnore
- rprShapeSetDisplacementMaterial
- rprShapeSetDisplacementScale
- rprShapeSetHeteroVolume
- rprShapeSetLayerMask
- rprShapeSetLightGroupID
- rprShapeSetLinearMotion
- rprShapeSetMaterial
- rprShapeSetMaterialFaces
- rprShapeSetMotionTransform
- rprShapeSetMotionTransformCount
- rprShapeSetObjectGroupID
- rprShapeSetObjectID
- rprShapeSetScaleMotion
- rprShapeSetReflectionCatcher
- rprShapeSetShadowCatcher
- rprShapeSetSubdivisionAutoRatioCap
- rprShapeSetSubdivisionBoundaryInterop
- rprShapeSetSubdivisionCreaseWeight
- rprShapeSetSubdivisionFactor
- rprShapeSetTransform
- rprShapeSetVertexValue
- rprShapeSetVisibility
- rprShapeSetVisibilityFlag
- rprShapeSetVisibilityInSpecular
- rprShapeSetVolumeMaterial
- rprSkyLightAttachPortal
- rprSkyLightDetachPortal
- rprSkyLightSetAlbedo
- rprSkyLightSetDirection
- rprSkyLightSetScale
- rprSkyLightSetTurbidity
- rprSphereLightSetRadiantPower3f
- rprSphereLightSetRadius
- rprSpotLightSetConeShape
- rprSpotLightSetImage
- rprSpotLightSetRadiantPower3f
- Transitioning from RPR 1.X to 2.0
- Radeon Image Filters
- Basic Example
- Filters
- ACES filmic tone mapping filter
- AI custom model filter
- AI denoiser filter
- AI upscale filter
- Auto linear tone mapping filter
- BGRA TO RGBA conversion filter
- Bilateral denoiser filter
- Binary operation filter
- Bloom filter
- Color space changing filter
- Convert filter
- Depth of field filter
- Dilate (erode) filter
- Drago tone mapping filter
- Dynamic resampling filter
- Edge-avoiding À-Trous wavelet filter
- Emboss filter
- Exponential tone mapping filter
- Filmic uncharted tone mapping filter
- Gamma correction filter
- Gaussian blurring filter
- Horizontal flip filter
- Hue-saturation changing filter
- Laplace edge detection filter
- Linear photographic tone mapping filter
- Linear tone mapping filter
- Local weighted regression filter
- Max-white tone mapping filter
- Median denoiser filter
- Morphological antialiasing filter
- Motion blur filter
- Motion buffer filter
- Multiplication filter
- NDC depth filter
- Photographic tone mapping filter
- Posterization filter
- Range remap filter
- Reinhard tone mapping filter
- Resampling filter
- RGB noise filter
- Rotation filter
- Sharpen filter
- Sobel edge detection filter
- Spread filter
- Temporal accumulation filter
- User defined filter
- Vertical flip filter
- Weighted sum filter
- Combining Filters
- Data Types
- Data Structs
- Info and Setting Types
- API Reference
- rifCommandQueueAttachImageFilter
- rifCommandQueueAttachImageFilterRect
- rifCommandQueueDetachImageFilter
- rifContextCreateCommandQueue
- rifContextCreateImage
- rifContextCreateImageFilter
- rifContextCreateImageFromDirectX11Buffer
- rifContextCreateImageFromDirectX11Texture
- rifContextCreateImageFromDirectX12Memory
- rifContextCreateImageFromMetalMemory
- rifContextCreateImageFromOpenClMemory
- rifContextCreateImageFromOpenGlTexture
- rifContextExecuteCommandQueue
- rifContextGetDeviceInfo
- rifContextGetInfo
- rifContextSetInfo
- rifCreateContext
- rifCreateContextFromDirectX12Context
- rifCreateContextFromMetalContext
- rifCreateContextFromOpenClContext
- rifCreateOpenCLContextSharedWithDirectX11
- rifFlushQueue
- rifGetDeviceCount
- rifGetErrorCodeDescription
- rifGetErrorCodeString
- rifGetLastErrorMessage
- rifImageFilterClearParameterImage
- rifImageFilterGetInfo
- rifImageFilterSetComputeType
- rifImageFilterSetParameter1f
- rifImageFilterSetParameter1i
- rifImageFilterSetParameter1u
- rifImageFilterSetParameter2f
- rifImageFilterSetParameter2i
- rifImageFilterSetParameter2u
- rifImageFilterSetParameter3f
- rifImageFilterSetParameter3i
- rifImageFilterSetParameter3u
- rifImageFilterSetParameter4f
- rifImageFilterSetParameter4i
- rifImageFilterSetParameter4u
- rifImageFilterSetParameter8f
- rifImageFilterSetParameter8i
- rifImageFilterSetParameter8u
- rifImageFilterSetParameter16f
- rifImageFilterSetParameter16i
- rifImageFilterSetParameter16u
- rifImageFilterSetParameterFloatArray
- rifImageFilterSetParameterImage
- rifImageFilterSetParameterImageArray
- rifImageFilterSetParameterString
- rifImageGetInfo
- rifImageMap
- rifImageUnmap
- rifObjectDelete
- rifParameterGetInfo
- rifSyncronizeQueue
- Tracing
- Radeon Machine Learning
- Examples
- Data Types
- Data Structs
- rml_context
- rml_context_params
- rml_graph
- rml_memory_info
- rml_model
- rml_op
- rml_op_batch_norm_params
- rml_op_bias_add_params
- rml_op_binary_params
- rml_op_cast_params
- rml_op_celu_params
- rml_op_clip_params
- rml_op_concat_params
- rml_op_const_params
- rml_op_conv_2d_params
- rml_op_conv_2d_transpose_params
- rml_op_desc
- rml_op_depth_to_space_params
- rml_op_elu_params
- rml_op_flatten_params
- rml_op_gemm_params
- rml_op_leaky_relu_params
- rml_op_local_response_norm_params
- rml_op_pad_params
- rml_op_placeholder_params
- rml_op_pool_2d_params
- rml_op_pool_2d_global_params
- rml_op_port_params
- rml_op_pow_params
- rml_op_quantize_linear_params
- rml_op_reduce_params
- rml_op_resize_2d_params
- rml_op_reshape_params
- rml_op_round_params
- rml_op_selu_params
- rml_op_slice_params
- rml_op_space_to_depth_params
- rml_op_squeeze_params
- rml_op_stack_params
- rml_op_thresholded_relu_params
- rml_op_top_k_params
- rml_op_transpose_params
- rml_op_unary_params
- rml_op_unsqueeze_params
- rml_size_2d
- rml_strings
- rml_tensor
- rml_tensor_info
- Info and Setting Types
- API Reference
- rmlConnectGraphs
- rmlCreateContextFromClQueue
- rmlCreateContextFromD3DQueue
- rmlCreateContextFromMTLQueue
- rmlCreateDefaultContext
- rmlCreateGraph
- rmlCreateModelFromGraph
- rmlCreateOperation
- rmlCreateTensor
- rmlCreateTensorFromClBuffer
- rmlCreateTensorFromD3DResource
- rmlCreateTensorFromMTLBuffer
- rmlGetClBufferFromTensor
- rmlGetD3DResourceFromTensor
- rmlGetGraphInputNames
- rmlGetGraphOutputNames
- rmlGetLastError
- rmlGetMTLBufferFromTensor
- rmlGetModelInputInfo
- rmlGetModelMemoryInfo
- rmlGetModelOutputInfo
- rmlGetTensorInfo
- rmlInfer
- rmlLoadGraph
- rmlLoadGraphFromBuffer
- rmlLoadGraphFromFile
- rmlMapTensor
- rmlPrepareModel
- rmlReleaseContext
- rmlReleaseGraph
- rmlReleaseModel
- rmlReleaseTensor
- rmlResetModelStates
- rmlSetD3DCommandList
- rmlSetDMLFloat16Allowed
- rmlSetLoggingEnabled
- rmlSetMIOpenAutoTuningOn
- rmlSetModelInput
- rmlSetModelInputInfo
- rmlSetModelOutput
- rmlSetModelOutputNames
- rmlSetNumD3DCommandLists
- rmlUnmapTensor
- RadeonRays
- Examples
- Data Types
- Data Structs
- Info and Setting Types
- API Reference
- rrAllocateAccelerationStructureDevicePtr
- rrAllocateCommandStream
- rrAllocateDeviceBuffer
- rrCmdBuildGeometry
- rrCmdBuildScene
- rrCmdIntersect
- rrCreateContext
- rrCreateContextDX
- rrCreateContextMTL
- rrCreateContextVk
- rrCreateGroupMPS
- rrDestroyContext
- rrGetCommandStreamFromD3D12CommandList
- rrGetCommandStreamFromMTLCommandBuffer
- rrGetCommandStreamFromVkCommandBuffer
- rrGetDevicePtrFromBuffer
- rrGetDevicePtrFromD3D12Resource
- rrGetDevicePtrFromMTLResource
- rrGetDevicePtrFromVkBuffer
- rrGetGeometryBuildMemoryRequirements
- rrGetSceneBuildMemoryRequirements
- rrGetTraceMemoryRequirements
- rrMapDevicePtr
- rrReleaseCommandStream
- rrReleaseDevicePtr
- rrReleaseEvent
- rrReleaseExternalCommandStream
- rrSetLogFile
- rrSetLogLevel
- rrSubmitCommandStream
- rrUnmapDevicePtr
- rrWaitEvent
- Uber Shader
- Radeon ProRender Plug-ins
- Material Library
- Blender
- Maya
- 3ds Max
- Unreal Engine
- Houdini
- Inventor
- USD Hydra Delegate
Bilateral Filter¶
Bilateral is a noise reducing filter that blends neighboring pixels while preserving sharp edges.
The filter works by replacing each pixel with a weighted average of its neighbors. The weighted average is calculated based on several factors, including pixel color similarity, spatial proximity, normal differences and object ID values. This ensures that only similar pixels contribute to the resulting color, which makes it possible to produce high-quality smoothing without blurring object contours.
The bilateral filter is the least resource-intensive denoiser filter in terms of time and computational resources.
![]() No denoiser |
![]() Radius: 1, color sigma: 0.75 |
![]() Radius: 2, color sigma: 0.75 |
Radius¶
The Radius parameter controls the area within which similar neighboring pixels will be found.
The parameter defines the area radius in pixels, and supports values from 1 to 50. Greater values give a wider pixel comparison area, which yields a more blurry and smoother effect but requires more resources and time to calculate the resulting pixel color.
Color Sigma¶
The Color Sigma parameter defines a threshold for detecting the color difference between a pixel and its neighbors.
The parameter supports values from 0 to 1. Smaller values blend pixels with very similar colors which preserves edges better but retains more noise artifacts. Greater values allow greater color differences, which forces denoising but results in smoother edges and color bleeding.
Normal Sigma¶
The Normal Sigma parameter defines a threshold for detecting differences between surface normals.
The parameter supports values from 0 to 1. Smaller values better detect mesh irregularities and retain geometry details at challenging regions, such as corners or edges. Greater values allow more difference but may destroy finer geometry details.
Position Sigma¶
The Position Sigma parameter defines a threshold for detecting spatial differences between pixels, and can be used to fine-tune the Radius value.
The parameter supports values from 0 to 1. With smaller values, only pixels within a close proximity are considered. Greater values widen the area where similar pixels can be found, but slow down denoising.
ID Sigma¶
The ID Sigma parameter defines a threshold for detecting Object ID differences. It helps to distinguish mesh surfaces based on internal ID values set for objects in AMD Radeon ProRender.
The parameter supports values from 0 to 1.