Anyone who has 3D-printed a lampshade knows the failure. The form looks right on screen, you print it in translucent filament, you put a bulb in it — and it has a hotspot where the bulb is close to the wall, dark patches where the geometry is thick, and visible layer lines where the light grazes.
The appearance of a translucent object lit from inside is a function of its wall thickness everywhere, and free-form geometry means that thickness is varying in ways you did not design.
Computational Design of Free-Form Lampshades, posted 5 October 2026 by H. Nakasuji, S. Yokota, Y. Ohtake and Y. Koyama (ACM SCF 2026), solves it properly.
The method
Two stages:
Initialisation — determine the number of lights and establish their preliminary positions, along with an initial cavity geometry.
Optimisation — gradient-based optimisation jointly refines the cavity geometry and the light positions via differentiable rendering, subject to geometric constraints.
The target is uniform luminance across the shade’s exterior.
Validated by fabricating five lampshade designs and confirming that the physical prototypes achieved reasonably uniform luminance.
And a preparation step that matters more than it sounds: calibrating the material parameters of the translucent shade material so the simulation agrees with what actually comes off the printer.
Why “jointly” is the whole contribution
You could optimise either variable alone and both approaches fail in predictable ways.
Fix the lights, optimise the geometry. You are now trying to compensate for a badly-placed bulb by thinning and thickening walls — which works until the required thickness goes below what you can print or above what fits inside the outer form. You will be asked to make a wall negative.
Fix the geometry, optimise the lights. You can only move a small number of point sources around inside a fixed cavity. The achievable illumination patterns are extremely limited, and for a genuinely free-form shade there may be no placement that works.
Jointly optimising both gives the solver a vastly larger feasible space, and — more importantly — it lets it find the cheap solution. Moving a light two centimetres may achieve what ten millimetres of wall-thickness variation could not. The two parameters trade against each other, and only a joint optimisation can discover the trade.
And the exterior form stays fixed, which is why the paper says cavity geometry. The outside of the shade is the designer’s; the inside is the optimiser’s. That is exactly the right division of labour: you keep the aesthetic decision, the algorithm handles the physics you cannot see.
Why differentiable rendering is the right tool
To optimise by gradient descent you need the derivative of the result with respect to the parameters — if I thicken this wall by 0.1mm, how does the brightness change?
Differentiable rendering provides that. Instead of a renderer that takes a scene and produces an image, you get one that also produces gradients of the image with respect to the scene. Which means standard optimisation machinery applies to a physical appearance goal.
The hard part for translucency specifically is that light inside a shade is doing subsurface scattering — entering the material, bouncing around inside it, and emerging somewhere else. That is not a surface shading problem, and making it differentiable is real work.
This is the second differentiable-rendering paper we have covered in two days, after Windfoil’s closed-form coverage for vector graphics — and the common thread is worth naming: differentiable rendering turns “make it look like this” into an optimisation problem. That is a general capability and it is arriving in a lot of places at once.
The material calibration is the part practitioners will care about most
Calibrating material parameters of the translucent shade material to improve alignment between simulations and actual fabricated results.
This is the step everyone skips and the reason most simulated-appearance fabrication disappoints.
A slicer and a renderer have no idea what your filament actually does. Translucent PLA from two manufacturers differs in scattering coefficient, absorption and colour. Print temperature changes crystallinity and therefore transmission. Layer height changes how much light leaks along the layer boundaries. Infill percentage is effectively a second, hidden thickness parameter.
So if you want a simulation to predict a print’s appearance, you have to measure your own material — print test swatches at known thicknesses, photograph them backlit under controlled conditions, and fit the scattering parameters.
That is an afternoon’s work and it is transferable: do it once per filament and keep the numbers. For anyone doing lit 3D prints, resin work, or light-diffusing enclosures, it is the difference between designing and guessing.
What to take from it
The cavity is a design surface. Most people model a lampshade as a shell with uniform thickness. Treating the inner surface as independently designable — and letting the exterior stay purely aesthetic — is a reframing you can apply by hand even without the optimiser.
Uniform is one goal among many. The paper optimises for uniformity because it is measurable and usually desirable. The same machinery optimises for a gradient, a pattern, a bright ring, or a specific projected caustic. Uniformity is the easy target, not the only one.
And calibrate your filament. Even without any of the rest of this.