Shader bench

Three frontier coding agents generating WGSL shaders from text prompts on 130 mathematical visualization problems (20 frontier, 10 reconstruction, 100 rest). Scored 0–100 across five categories by one or more LLM judges against the rendered image.

Model summary

Model Score Score excluding failures Render fails BestWorstDetail
Claude Opus 4.712%
Score (each render fail counts as 0)
235.2 / 500
Codex judge252.9 / 500· 117 scored
Claude judge236.3 / 500· 117 scored
Gemini judge294.8 / 500· 117 scored
Per-judge rows above are rendered-only. Top number averages over all 130 problems with 0 imputed for the 13 render fails.
Percentage = (score − 200) / 300. The judges floor around 200 even for unrecognizable images, so the interesting range is 200–500.
20%
Score excluding failures (rendered only)
261.3 / 500
Codex judge252.9 / 500· 117 scored
Claude judge236.3 / 500· 117 scored
Gemini judge294.8 / 500· 117 scored
Percentage = (score − 200) / 300. The judges floor around 200 even for unrecognizable images, so the interesting range is 200–500.
10%
Render fails
13 of 130 problems
A render fail = the WGSL shader the model produced did not compile or the shader_harness exited non-zero. These count as 0 in the “Score” column and are excluded from “Score excluding failures”.
epicycloids (476)epicycloidsmenger_cube_fractal (19)View detail report →
Gemini 3.1-pro-preview8%
Score (each render fail counts as 0)
224.0 / 500
Codex judge259.5 / 500· 111 scored
Claude judge221.0 / 500· 111 scored
Gemini judge306.6 / 500· 111 scored
Per-judge rows above are rendered-only. Top number averages over all 130 problems with 0 imputed for the 19 render fails.
Percentage = (score − 200) / 300. The judges floor around 200 even for unrecognizable images, so the interesting range is 200–500.
21%
Score excluding failures (rendered only)
262.4 / 500
Codex judge259.5 / 500· 111 scored
Claude judge221.0 / 500· 111 scored
Gemini judge306.6 / 500· 111 scored
Percentage = (score − 200) / 300. The judges floor around 200 even for unrecognizable images, so the interesting range is 200–500.
15%
Render fails
19 of 130 problems
A render fail = the WGSL shader the model produced did not compile or the shader_harness exited non-zero. These count as 0 in the “Score” column and are excluded from “Score excluding failures”.
epicycloids (473)epicycloidsmandelbulb_fractal (9)View detail report →
Codex GPT-5.5 high14%
Score (each render fail counts as 0)
242.2 / 500
Codex judge277.5 / 500· 122 scored
Claude judge219.5 / 500· 122 scored
Gemini judge277.6 / 500· 122 scored
Per-judge rows above are rendered-only. Top number averages over all 130 problems with 0 imputed for the 8 render fails.
Percentage = (score − 200) / 300. The judges floor around 200 even for unrecognizable images, so the interesting range is 200–500.
19%
Score excluding failures (rendered only)
258.1 / 500
Codex judge277.5 / 500· 122 scored
Claude judge219.5 / 500· 122 scored
Gemini judge277.6 / 500· 122 scored
Percentage = (score − 200) / 300. The judges floor around 200 even for unrecognizable images, so the interesting range is 200–500.
6%
Render fails
8 of 130 problems
A render fail = the WGSL shader the model produced did not compile or the shader_harness exited non-zero. These count as 0 in the “Score” column and are excluded from “Score excluding failures”.
five_pointed_star_polygon (466)five_pointed_star_polygonarchimedean_spiral_galaxy (14)View detail report →

Per-problem comparison

