← Back to CoursesBlendercursus
Blendercursus
101. Cycles volledig
schoolium · Blendercursus
Blendercursus
101. Cycles volledig
KDeel K · Renderen, compositing en video

Hoofdstuk 101Cycles volledig

Sampling, denoising, light paths, performance, GPU — alle 105 instellingen

Cycles is Blenders padtracer (path tracer): een fysiek gebaseerde renderer die licht simuleert door het als stralen (paths) door de scène te volgen. Trager dan EEVEE, maar zonder de benaderingen — reflecties, schaduwen en global illumination kloppen automatisch, zonder dat je light probes hoeft te plaatsen.

5× uitleg1× naslag1× zelf doen1 oefenbestand10 beelden
Schematische lichtstralen die vanaf de camera een scène in kaatsen, van oppervlak naar oppervlak, tot ze een lichtbron raken of uitdoven — het denkbeeld achter path tracing, geen interface.RECCONCEPT00:00:00:00schoolium
beeld-k-cycles-pathtracingSchematische lichtstralen die vanaf de camera een scène in kaatsen, van oppervlak naar oppervlak, tot ze een lichtbron raken of uitdoven — het denkbeeld achter path tracing, geen interface.
Uitleg · 101.1

Hoe path tracing werkt, zonder formules

1/7

Cycles stuurt voor elke pixel één of meer denkbeeldige stralen de scène in, vanaf de camera. Raakt zo'n straal een oppervlak, dan kaatst hij verder af (volgens het materiaal: mat oppervlak strooit breed, glanzend oppervlak kaatst gericht) tot hij een lichtbron raakt — dan draagt die hele keten van kaatsen bij aan de kleur van de pixel — of tot hij te vaak gekaatst heeft en wordt afgekapt (zie Light Paths → Bounces). Omdat dit met willekeur werkt (elke straal kaatst een beetje anders), moet je véél stralen per pixel middelen voor een schoon beeld — dat is precies wat Samples regelt, en waarom te weinig samples ruis geeft.

Dezelfde scène en camera, telkens enkel het samplecount anders (Cycles, Adaptive Sampling uit): 1 sample is nog bijna alleen ruis, 4 en 16 laten de vormen door de korrel heen zien, en pas rond 64-256 wordt het beeld echt schoon.RECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-1Dezelfde scène en camera, telkens enkel het samplecount anders (Cycles, Adaptive Sampling uit): 1 sample is nog bijna alleen ruis, 4 en 16 laten de vormen door de korrel heen zien, en pas rond 64-256 wordt het beeld echt schoon.
4 samplesRECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-44 samples
16 samplesRECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-1616 samples
64 samplesRECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-6464 samples
256 samples — nauwelijks nog korrel.RECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-256256 samples — nauwelijks nog korrel.
Uitleg · 101.2

Sampling: Noise Threshold en Adaptive Sampling

2/7

Samples → Render zet een bovengrens; met Adaptive Sampling aangevinkt stopt Cycles vroeger op plekken die al schoon genoeg zijn (een effen muur heeft veel minder samples nodig dan een glanzend, ruisgevoelig oppervlak) en blijft alleen doorrekenen waar het Noise Threshold nog niet gehaald is. Dat bespaart vaak veel tijd zonder zichtbaar kwaliteitsverlies. Min Samples zet een ondergrens zodat Cycles niet te vroeg stopt op een plek die toevallig al vlak oogt.

Los daarvan zet Viewport → Samples een apart, meestal veel lager plafond voor wat je live in de 3D-viewport ziet tijdens het werken — snelheid boven kwaliteit, met Noise Threshold ook hier instelbaar.

16 samples: Adaptive Sampling zou hier op de vlakke muur al vroeg stoppen, en het meeste budget aan de ruisgevoelige plekken besteden.RECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-1616 samples: Adaptive Sampling zou hier op de vlakke muur al vroeg stoppen, en het meeste budget aan de ruisgevoelige plekken besteden.
Uitleg · 101.3

Denoising

3/7

Denoising haalt resterende ruis uit een render weg met een beeldfilter of een AI-model, zodat je met minder samples toch een schoon resultaat krijgt. Denoiser kiest tussen OpenImageDenoise (Intel, CPU/GPU, meestal het scherpste resultaat) en OptiX (NVIDIA, sneller op een RTX-kaart). Passes bepaalt welke extra informatie (albedo, normalen) meegeleverd wordt aan de denoiser om beter onderscheid te maken tussen ruis en echte detailtextuur — meer passes geven een scherper resultaat maar kosten geheugen.

