Raytraced Turntable Animation?

I’m having trouble using the raytraced viewport and turntable animation together. Is there a way to get access to the settings for these two processes, where I could for instance limit the number of raytrace passes and also slow the turntable recording down?

Any advice would be appreciated.

-Seth

How do you create the turntable animation?

For passes you can set the rendering quality. Low = 50 passes, Draft = 200, Good = 500, Final = 2000 (currently).

/Nathan

Hi Nathan, thank you.

First to answer your question, I was using the SetTurntableAnimation command in Rhino, not currently using any external renderer or animation plugin.

Second, I’m still not very familiar with raytracing native to the Rhino WIP. Where do I access the settings for the rendering quality?

I wasn’t aware such a command existed :open_mouth: I’ll have to test it to see how it works with Raytraced.

You can use the quality section in the Rendering panel. Alternatively you can use the RhinoCycles_ChangeSamples command. Note that it needs an active viewport with Raytraced running.

1 Like

Hi Nathan,

That will freeze my Rhino:
run RhinoCycles_ChangeSamples and set it to 50.
Next if I go into the view and try to rotate it, Rhino freezes.
Anything I can test/ try to know what causes this?
Below my info:

RhinoCycles 6.0.16271.09201 @ C:\Program Files\Rhino WIP\Plug-ins\RhinoCycles.rhp
CCSycles 6.0.16271.09201 @ C:\Program Files\Rhino WIP\Plug-ins\csycles.dll


Command: RhinoCycles_ShowDeviceCapabilities
The following capabilities have been found by Cycles:
----------
CPU device capabilities: SSE2 SSE3 SSE41 AVX AVX2
OpenCL device capabilities:
Number of platforms: 2
Platform #0
	Platform Name: Intel(R) OpenCL
	Platform Vendor: Intel(R) Corporation
	Platform Version: OpenCL 1.2 
	Platform Profile: FULL_PROFILE
	Platform Extensions: cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
	Number of devices: 2
		Device: #0
			Device Name: Intel(R) HD Graphics 4600
			Device Vendor: Intel(R) Corporation
			Device OpenCL C Version: OpenCL C 1.2 
			Device Profile: FULL_PROFILE
			Device Version: OpenCL 1.2 
			Device Extensions: cl_intel_accelerator cl_intel_advanced_motion_estimation cl_intel_ctz cl_intel_d3d11_nv12_media_sharing cl_intel_dx9_media_sharing cl_intel_motion_estimation cl_intel_simultaneous_sharing cl_intel_subgroups cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir 
		Device: #1
			Device Name: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
			Device Vendor: Intel(R) Corporation
			Device OpenCL C Version: OpenCL C 1.2 
			Device Profile: FULL_PROFILE
			Device Version: OpenCL 1.2 (Build 148)
			Device Extensions: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64 cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing cl_khr_gl_sharing 
Platform #1
	Platform Name: AMD Accelerated Parallel Processing
	Platform Vendor: Advanced Micro Devices, Inc.
	Platform Version: OpenCL 2.0 AMD-APP (2079.4)
	Platform Profile: FULL_PROFILE
	Platform Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices 
	Number of devices: 2
		Device: #0
			Device Name: Pitcairn
			Device Vendor: Advanced Micro Devices, Inc.
			Device OpenCL C Version: OpenCL C 1.2 
			Device Profile: FULL_PROFILE
			Device Version: OpenCL 1.2 AMD-APP (2079.4)
			Device Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event 
		Device: #1
			Device Name: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
			Device Vendor: GenuineIntel
			Device OpenCL C Version: OpenCL C 1.2 
			Device Profile: FULL_PROFILE
			Device Version: OpenCL 1.2 AMD-APP (2079.4)
			Device Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_spir cl_khr_gl_event 
----------

-Willem

Currently, when recording the turntable animation with the raytraced viewport, there is only enough time with default settings to get between 2 and 16 passes per frame. If there were a way to lengthen the time between frames for recording the image it would be great.

Also, I experienced the same issue that Willem described above.

You are seeing https://mcneel.myjetbrains.com/youtrack/issue/RH-35713

I am working on fixing freezes with CPU rendering

1 Like

@rajaa The issue of turntable animation working with Raytraced display mode - and other realtime rendering modes, is something for you.

@seth Are you suggesting to add a user-defined option in the animation dialog for a capture delay between frames?

Yes, maybe so. It would help to have some control either of delay of capture to allow for more raytrace passes or have the capture be triggered when a predefined number of raytrace passes has been reached. I don’t know which is better from your point of view.

For a user, it probably would be most convenient to define a certain number of passes to be reached, though this might be too specific to Raytraced viewports only? I don’t know if some other realtime rendering mode might require something else?

@nathanletwory is there a way for me to detect that a raytrace image is completed, before capturing the next frame?

I made two hacks for this with Neon:
One was to make a viewcapture every x seconds and the other was to monitor the CPU usage and then do a viewcapture whenever the cpu was lower than say 70%. I presume it is possible to monitor just that one Rhino instance’s usage too.
Every x seconds worked fine with turntable animations, where the camera had a fixed distance to the object and most frames would take equally long to complete, but not so suited for walkthrough architecture stuff where rendertime until x passes would vary through out the animation. (the walkthrough was a custom camera to path script)

@rajaa, @andy, is there a way to sent custom events on document level? This would be one way to signal other commands/plug-ins when i.e. a real-time render has completed its passes in the viewport.

/Nathan