low mid high — click any cell to expand reference + rendered shaders + sub-scores. Problems are split into Frontier, Reconstruction, and Rest. Score is sum of 5 categories (max 500). Bar shows final score: (score − 200) / 300, clamped 0–100%.
ProblemClaude Opus 4.7Gemini 3.1-pro-previewCodex GPT-5.5 high
Frontier20 problems
braid_word_reduction_ribbonsFrontier
422 · 74% · 3j
render fail
274 · 25% · 3j
cellular_potts_tissue_foldingFrontier
404 · 68% · 3j
80 · 0% · 3j
325 · 42% · 3j
coxeter_reflection_kaleidoscopeFrontier
422 · 74% · 3j
23 · 0% · 3j
22 · 0% · 3j
crystal_dislocation_networkFrontier
431 · 77% · 3j
365 · 55% · 3j
276 · 25% · 3j
differentiable_rendering_ambiguity_landscapeFrontier
60 · 0% · 3j
333 · 44% · 3j
250 · 17% · 3j
earthquake_fault_slip_wavefrontsFrontier
193 · 0% · 3j
368 · 56% · 3j
382 · 61% · 3j
error_correcting_code_decoding_landscapeFrontier
423 · 74% · 3j
355 · 52% · 3j
341 · 47% · 3j
fractal_drum_eigenfunctionsFrontier
392 · 64% · 3j
296 · 32% · 3j
render fail
mean_curvature_flow_surgeryFrontier
98 · 0% · 3j
412 · 71% · 3j
257 · 19% · 3j
minimal_surface_knot_boundariesFrontier
46 · 0% · 3j
163 · 0% · 3j
231 · 10% · 3j
navier_stokes_vortex_reconnectionFrontierrender fail
41 · 0% · 3j
364 · 55% · 3j
ocean_eddy_lcsFrontier
376 · 59% · 3j
409 · 70% · 3j
351 · 50% · 3j
optimal_transport_mass_flow_tubesFrontier
58 · 0% · 3j
53 · 0% · 3j
339 · 46% · 3j
polyrhythm_phase_torusFrontier
393 · 64% · 3j
292 · 31% · 3j
426 · 75% · 3j
protein_folding_energy_landscapeFrontier
160 · 0% · 3j
269 · 23% · 3j
328 · 43% · 3j
qec_threshold_phase_diagramFrontier
361 · 54% · 3j
render fail
426 · 75% · 3j
reaction_diffusion_nonorientable_surfacesFrontier
224 · 8% · 3j
310 · 37% · 3j
318 · 39% · 3j
riemann_surface_covering_sheetsFrontier
391 · 64% · 3j
render fail
210 · 3% · 3j
spinodal_decomposition_3dFrontier
404 · 68% · 3j
298 · 33% · 3j
314 · 38% · 3j
topological_quantum_code_defect_braidingFrontier
332 · 44% · 3j
366 · 55% · 3j
357 · 52% · 3j
Reconstruction10 problems
reproduce_imageReconstruction
273 · 24% · 3j
render fail
266 · 22% · 3j
reproduce_image_andrew_ponsReconstructionrender failrender fail
225 · 8% · 3j
reproduce_image_fabrice_villardReconstruction
254 · 18% · 3j
91 · 0% · 3j
136 · 0% · 3j
reproduce_image_jason_leungReconstruction
137 · 0% · 3j
225 · 8% · 3j
181 · 0% · 3j
reproduce_image_javier_penasReconstructionrender fail
194 · 0% · 3j
199 · 0% · 3j
reproduce_image_mark_basarabReconstruction
214 · 5% · 3j
219 · 6% · 3j
144 · 0% · 3j
reproduce_image_photoholgicReconstruction
184 · 0% · 3j
284 · 28% · 3j
259 · 20% · 3j
reproduce_image_rayulReconstruction
306 · 35% · 3j
295 · 32% · 3j
render fail
reproduce_image_sebastien_gabrielReconstructionrender failrender fail
245 · 15% · 3j
reproduce_image_tim_stiefReconstructionrender fail
204 · 1% · 3j
163 · 0% · 3j
Rest100 problems
ackermann_function_growthNumber Theory & Algebra
242 · 14% · 3j
203 · 1% · 3j
269 · 23% · 3j
al_khwarizmi_geometric_algebraHistorical Mathematics
172 · 0% · 3j
33 · 0% · 3j
137 · 0% · 3j
apollonian_gasketFractals & Recursion
158 · 0% · 3j
250 · 17% · 3j
115 · 0% · 3j
apollonius_conic_sectionsHistorical Mathematicsrender fail
295 · 32% · 3j
390 · 63% · 3j
archimedean_spiral_galaxyParametric Curves & Spirals
335 · 45% · 3j
418 · 73% · 3j
14 · 0% · 3j
archimedes_spiralParametric Curves & Spirals
127 · 0% · 3j
28 · 0% · 3j
211 · 4% · 3j
barbell_dumbbell_shapeClassical Geometry
216 · 5% · 3j
render fail
286 · 29% · 3j
binary_tree_fractalFractals & Recursion
131 · 0% · 3j
179 · 0% · 3j
114 · 0% · 3j
brahmagupta_cyclic_quadrilateralsHistorical Mathematics
370 · 57% · 3j
348 · 49% · 3j
168 · 0% · 3j
braided_ropeTopology & Knot Theory
323 · 41% · 3j
399 · 66% · 3j
450 · 83% · 3j
butterfly_curveParametric Curves & Spirals
289 · 30% · 3j
172 · 0% · 3j
213 · 4% · 3j
calabi_yau_manifoldDifferential Geometry
33 · 0% · 3j
291 · 30% · 3j
render fail
capsule_shapeClassical Geometry
273 · 24% · 3j
332 · 44% · 3j
376 · 59% · 3j
cardioid_limacon_collectionParametric Curves & Spirals
425 · 75% · 3j
400 · 67% · 3j
418 · 73% · 3j
catenoid_helicoid_minimalDifferential Geometry
376 · 59% · 3j
render fail
73 · 0% · 3j
chinese_remainder_sunziHistorical Mathematics
238 · 13% · 3j
119 · 0% · 3j
162 · 0% · 3j
chinese_remainder_theoremHistorical Mathematics
328 · 43% · 3j
11 · 0% · 3j
render fail
chladni_patternsPhysics & Simulations
361 · 54% · 3j
render fail
398 · 66% · 3j
complex_analysis_stained_glassComplex Analysis & Visualization
216 · 5% · 3j
100 · 0% · 3j
312 · 37% · 3j
compound_polyhedra_stella_octangulaClassical Geometry
319 · 40% · 3j
282 · 27% · 3j
390 · 63% · 3j
conformal_spiral_mappingAdvanced Topology
306 · 35% · 3j
298 · 33% · 3j
304 · 35% · 3j
costa_minimal_surfaceDifferential Geometryrender fail
21 · 0% · 3j
112 · 0% · 3j
crystal_lattice_diffractionDeformations & Transformations
430 · 77% · 3j
387 · 62% · 3j
312 · 37% · 3j
cycloid_wave_patternsParametric Curves & Spirals
418 · 73% · 3j
435 · 78% · 3j
417 · 72% · 3j
cylindrical_bend_deformationDeformations & Transformations
82 · 0% · 3j
353 · 51% · 3j
395 · 65% · 3j
differential_equations_waterCross-Disciplinary
65 · 0% · 3j
100 · 0% · 3j
137 · 0% · 3j
dna_double_helixTopology & Knot Theory
284 · 28% · 3j
render fail
269 · 23% · 3j
epicycloidsParametric Curves & Spirals
476 · 92% · 3j
473 · 91% · 3j
249 · 16% · 3j
euler_polyhedron_formulaHistorical Mathematics
309 · 36% · 3j
37 · 0% · 3j
103 · 0% · 3j
euler_polyhedron_platonicHistorical Mathematicsrender fail
51 · 0% · 3j
render fail
fermat_parabolic_spiralParametric Curves & Spirals
382 · 61% · 3j
356 · 52% · 3j
381 · 60% · 3j
five_pointed_star_polygonClassical Geometry
425 · 75% · 3j
465 · 88% · 3j
466 · 89% · 3j
fourier_architectural_blueprintCross-Disciplinary
218 · 6% · 3j
291 · 30% · 3j
199 · 0% · 3j
fourier_epicycles_drawingCross-Disciplinary
391 · 64% · 3j
388 · 63% · 3j
402 · 67% · 3j
fractal_loxodromic_patternsCross-Disciplinary
67 · 0% · 3j
275 · 25% · 3j
133 · 0% · 3j
fractal_tree_2dFractals & Recursion
388 · 63% · 3j
389 · 63% · 3j
389 · 63% · 3j
gauss_complex_planeHistorical Mathematics
389 · 63% · 3j
render fail
329 · 43% · 3j
geometric_cubeClassical Geometry
45 · 0% · 3j
444 · 81% · 3j
233 · 11% · 3j
glass_sphere_red_corePhysics & Simulations
203 · 1% · 3j
225 · 8% · 3j
181 · 0% · 3j
group_theory_kaleidoscopeNumber Theory & Algebra
304 · 35% · 3j
288 · 29% · 3j
188 · 0% · 3j
gyroscopic_nested_ringsTopology & Knot Theory
416 · 72% · 3j
414 · 71% · 3j
383 · 61% · 3j
helical_twist_deformationDeformations & Transformationsrender fail
221 · 7% · 3j
124 · 0% · 3j
helical_twisted_cube_advancedTopology & Knot Theory
56 · 0% · 3j
226 · 9% · 3j
265 · 22% · 3j
holographic_interferenceComplex Analysis & Visualization
264 · 21% · 3j
298 · 33% · 3j
322 · 41% · 3j
hopf_fibration_base_loopsDifferential Geometry
210 · 3% · 3j
14 · 0% · 3j
327 · 42% · 3j
hyper_menger_cube_3sphereFractals & Recursion
141 · 0% · 3j
74 · 0% · 3j
85 · 0% · 3j
hyperbolic_heat_kernelCross-Disciplinary
296 · 32% · 3j
371 · 57% · 3j
382 · 61% · 3j
icosahedron_wireframeClassical Geometry
46 · 0% · 3j
render fail
35 · 0% · 3j
klein_bottleDifferential Geometry
47 · 0% · 3j
277 · 26% · 3j
154 · 0% · 3j
lissajous_curve_gardenParametric Curves & Spirals
160 · 0% · 3j
204 · 1% · 3j
195 · 0% · 3j
logarithmic_spiral_motionParametric Curves & Spirals
163 · 0% · 3j
57 · 0% · 3j
353 · 51% · 3j
lorenz_attractor_poincarePhysics & Simulations
38 · 0% · 3j
291 · 30% · 3j
312 · 37% · 3j
loxodromic_sphere_spiralsPhysics & Simulations
34 · 0% · 3j
288 · 29% · 3j
271 · 24% · 3j
mandala_circlesFractals & Recursion
426 · 75% · 3j
449 · 83% · 3j
444 · 81% · 3j
mandelbulb_fractalDeformations & Transformations
31 · 0% · 3j
9 · 0% · 3j
31 · 0% · 3j
menger_cube_fractalFractals & Recursion
19 · 0% · 3j
213 · 4% · 3j
195 · 0% · 3j
menger_sponge_fractalFractals & Recursion
35 · 0% · 3j
29 · 0% · 3j
54 · 0% · 3j
mobius_strip_half_twistDifferential Geometry
361 · 54% · 3j
358 · 53% · 3j
31 · 0% · 3j
mobius_strip_triple_twistDifferential Geometry
411 · 70% · 3j
403 · 68% · 3j
290 · 30% · 3j
mobius_transformation_3dAdvanced Topology
27 · 0% · 3j
244 · 15% · 3j
42 · 0% · 3j
number_theory_musicCross-Disciplinary
46 · 0% · 3j
124 · 0% · 3j
render fail
octagram_star_polygonCross-Disciplinary
377 · 59% · 3j
393 · 64% · 3j
218 · 6% · 3j
parametric_gear_trainDeformations & Transformations
375 · 58% · 3j
render fail
358 · 53% · 3j
parametric_seashellParametric Curves & Spirals
340 · 47% · 3j
140 · 0% · 3j
261 · 20% · 3j
penrose_tiling_p3Advanced Topology
320 · 40% · 3j
128 · 0% · 3j
98 · 0% · 3j
phyllotaxis_spiralFractals & Recursion
54 · 0% · 3j
399 · 66% · 3j
49 · 0% · 3j
poincare_discAdvanced Topology
472 · 91% · 3j
419 · 73% · 3j
405 · 68% · 3j
prime_crystal_latticeNumber Theory & Algebra
324 · 41% · 3j
render fail
266 · 22% · 3j
probability_weather_patternsCross-Disciplinary
137 · 0% · 3j
150 · 0% · 3j
173 · 0% · 3j
quantum_probability_wavesComplex Analysis & Visualization
384 · 61% · 3j
268 · 23% · 3j
231 · 10% · 3j
ramanujan_mock_thetaComplex Analysis & Visualization
312 · 37% · 3j
339 · 46% · 3j
263 · 21% · 3j
reaction_diffusion_patternsPhysics & Simulations
83 · 0% · 3j
137 · 0% · 3j
124 · 0% · 3j
regular_dodecahedronClassical Geometry
421 · 74% · 3j
423 · 74% · 3j
446 · 82% · 3j
regular_icosahedronClassical Geometry
459 · 86% · 3j
406 · 69% · 3j
462 · 87% · 3j
regular_octahedronClassical Geometry
456 · 85% · 3j
451 · 84% · 3j
458 · 86% · 3j
regular_tetrahedronClassical Geometry
59 · 0% · 3j
269 · 23% · 3j
75 · 0% · 3j
riemann_surface_branch_cutsHistorical Mathematics
364 · 55% · 3j
261 · 20% · 3j
94 · 0% · 3j
riemann_zeta_zerosComplex Analysis & Visualizationrender failrender fail
170 · 0% · 3j
rose_curvesParametric Curves & Spirals
414 · 71% · 3j
416 · 72% · 3j
466 · 89% · 3j
rotating_hypercube_projectionAdvanced Topology
308 · 36% · 3j
290 · 30% · 3j
236 · 12% · 3j
rounded_boxClassical Geometry
147 · 0% · 3j
435 · 78% · 3j
435 · 78% · 3j
schwarzschild_black_holePhysics & Simulations
324 · 41% · 3j
177 · 0% · 3j
391 · 64% · 3j
sierpinski_tetrahedronFractals & Recursion
186 · 0% · 3j
292 · 31% · 3j
258 · 19% · 3j
sierpinski_triangle_6_iterationsFractals & Recursion
462 · 87% · 3j
358 · 53% · 3j
95 · 0% · 3j
spherical_inversion_mappingAdvanced Topology
30 · 0% · 3j
154 · 0% · 3j
287 · 29% · 3j
spinning_gear_assemblyTopology & Knot Theory
415 · 72% · 3j
384 · 61% · 3j
336 · 45% · 3j
spinning_vortex_funnelPhysics & Simulations
56 · 0% · 3j
259 · 20% · 3j
91 · 0% · 3j
spiral_staircase_towerTopology & Knot Theoryrender fail
182 · 0% · 3j
render fail
stella_octangulaClassical Geometry
466 · 89% · 3j
render fail
427 · 76% · 3j
superformula_explorerParametric Curves & Spirals
385 · 62% · 3j
396 · 65% · 3j
66 · 0% · 3j
taper_shear_transformationDeformations & Transformationsrender failrender fail
163 · 0% · 3j
topology_fabric_textureCross-Disciplinary
40 · 0% · 3j
294 · 31% · 3j
149 · 0% · 3j
torus_donut_parametricClassical Geometryrender fail
44 · 0% · 3j
407 · 69% · 3j
trefoil_alexander_polynomialCross-Disciplinary
276 · 25% · 3j
304 · 35% · 3j
render fail
trigonometric_mandalasDeformations & Transformations
417 · 72% · 3j
381 · 60% · 3j
396 · 65% · 3j
truncated_icosahedronClassical Geometry
250 · 17% · 3j
257 · 19% · 3j
430 · 77% · 3j
twisted_stellated_polyhedronAdvanced Topology
264 · 21% · 3j
render fail
180 · 0% · 3j
voronoi_diagramDeformations & Transformations
442 · 81% · 3j
render fail
458 · 86% · 3j
wave_deformation_fieldPhysics & Simulations
104 · 0% · 3j
391 · 64% · 3j
86 · 0% · 3j
weierstrass_functionComplex Analysis & Visualization
348 · 49% · 3j
284 · 28% · 3j
378 · 59% · 3j