Rhino 8 - Viewport Capture to File Issues List

Hello All,

System Info

Rhino 8 SR0 2023-9-21 (Rhino 8 BETA, 8.0.23264.09003, Git hash:master @ 21cfac7facee88887c236fb2596b9089e3ad69b0)
License type: Commercial, build 2023-09-21
License details: Cloud Zoo
Expires on: 2023-11-05

Windows 11 (10.0.22621 SR0.0) or greater (Physical RAM: 1.3e+02Gb)
.NET Framework 4.8.9181.0

Computer platform: DESKTOP

Hybrid graphics configuration.
Primary display: NVIDIA Quadro RTX 4000 (NVidia) Memory: 8GB, Driver date: 9-12-2023 (M-D-Y).
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port 0
- Secondary monitor attached to adapter port 1
Primary OpenGL: NVIDIA A40 (NVidia) Memory: 48GB, Driver date: 9-12-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 537.42
> Accelerated graphics device with 4 adapter port(s)
- There are no monitors attached to this device!

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 9-12-2023
Driver Version: 31.0.15.3742
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 49140 MB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8 WIP\Plug-ins\Commands.rhp “Commands” 8.0.23264.9003
C:\Program Files\Rhino 8 WIP\Plug-ins\WebBrowser.rhp “WebBrowser”
C:\Program Files\Rhino 8 WIP\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoScript.rhp “RhinoScript”
C:\Program Files\Rhino 8 WIP\Plug-ins\IdleProcessor.rhp “IdleProcessor”
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.0.23264.9003
C:\Program Files\Rhino 8 WIP\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.0.23264.9003
C:\Users\tayO\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\PanelingTools\2021.3.2.446\PanelingTools.rhp “PanelingTools”
C:\Program Files\Rhino 8 WIP\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8 WIP\Plug-ins\MeshCommands.rhp “MeshCommands” 8.0.23264.9003
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.0.23264.9003
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoCode\RhinoCodePlugin.rhp “RhinoCodePlugin” 8.0.23264.9003
C:\Program Files\Rhino 8 WIP\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.0.23264.9003
C:\Program Files\Rhino 8 WIP\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8 WIP\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8 WIP\Plug-ins\SectionTools.rhp “SectionTools”

I find the command “'_ViewCaptureToFile” is utterly useless for V8, this can be amplified by adding 2x or 3x resolution scaling to the capture settings, examples below are between viewport screencaps and '_ViewCaptureToFile exports.

Note: I have the model placed at World’s Origin and I’m running it on Nvidia A40 GPU with 48GB of VRAM

1- Shaded mode



a) screenshot

b) Viewport Captures.

2- Ghosted


a) screenshot

b) Viewport Captures

3- Pen


a) screenshot

b) Viewport Captures.

1 Like

Also, on the Mac side ViewCaptureToFile still only produces .png, even when output type .jpg is selected.

1 Like

Another Issue is the rendering of Ambient Shadows especially with custom viewports that combines outlines with Shadows, here is an example of Monochrome Display Mode

  1. Screenshot


2) Capture Viewports

I agree ViewCaptureToFile has problems. Also the available options are not equally available when used via dialog box and command line. I made a post about this here:

1 Like

Another determental setting is the Camera Based Clipping bubble seems to contribute to this issue (especially with the views that contains Ambient Occlusion)
Screencap_2.V8

This is likely a dialogbox that reads the current loaded viewports and do the below:
1- SetRedrawOff
2- Switch to the selected viewport.
3- Capture it.
4- SetRedrawOn

I closed all the open viewports and I left only with my active viewport as an option.
Screencap_2.V8

1 Like

I would prefer it to be independent from the viewports. Have it create the desired view without actually displaying it. Like I mentioned in the linked post. Though I guess this might be a pretty big change to how it works internally.

1 Like

To isolate the issues I’m seeing,
The First issue is related to Print Width of the objects. It seems that the ViewCaptureToFile, unexpectedly thickens the lines in proportion to their print width, this behavior is not expected especially when I have the print preview off, and even when it is turned on it doesn’t match the desired display output.
Test.3dm (115.3 KB)

The Second Issue
Shadows in certain viewports, are completely ignored when the viewport is captured with x2 or x3 scale, likely this is caused by a memory limit or something:

Tested on Default Monochrome settings.

and this time, it crashed Rhino:
image

Third Issue

There is a sort of “Bucketing” that happens occasionally. I mostly encountered that with grasshopper objects.

A related post can be found here:
Rhino BETA - View Capture issue with grasshopper objects - Serengeti (Rhino 8 BETA) - McNeel Forum


Here is one scenario that combines all the results above.


Expected Results

ViewCaptureToFile 3x output

I’m attaching the file alongside the display model
Pender.ini (14.1 KB)
Test.3dm (711.7 KB)

Have the same problem with bucketing/tiling while using ViewCaptureToFile with a resolution 3x higher than screen resolution, reported here: Tiling bug using ViewCaptureToFile with parallel lines shading - #2 by lemberski

1 Like

Can confirm Rhino 8 beta “out of memory” crashes (exactly the same message as your screenshot) while trying to use ViewCaptureToFile.

Yes, here is it on a video:

and here is the crash report txt

[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidCastException: Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Web.WebView2.Core.Raw.ICoreWebView2Controller'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{4D00C0D1-9434-4EB6-8078-8697A560334F}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
   at System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, IntPtr& ppTarget, Boolean& pfNeedsRelease)
   at Microsoft.Web.WebView2.Core.Raw.ICoreWebView2Controller.get_CoreWebView2()
   at Microsoft.Web.WebView2.Core.CoreWebView2Controller.get_CoreWebView2()
   at Microsoft.Web.WebView2.Wpf.WebView2.Uninitialize(Boolean browserCrashed)
   at Microsoft.Web.WebView2.Wpf.WebView2.Dispose(Boolean disposing)
   at System.Windows.Interop.HwndHost.Finalize()
[END ERROR]

this is unfortunate that I didn’t see your thread over there, maybe I didn’t use the right pormpts in my search to get the relevant topic which was yours.
I notice this issue happening frequently and my concern that these undesirable behaviors are lingering in V8 while working completely fine in V7.

Testing your file:


Viewport Screenshot

**Output from ViewCaptureToFile

Could you please also try a 3x resolution in ViewCaptureToFile?

yes these are 3x Captures

When I hover over the images it shows 1527x953 for the “viewport screenshot” and 1404x950 for the “ViewCaptureToFile” image. After clicking on the “**Output from ViewCaptureToFile” image and then the blue"original image" icon with text at the bottom I get a downscaled 1404x950 version and not the original image. Strange.