Denoising kan los ingesteld worden voor Viewport en voor de finale render, en werkt ook als losse compositor-node (Denoise, zie hoofdstuk 104) zodat je 'm kan toepassen ná andere compositing-stappen.

Dezelfde render op 32 samples zonder denoising — zichtbaar korrelig, vooral op de glanzende coat-laag van de bol en de chrome/grijze referentiebal.RECRENDER · EEVEE00:00:00:001280×720
render-cycles-denoise-uitDezelfde render op 32 samples zonder denoising — zichtbaar korrelig, vooral op de glanzende coat-laag van de bol en de chrome/grijze referentiebal.
32 samples MET OpenImageDenoise — duidelijk gladder, de scherpte van de randen blijft bewaard.RECRENDER · EEVEE00:00:00:001280×720
render-cycles-denoise-aan32 samples MET OpenImageDenoise — duidelijk gladder, de scherpte van de randen blijft bewaard.
Uitleg · 101.4

Light Paths: bounces en caustics

4/7

Light Paths bepaalt hoe vaak een straal mag kaatsen voor hij wordt afgekapt. Total zet de algemene bovengrens; daaronder verfijn je per type kaatsing: Diffuse (matte oppervlakken), Glossy (glanzende reflecties), Transmission (licht dat door glas of water gaat), Volume en Transparent. Meer bounces geven fysiek correctere resultaten (licht dat meerdere keren kaatst voor het een kamer verlicht) maar kosten meer tijd; te weinig bounces geven onnatuurlijk donkere hoeken en geen glas dat er goed doorheen laat kijken.

Caustics (de lichtvlekken die ontstaan als licht door glas of water gebroken wordt en zich ergens concentreert) staan default uit voor reflecterende caustics omdat ze traag zijn om ruisvrij te krijgen — zet ze gericht aan wanneer een shot ze echt nodig heeft.

Bij genoeg bounces en samples komt licht dat meerdere keren kaatst geloofwaardig over — precies wat Light Paths regelt.RECRENDER · EEVEE00:00:00:001280×720
render-cycles-samples-256Bij genoeg bounces en samples komt licht dat meerdere keren kaatst geloofwaardig over — precies wat Light Paths regelt.
Uitleg · 101.5

Performance: tiles, GPU en Persistent Data

5/7

Cycles rendert op de Device: CPU of GPU Compute (in Preferences → System kies je de backend — CUDA/OptiX voor NVIDIA, HIP voor AMD, oneAPI voor Intel, Metal op macOS). Een GPU rendert een scène die in het videogeheugen past doorgaans veel sneller dan de CPU; Preferences → System laat je zelfs CPU en GPU tegelijk inzetten.

Performance → Threads regelt CPU-parallellisatie; Tile Size (in oudere documentatie, nu grotendeels automatisch beheerd) bepaalt in welke stukken het beeld gerenderd wordt — belangrijk bij weinig VRAM. Persistent Data houdt de scène tussen renders in het geheugen (handig bij een reeks renders met kleine wijzigingen, zoals een animatie), maar kost meer geheugen. Memory → Use Spatial Splits en verwante BVH-instellingen (de versnellingsstructuur waarmee Cycles snel bepaalt wat een straal raakt) zijn vooral relevant bij zeer zware scènes.

Render Properties met Cycles actief: Device op GPU Compute, Feature Set en Denoising-paneel.RECBLENDER 5.1 · PROP-CYCLES-DEVICE00:00:00:001920×1080
shot-prop-cycles-deviceRender Properties met Cycles actief: Device op GPU Compute, Feature Set en Denoising-paneel.
Naslag · 101.6

Cycles — alle 105 instellingen

6/7

De volledige naslagtabel, rechtstreeks uit bpy.types.CyclesRenderSettings en verwante klassen uitgelezen: sampling, light paths, performance, denoising, GPU en meer.

