ViewerGL Transparency Rendering: Sorted Blending vs Weighted OIT

Cross-system benchmark results plus orbiting visual comparisons for transparent cloth, robots, and repeated mesh-heavy scenes. The visual comparison viewer updates frame-by-frame with a mouse-draggable timeline.

Run date: June 30, 2026 Benchmark request: 1920 x 1080, 30 measured frames M1 framebuffer: 3840 x 2160, Retina 2x Orbit comparison: 960 x 540, 12 camera frames Opacity defaults: cloth 0.42, robot 0.34, benchmark 0.45

System Under Test

System GPU CPU RAM OS Driver Framebuffer Newton Warp Python
RTX 4090 desktop NVIDIA GeForce RTX 4090, 24 GiB Intel Core i9-12900K 64 GiB Windows 11 10.0.22635 595.79 1920 x 1080 1.4.0.dev0 1.14.0 3.12.3
MacBook Pro M1 Apple M1, 8-core integrated GPU Apple M1, 8 cores (4 performance, 4 efficiency) 8 GiB unified memory macOS 26.2 (25C56), arm64 OpenGL 4.1 Metal - 90.5 3840 x 2160 (1920 x 1080 request, Retina 2x) 1.4.0.dev0 1.14.0 3.12.12

Benchmark Summary

RTX 4090 desktop · 1920 x 1080

-0.9% cloth_shirt_4 OIT speedup. Sorted and OIT are effectively tied on this view.
+23.7% shape_cloud_240 OIT speedup over sorted blending.
+36.0% mesh_spheres_160 OIT speedup over sorted blending.
+34.9% bunny_meshes_24 OIT speedup over sorted blending.

MacBook Pro M1 · 3840 x 2160 Retina framebuffer

-16.2% cloth_shirt_4 OIT speedup. OIT takes 16.152 ms versus 13.541 ms sorted.
-21.7% shape_cloud_240 OIT speedup. OIT takes 12.519 ms versus 9.801 ms sorted.
-27.8% mesh_spheres_160 OIT speedup. OIT takes 12.313 ms versus 8.889 ms sorted.
-28.1% bunny_meshes_24 OIT speedup. OIT takes 11.386 ms versus 8.190 ms sorted.

Sorted blending draws transparent objects back-to-front and uses conventional alpha blending. Weighted OIT accumulates transparent fragments into order-independent buffers and resolves the result approximately. The OIT path avoids object-level ordering sensitivity, while visual differences remain scene-dependent.

Reading the results: OIT speedup is (sorted mean / OIT mean - 1) x 100, so negative values mean OIT is slower. The M1 requested a 1920 x 1080 window, but the native macOS Retina context produced a 3840 x 2160 backing framebuffer. It therefore shaded four times as many pixels as the RTX run; compare each system's sorted-versus-OIT behavior rather than treating the two systems as equal-resolution tests.

Frame Time Results

System Scene Geometry Sorted mean ms OIT mean ms OIT speedup Mean abs RGB RMS RGB Max abs RGB
RTX 4090 desktop cloth_shirt_4 4 transparent shirt cloth meshes, 50,944 cloth triangles 10.961 11.058 -0.9% 0.856 3.063 64
RTX 4090 desktop shape_cloud_240 240 transparent primitive shapes plus opaque ground 3.638 2.941 +23.7% 1.846 6.295 71
RTX 4090 desktop mesh_spheres_160 160 transparent generated sphere mesh instances 1.846 1.357 +36.0% 0.994 4.386 66
RTX 4090 desktop bunny_meshes_24 24 transparent bunny.usd mesh instances, 292,800 mesh triangles 2.002 1.484 +34.9% 0.360 3.112 93
MacBook Pro M1 cloth_shirt_4 4 transparent shirt cloth meshes, 50,944 cloth triangles 13.541 16.152 -16.2% 0.839 3.049 66
MacBook Pro M1 shape_cloud_240 240 transparent primitive shapes plus opaque ground 9.801 12.519 -21.7% 1.815 6.264 72
MacBook Pro M1 mesh_spheres_160 160 transparent generated sphere mesh instances 8.889 12.313 -27.8% 0.971 4.367 66
MacBook Pro M1 bunny_meshes_24 24 transparent bunny.usd mesh instances, 292,800 mesh triangles 8.190 11.386 -28.1% 0.356 3.101 98

Benchmark Screenshots (RTX 4090 desktop)

cloth_shirt_4 sorted and OIT comparison

cloth_shirt_4

Four transparent garment meshes from unisex_shirt.usd.

shape_cloud_240 sorted and OIT comparison

shape_cloud_240

Mixed primitive transparency stress test.

mesh_spheres_160 sorted and OIT comparison

mesh_spheres_160

Repeated transparent mesh spheres with opaque ground.

bunny_meshes_24 sorted and OIT comparison

bunny_meshes_24

Twenty-four transparent bunny.usd mesh instances.

Orbiting Visual Comparison

Orbit frame 1 / 12
Sorted transparency
Sorted transparency orbit frame
Weighted OIT
Weighted OIT orbit frame
Amplified absolute difference
Amplified difference orbit frame

Orbit Difference Metrics

System Scene Description Mean abs RGB RMS RGB Max abs RGB Contact sheet
RTX 4090 desktop franka_cloth Franka arm with transparent unisex_shirt.usd cloth 0.183 1.190 46 PNG
RTX 4090 desktop h1_cloth H1 robot with transparent Style3D jacket cloth 0.037 0.484 38 PNG
RTX 4090 desktop franka_robot Single transparent Franka arm 0.042 0.570 69 PNG
RTX 4090 desktop franka_robot_grid 3x3 grid of transparent Franka arms 0.082 0.844 63 PNG

Data sources: RTX 4090 benchmark/results.json and benchmark/summary.md; MacBook Pro M1 results.json, summary.md, and run-info.json; orbit summary.md. The difference images multiply absolute RGB differences to make subtle ordering/resolution differences visible.