- 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_interpolation_mode
- rpr_light_info
- rpr_light_type
- rpr_lut_info
- rpr_material_gradient_procedural_type
- 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_primvar_interpolation_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
- rpr_voronoi_out_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
- rprCameraSetApertureBlades
- rprCameraSetExposure
- rprCameraSetFarPlane
- rprCameraSetFocalLength
- rprCameraSetFocalTilt
- rprCameraSetFocusDistance
- rprCameraSetFStop
- rprCameraSetIPD
- rprCameraSetLensShift
- rprCameraSetMode
- rprCameraSetMotionTransform
- rprCameraSetMotionTransformCount
- 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
- rprContextSetCuttingPlane
- rprContextSetParameterByKey1f
- rprContextSetParameterByKey1u
- rprContextSetParameterByKey3f
- rprContextSetParameterByKey4f
- rprContextSetParameterByKeyPtr
- rprContextSetParameterByKeyString
- rprContextSetParameterString
- rprContextSetScene
- rprCreateContext
- rprCurveGetInfo
- rprCurveSetMaterial
- rprCurveSetTransform
- rprCurveSetVisibility
- rprCurveSetVisibilityFlag
- rprDirectionalLightSetRadiantPower3f
- rprDirectionalLightSetShadowSoftnessAngle
- rprDiskLightSetAngle
- rprDiskLightSetInnerAngle
- 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
- rprLightAttachRenderLayer
- rprLightDetachRenderLayer
- rprLightGetInfo
- rprLightSetGroupId
- rprLightSetTransform
- rprLightSetVisibilityFlag
- rprMaterialNodeGetInfo
- rprMaterialNodeGetInputInfo
- rprMaterialNodeSetID
- rprMaterialNodeSetInputBufferDataByKey
- rprMaterialNodeSetInputFByKey
- rprMaterialNodeSetInputDataByKey
- rprMaterialNodeSetInputGridDataByKey
- rprMaterialNodeSetInputImageDataByKey
- rprMaterialNodeSetInputLightDataByKey
- 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
- rprShapeSetContourIgnore
- rprShapeSetDisplacementMaterial
- rprShapeSetDisplacementScale
- rprShapeSetEnvironmentLight
- rprShapeSetHeteroVolume
- rprShapeSetLayerMask
- rprShapeSetLightGroupID
- rprShapeSetMaterial
- rprShapeSetMaterialFaces
- rprShapeSetMotionTransform
- rprShapeSetMotionTransformCount
- rprShapeSetObjectGroupID
- rprShapeSetObjectID
- rprShapeSetPrimvar
- rprShapeSetShadowColor
- 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
- HIP RT
- Data Structs
- Info and Setting Types
- Classes
- hiprtGeomTraversalAnyHit
- hiprtGeomTraversalAnyHitCustomStack
- hiprtGeomCustomTraversalAnyHit
- hiprtGeomCustomTraversalAnyHitCustomStack
- hiprtGeomCustomTraversalClosest
- hiprtGeomCustomTraversalClosestCustomStack
- hiprtGeomTraversalClosest
- hiprtGeomTraversalClosestCustomStack
- hiprtSceneTraversalAnyHit
- hiprtSceneTraversalAnyHitCustomStack
- hiprtSceneTraversalClosest
- hiprtSceneTraversalClosestCustomStack
- API Reference
- hiprtBuildGeometry
- hiprtBuildScene
- hiprtBuildTraceGetBinary
- hiprtBuildTraceProgram
- hiprtCreateContext
- hiprtCreateCustomFuncTable
- hiprtCreateGeometry
- hiprtCreateScene
- hiprtDestroyContext
- hiprtDestroyCustomFuncTable
- hiprtDestroyGeometry
- hiprtDestroyScene
- hiprtGetGeometryBuildTemporaryBufferSize
- hiprtGetGeometryTraceTemporaryBufferSize
- hiprtGetSceneBuildTemporaryBufferSize
- hiprtGetSceneTraceTemporaryBufferSize
- hiprtIntersectFunc
- hiprtLoadScene
- hiprtLoadGeometry
- hiprtSaveGeometry
- hiprtSaveScene
- hiprtSetCacheDirPath
- hiprtSetCustomFuncTable
- hiprtSetLogLevel
- Uber Shader
- Radeon ProRender Plug-ins
- Material Library
- Blender
- Maya
- 3ds Max
- Unreal Engine
- Houdini
- Inventor
- USD Hydra Delegate
Sampling¶
Sampling settings are the main determining factor of the image quality.
To render an image, AMD Radeon ProRender casts a number of ray samples for every pixel. As new sample values for the pixel are added, the sampling results are averaged to calculate the pixel color.
The image is rendered progressively: as additional samples are taken, the quality of the image is improved and the amount of noise is reduced. A greater number of samples per pixel produces a better result, but requires more time for color computations.
![]() The appearance of a scene changes depending on the sampling rate |
Adaptive and Fixed Sampling¶
AMD Radeon ProRender supports the two sampling modes: adaptive sampling and fixed sampling.
Adaptive Sampling¶
Adaptive sampling is the default mode used to sample pixels in AMD Radeon ProRender. Adaptive sampling is particularly useful if some image regions are noisier than others, when it is not practical to set the overall iterations rate high and thus oversample the less noisy regions. Instead, it is recommended to choose adaptive sampling.
Adaptive sampling uses the following three parameters to control the sample density for a pixel: Min Samples, Max Samples and Noise Threshold.
The Min Samples value defines the guaranteed number of samples that every pixel in the image will receive. Once this minimum value has been reached, the noise variance of each pixel is calculated. Sampling for a pixel stops either when the noise becomes less than the Noise Threshold, or when the Max Samples value is reached. Rendering of the image areas that already have reached the Noise Threshold will stop, therefore the noisier areas will be rendered faster. The calculations will add a bit of overhead, but this mode is recommended in most cases.
Fixed Sampling¶
If all image regions appear equally noisy, you can instruct AMD Radeon ProRender to calculate samples for all pixels in a uniform fashion. To use this mode, set the Noise Threshold value to 0. In this case, the sample rate will be controlled using the Max Samples parameter.
Sampling Parameters¶
In AMD Radeon ProRender, sampling can be controlled using the following parameters.
Min Samples¶
The Min Samples parameter is used for adaptive sampling only. It defines the minimum number of samples per pixel required. By changing the parameter value, you can control the overall guaranteed image quality before adaptive sampling is involved.
It is recommended not to set this value high, as this will slow down the rendering process. To achieve a clean image and save on rendering time, tune the Noise Threshold instead.
Max Samples¶
The Max Samples parameter defines the maximum possible number of samples that a pixel may receive. In the case of adaptive sampling, sampling will stop when this limit is reached, even if the noise is still greater than the noise threshold. If adaptive sampling is disabled, the Max Samples value defines the uniform sample rate per pixel.
For scenes involving depth of field or motion blur, the Max Samples value should generally be increased.
Noise Threshold¶
If set to a non-zero value, the Noise Threshold parameter enables adaptive sampling.
The parameter is used to determine whether additional samples will be calculated for a pixel. It describes how much variance there may be as new samples are added for the pixel. In other words, it measures how much noise is allowed for a pixel before sampling is stopped. The parameter’s value ranges from 0 to 1, where 0 means no noise (no variance) and 1 means all of the noise is allowed.
As new samples are cast, AMD Radeon ProRender checks how much the pixel has changed, and how much noise there is. If the noise is greater than the threshold, additional samples will be calculated, unless the Max Samples limit is reached. If the noise is less than the threshold, subsequent sampling for the pixel will stop.
A default noise threshold of 0.05 is a good preview value for most scenes. Lowering the threshold results in less noise per pixel and more time required to complete the render, while increasing the threshold value generally reduces the render time at the cost of the image quality.
If the parameter value is set to 0, adaptive sampling is disabled. In this case, the number of samples per pixel will be controlled by the Max Samples value. Setting the parameter value to 1 forces sampling to stop once the Min Samples limit has been reached.
See how the appearance of the scene changes depending on the Noise Threshold value.
![]() The appearance of a scene changes depending on the noise threshold |
Time Limit¶
The Time Limit parameter is used to define how long the rendering process can take before it is terminated. For animated scenes, the time limit is set per frame.
The time limit for rendering is specified in seconds. Setting the parameter value to 0 disables the time constraint. In this case, the rendering process will only be limited by the number of samples.