Cycles-renderinstellingen
InstellingTypeStandaardBereikWat hij doet (tooltip uit Blender)
NameSTRING––Unique name used in the code and scripting, can be re-defined in Python sub-classes if needed
DeviceENUMCPUCPU, GPU ComputeDevice to use for rendering
Open Shading LanguageBOOLEANuit–Use Open Shading Language
Pause PreviewBOOLEANuit–Pause all viewport preview renders
Use DenoisingBOOLEANaan–Denoise the rendered image
DenoiserENUMDenoise the image with the selected denoiser. For denoising the image after rendering
Denoising PrefilterENUMACCURATENone, Fast, AccuratePrefilter noisy guiding (albedo and normal) passes to improve denoising quality when using OpenImageDenoise
Denoising QualityENUMHIGHHigh, Balanced, FastOverall denoising quality when using OpenImageDenoise
Denoising Input PassesENUMRGB_ALBEDO_NORMALNone, Albedo, Albedo and NormalPasses used by the denoiser to distinguish noise from shader and geometry detail
Denoise on GPUBOOLEANuit–Perform denoising on GPU devices configured in the system tab in the user preferences. This is significantly faster than on CPU, but requires additional GPU memory. When large scenes need more GPU memory, this option can be disabled
Use Viewport DenoisingBOOLEANuit–Denoise the image in the 3D viewport
Viewport DenoiserENUMDenoise the image after each preview update with the selected denoiser
Viewport Denoising PrefilterENUMFASTNone, Fast, AccuratePrefilter noisy guiding (albedo and normal) passes to improve denoising quality when using OpenImageDenoise
Viewport Denoising QualityENUMBALANCEDHigh, Balanced, FastOverall denoising quality when using OpenImageDenoise
Viewport Denoising Input PassesENUMRGB_ALBEDONone, Albedo, Albedo and NormalPasses used by the denoiser to distinguish noise from shader and geometry detail
Start DenoisingINT10 – 16777216Sample to start denoising the preview at
Denoise Preview on GPUBOOLEANaan–Perform denoising on GPU devices configured in the system tab in the user preferences. This is significantly faster than on CPU, but requires additional GPU memory. When large scenes need more GPU memory, this option can be disabled
SamplesINT40961 – 16777216Number of samples to render for each pixel
Viewport SamplesINT10241 – 16777216Number of samples to render in the viewport, unlimited if 0
Use Sample SubsetBOOLEANuit–Render a subset of the specified max samples. Typically used for distributed rendering across multiple devices
Sample Subset OffsetINT00 – 167772160-based index of sample to start rendering from
Sample Subset LengthINT20481 – 16777216The number of samples to render in this subset
Time LimitFLOAT00 – onbegrensdLimit the render time (excluding synchronization time). Zero disables the limit
Sampling PatternENUMRandom sampling pattern used by the integrator
Scrambling DistanceFLOAT10 – 1Reduce randomization between pixels to improve GPU rendering performance, at the cost of possible rendering artifacts if set too low
Scrambling Distance viewportBOOLEANuit–Uses the Scrambling Distance value for the viewport. Faster but may flicker
Automatic Scrambling DistanceBOOLEANuit–Automatically reduce the randomization between pixels to improve GPU rendering performance, at the cost of possible rendering artifacts
Layer SamplesENUMUSEUse, Bounded, IgnoreHow to use per view layer sample settings
Light Sampling ThresholdFLOAT0.010 – 1Probabilistically terminate light samples when the light contribution is below this threshold (more noise but faster rendering). Zero disables the test and never ignores lights
Use Adaptive SamplingBOOLEANaan–Automatically reduce the number of samples per pixel based on estimated noise level
Adaptive Sampling ThresholdFLOAT0.010.001 – 1Noise level step to stop sampling at, lower values reduce noise at the cost of render time. Zero for automatic setting based on number of AA samples
Adaptive Min SamplesINT00 – 4096Minimum AA samples for adaptive sampling, to discover noisy features before stopping sampling. Zero for automatic setting based on noise threshold
Use Adaptive SamplingBOOLEANaan–Automatically reduce the number of samples per pixel based on estimated noise level, for viewport renders
Adaptive Sampling ThresholdFLOAT0.10.001 – 1Noise level step to stop sampling at, lower values reduce noise at the cost of render time. Zero for automatic setting based on number of AA samples, for viewport renders
Adaptive Min SamplesINT00 – 4096Minimum AA samples for adaptive sampling, to discover noisy features before stopping sampling. Zero for automatic setting based on noise threshold, for viewport renders
Direct Light SamplingENUMMULTIPLE_IMPORTANCE_SAMPLINGMultiple Importance Sampling, Forward Path Tracing, Next-Event EstimationThe type of strategy used for sampling direct light contributions
Light TreeBOOLEANaan–Sample multiple lights more efficiently based on estimated contribution at every shading point
Min Light BouncesINT00 – 1024Minimum number of light bounces. Setting this higher reduces noise in the first bounces, but can also be less efficient for more complex geometry like curves and volumes
Min Transparent BouncesINT00 – 1024Minimum number of transparent bounces. Setting this higher reduces noise in the first bounces, but can also be less efficient for more complex geometry like curves and volumes
Reflective CausticsBOOLEANaan–Use reflective caustics, resulting in a brighter image (more noise but added realism)
Refractive CausticsBOOLEANaan–Use refractive caustics, resulting in a brighter image (more noise but added realism)
Filter GlossyFLOAT10 – 10Adaptively blur glossy shaders after blurry bounces, to reduce noise at the cost of accuracy
GuidingBOOLEANuit–Use path guiding for sampling paths. Path guiding incrementally learns the light distribution of the scene and guides path into directions with high direct and indirect light contributions
DeterministicBOOLEANaan–Makes path guiding deterministic which means renderings will be reproducible with the same pixel values every time. This feature slows down training
Guiding Distribution TypeENUMPARALLAX_AWARE_VMMParallax-Aware VMM, Directional Quad Tree, VMMType of representation for the guiding distribution
Directional Sampling TypeENUMRISDiffuse Product MIS, Re-sampled Importance Sampling, Roughness-basedType of the directional sampling used for guiding
Surface GuidingBOOLEANaan–Use guiding when sampling directions on a surface
Surface Guiding ProbabilityFLOAT0.50 – 1The probability of guiding a direction on a surface
Volume GuidingBOOLEANaan–Use guiding when sampling directions inside a volume
Training SamplesINT1281 – onbegrensdThe maximum number of samples used for training path guiding. Higher samples lead to more accurate guiding, however may also unnecessarily slow down rendering once guiding is accurate enough. A value of 0 will continue training until the last sample
Volume Guiding ProbabilityFLOAT0.50 – 1The probability of guiding a direction inside a volume
Guide Direct LightBOOLEANaan–Consider the contribution of directly visible light sources during guiding
Use MIS WeightsBOOLEANaan–Use the MIS weight to weight the contribution of directly visible light sources during guiding
Guiding Roughness ThresholdFLOAT0.050 – 1The minimal roughness value of a material to apply guiding
Max BouncesINT120 – 1024Total maximum number of bounces
Diffuse BouncesINT40 – 1024Maximum number of diffuse reflection bounces, bounded by total maximum
Glossy BouncesINT40 – 1024Maximum number of glossy reflection bounces, bounded by total maximum
Transmission BouncesINT120 – 1024Maximum number of transmission bounces, bounded by total maximum
Volume BouncesINT00 – 1024Maximum number of volumetric scattering events
Transparent Max BouncesINT80 – 1024Maximum number of transparent bounces. This is independent of maximum number of other bounces
Step RateFLOAT10.1 – 10Globally adjust detail for volume rendering, on top of automatically estimated step size. Higher values reduce render time, lower values render with more detail
Step RateFLOAT10.1 – 10Globally adjust detail for volume rendering, on top of automatically estimated step size. Higher values reduce render time, lower values render with more detail
Max StepsINT10242 – 65536Maximum number of steps through the volume before giving up, to avoid extremely long render times with big objects or small step sizes
BiasedBOOLEANuit–Default volume rendering uses null scattering, which is unbiased and has less artifacts, but could be noisier. Biased option uses ray marching, with controls for steps size and max steps
Dicing RateFLOAT10.5 – 1000Multiplier for per object adaptive subdivision size
Viewport Dicing RateFLOAT80.5 – 1000Multiplier for per object adaptive subdivision size in the viewport
Max SubdivisionsINT120 – 16Stop subdividing when this level is reached even if the dicing rate would produce finer tessellation
Offscreen Dicing ScaleFLOAT41 – 25Multiplier for dicing rate of geometry outside of the camera view. The dicing rate of objects is gradually increased the further they are outside the camera view. Lower values provide higher quality reflections and shadows for off screen objects, while higher values use less memory
ExposureFLOAT10 – 1024Image brightness scale
Transparent GlassBOOLEANuit–Render transmissive surfaces as transparent, for compositing glass over another background
Transparent Roughness ThresholdFLOAT0.10 – 1For transparent transmission, keep surfaces with roughness above the threshold opaque
Filter TypeENUMBLACKMAN_HARRISBox, Gaussian, Blackman-HarrisPixel filter type
Filter WidthFLOAT1.50.01 – 10Pixel filter width
SeedINT00 – onbegrensdSeed value for integrator to get different noise patterns
Use Animated SeedBOOLEANuit–Use different seed values (and hence noise patterns) at different frames
Clamp DirectFLOAT00 – 100000000If non-zero, the maximum value for a direct sample, higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy
Clamp IndirectFLOAT100 – 100000000If non-zero, the maximum value for an indirect sample, higher values will be scaled down to avoid too much noise and slow convergence at the cost of accuracy
Viewport BVH TypeENUMDYNAMIC_BVHDynamic BVH, Static BVHChoose between faster updates, or faster render
Use Spatial SplitsBOOLEANuit–Use BVH spatial splits: longer builder time, faster render
Use Curves BVHBOOLEANaan–Use special type BVH optimized for curves (uses more ram but renders faster)
Use Compact BVHBOOLEANuit–Use compact BVH structure (uses less ram but renders slower)
BVH Time StepsINT00 – 16Split BVH primitives by this number of time steps to speed up render time in cost of memory
Bake TypeENUMCOMBINEDCombined, Ambient Occlusion, Shadow, Position, Normal, UV, Roughness, Emission, Environment, Diffuse, Glossy, TransmissionType of pass to bake
Use Camera CullBOOLEANuit–Allow objects to be culled based on the camera frustum
Camera Cull MarginFLOAT0.10 – 5Margin for the camera space culling
Use Distance CullBOOLEANuit–Allow objects to be culled based on the distance from camera
Cull DistanceFLOAT500 – onbegrensdCull objects which are further away from camera than this distance
Shutter TypeENUMNONENone, Top-BottomType of rolling shutter effect matching CMOS-based cameras
Rolling Shutter DurationFLOAT0.10 – 1Scanline "exposure" time for the rolling shutter effect
Viewport Texture LimitENUMOFFNo Limit, 128, 256, 512, 1024, 2048, 4096, 8192Limit texture size used by viewport rendering
Render Texture LimitENUMOFFNo Limit, 128, 256, 512, 1024, 2048, 4096, 8192Limit texture size used by final rendering
Fast GI ApproximationBOOLEANuit–Approximate diffuse indirect light with background tinted ambient occlusion. This provides fast alternative to full global illumination, for interactive viewport rendering or final renders with reduced quality
Fast GI MethodENUMREPLACEReplace, AddFast GI approximation method
AO BouncesINT10 – 1024After this number of light bounces, use approximate global illumination. 0 disables this feature
AO Bounces RenderINT10 – 1024After this number of light bounces, use approximate global illumination. 0 disables this feature
Auto TileBOOLEANaan–Deprecated, tiling is always enabled
Tile SizeINT20488 – 8192Render high resolution images in tiles of this size, to reduce memory usage. Tiles are cached to disk while rendering to save memory
AVX2BOOLEANaan–
SSE42BOOLEANaan–
BVH LayoutENUMEMBREEBVH2, Embree
Adaptive CompileBOOLEANuit–Compile the Cycles GPU kernel with only the feature set required for the current scene
OptiX Module DebugBOOLEANuit–Load OptiX module in debug mode: lower logging verbosity level, enable validations, and lower optimization level
Adaptive CompileBOOLEANuit–Compile the Cycles GPU kernel with only the feature set required for the current scene
Adaptive CompileBOOLEANuit–Compile the Cycles GPU kernel with only the feature set required for the current scene
Zelf doen · 101.7

Zelf proberen: samples en denoising afwegen

7/7

Open start_cycles_samples.blend: een scène met een glazen object en een glanzende vloer (ruisgevoelig). Zoek de laagste samplewaarde die met denoising nog een schoon resultaat geeft.

  1. 1Render op 32 samples zonder denoising, bekijk de ruis in de glazen randen.
  2. 2Zet Denoising aan (OpenImageDenoise) en render opnieuw op dezelfde 32 samples.
  3. 3Zet Adaptive Sampling aan met Noise Threshold 0.01, laat Samples oplopen tot 1024, en vergelijk rendertijd en resultaat.
  4. 4Noteer welke combinatie de beste verhouding tussen rendertijd en kwaliteit geeft voor deze scène.
Gelukt als…Een reeks renders waarmee je op gevoel leert inschatten hoeveel samples en welke denoiser een scène echt nodig heeft.
Sleep om rond te draaien
001
start_cycles_samples.blend
RuizigObject1 materialen482 vertices