Samples per View Update¶
Renders are updated exponentially, that is, after every 1, 1, 2, 4, 8, 16 and 32 samples. Once the number of samples reaches 32, renders are updated after every new 32 samples. This is done to maximize performance, especially with RPR 2.0.
Tiled Rendering¶
By default, AMD Radeon ProRender addresses all pixels in the image to calculate samples. When displayed, the image first appears grainy and noisy and is refined progressively as the renderer makes more passes and more samples are calculated. This approach requires more memory and CPU resources, but allows you to preview the whole image as fast as possible and interrupt the rendering process in case any changes need to be made.
Instead of rendering the whole image, you can choose to render the image by tiles. Tiled rendering allows higher resolution renders without using as much memory and CPU.
The size of the tiles in pixels is described using the Tile X (horizontal tile size) and Tile Y (vertical tile size) settings. Additionally, you can choose the order in which tiles are rendered: from the center by spiral, vertically from left to right, or horizontally from top to bottom. Changing the tile order can be useful if you need to focus on particular regions of the image as the tiles are rendered.
Note
When tiled rendering is used, the Time Limit option is disabled.
![]() Default rendering |
![]() Spiral tiled rendering |
Viewport and Preview Sampling¶
The Viewport and Preview parameters allow you to specify custom sampling settings (usually, lower-quality) for viewport rendering, material and light preview.
Min Samples, Max Samples, Noise Threshold¶
By default, the Min Samples, Max Samples and Noise Threshold values are the same, respectively, for material preview, viewport and production renders. If necessary, for viewport render you can set custom Max Sample and Noise Threshold values.
Adapt Viewport Resolution¶
The Adapt Viewport Resolution (short for ‘Adaptive Viewport Resolution’) check box enables the following settings: Samples per Second and Min Resolution Scale.
- The Samples per Second setting has a default value of 15. This setting is roughly analogous to Frames per Second. The viewport render resolution is adjusted during rendering to try and maintain this interactivity.
- The Min Resolution Scale setting limits resolution downscaling. For users with high resolution displays, this adaptive resolution can maintain a much better viewport experience.
Limit Viewport Resolution¶
The Limit Viewport Resolution parameter allows you to limit the size of the rendered image in the viewport. With this option enabled, the size of the viewport image is controlled using the Percentage value in the Blender output settings.
Preview Samples¶
The Samples per Preview parameter controls the number of samples per pixel for material and light preview.
![]() Material preview |
![]() Light preview |
Samples per Preview Update¶
The Samples per Preview Update parameter controls how often the image will be updated in the viewport. The frequency of updates is measured in the number of passes made to calculate pixel samples. Greater values accelerate the rendering process.
GL_Interopability Setting¶
The GL_Interopability setting allows fast copying of the render to the viewport via OpenGL. In most cases this should be left enabled, which is the default. However, if users wish to use external GPUs for viewport rendering, this may need to be disabled. In such cases the OpenGL interoperability does not work.
Viewport Denoising and Upscaling¶
Viewport denoising and upscaling improves the interactivity and speed of viewport rendering. With the use of the Machine Learning denoiser, this option allows AMD Radeon ProRender to render at half resolution faster, and then upscale to the full size of the viewport.
Note that the choiсe to enable or disable viewport and upscaling settings is stored in Blender preferences rather than on a per-scene basis.