Light
Held still
Material
as a surface
makes no light of its own. It studies how light falls on machines, materials and rooms — and holds it still long enough to be read.
Each frame begins as a question about a surface — how it reflects, how it ages, what the light leaves behind. The answer is rendered, photographed or set in motion, then catalogued.
works on the line where light meets shadow. Machines, materials and rooms — rendered, photographed and set in motion, then held still long enough to be read.
light – material – space
Selected work
View all work
Work
Selected projects in 3D, motion, photography and brand — each with its own notes on how it was made.
[ All ]
3D
Photo
Brand
Clichés — OG40
Procedural rendering
01 · 3D, Motion · 2026
Lunar Desk
Product stills
02 · Photo · 2026
Archive
Everything, 2021 — 2026
Project
Type
Discipline
Client
Year
Clichés — OG40
Procedural rendering
3D, Motion
Clichés
2026
Lunar Desk
Product stills
Photo
Self-initiated
2026
Glass & Morning
Material study
3D
Self-initiated
2026
Moss
CGI series
3D
Self-initiated
2026
Nib
Launch film
Motion
Client name
2025
Brew Ritual
Packaging & stills
Brand, Photo
Client name
2025
Cabin
Environment
3D
Self-initiated
2025
Relief
Identity system
Brand
Client name
2025
Turntable
Scale model film
Motion
Client name
2025
Amber Bottle
Still life
Photo
Client name
2024
Ring
Jewellery stills
Photo
Client name
2024
Dusk
Title sequence
Motion
Client name
2024
Plinths
Exhibition renders
3D
Client name
2024
Lavender
Keyboard campaign
Photo, 3D
Client name
2024
Strap
Product film
Motion
Client name
2023
Paper Moon
Self-identity
Brand
Bitter Moon
2023
Frost
Material study
3D
Self-initiated
2022
First Light
Showreel
Motion
Self-initiated
2021
Journal — Interior
A precise, restrained loft in Chelsea
Words by Laurine Abrieu · Photography by Marco Galloway
J—012.01
Living room, west light
17.03.2024 · 8 min read
A new duplex above the High Line, given a character it never had — mahogany, rounded joinery and very few, very good things.
J—012.02
Living area — USM storage
The brief
The clients, a couple with a child, chose a new duplex in Chelsea for its view over the High Line. Apart from the bathrooms, it was well finished but generic — the job was to give it a personality.
The clients
Their roots run from Lima to Tel Aviv, with family in London, Miami and Madrid; he makes minimal leather goods, she works in the arts. The studio designed around that international, understated sensibility.
J—012.04
Hallway, mahogany frame
J—012.03
Dining corner, 1970s pine chair
Chris Hudik : Nos clients, un couple avec un enfant, ont choisi cet appartement pour son emplacement idyllique au centre de Manhattan, dans le quartier de Chelsea et avec vue sur la Highline. Il s’agissait d’un duplex neuf mais finalement plutôt banal. Malgré les jolies finitions dans les salles de bains, le reste de l’appartement était assez standard et manquait de personnalité. Lorsque je regarde le résultat final, notamment le corridor d’entrée tout en acajou, les encadrements de porte en bois courbé et la cuisine en marbre etacier inoxydable, j’aime imaginer qu’il s’agit de l’appartement d’une famille d’Ewoks (Star Wars), si ceux-ci avaient vécu en paix pendant des millénaires, et qu’ils avaient développé au fil du temps une esthétique simple et raffinée, inspirée de leurs interactions avec l’espèce humaine.
Pouvez-vous décrire le projet ? Quel était le cahier des charges ?
J—012.05
Kitchen — Tekio pendant, steel, Paonazzo marble
J—012.06
Kitchen, detail
Approach and materials
Mahogany for all the joinery, set against the existing white oak floor. Generous, rounded forms run through the joinery and the kitchen, drawn from the supergraphics of the 1960s and 70s.
J—012.07
USM desk
J—012.08
German stoneware vases
Philosophy
Listen, learn, look.
Signature
None, by design. They describe the studio as a conduit where place, client, era and intent overlap.
Inspiration
Wood, moss, concrete and the organic patterns found on a walk — and the controlled calm of certain interiors.
J—012.10
Armchairs, David Weeks for USM
J—012.09
Living room, window
What comes next
A maximalist collaboration in Canada with Shim-Sutcliffe, a barbecue tavern in a North Carolina log cabin, a stone farm estate in New York State — and a new studio in a historic building in Hudson.
J—012.11
Kitchen, marble wall
J—012.12
Portrait in the kitchen
Credits
Words
Laurine Abrieu
Photography
Marco Galloway
Styling
Anna Caradeuc
Original article
MilK Decoration — French
Journal
Layout test only · condensed English paraphrase
Next entry
A house on Hydra
(2024)
Read
Journal
Long-form notes on how the work is made — a light set-up, a material, a problem solved. Written between projects, read at leisure.
[ Now ]ProcessLabDone
Journal — Rendering process
Title of the entry
17.03.2024 · 8 min read
A short excerpt — two or three lines that say what the entry is about and why it is worth reading. The image stays small; the words lead.
Read entry
All entries
17.03.2024 · 8 min read
Title of the entry
Process
17.03.2024 · 8 min read
Title of the entry
Lab
17.03.2024 · 8 min read
Title of the entry
Done
17.03.2024 · 8 min read
Title of the entry
Process
17.03.2024 · 8 min read
Title of the entry
Done
17.03.2024 · 8 min read
Title of the entry
Lab
OG40.01
Clichés-OG40 — key visual
Journal — Rendering process
Procedural keycaps
Clichés-OG40 (2025)
Project
Clichés-OG40
Client
Cosmos Design
Role
Rendering
Software
Cinema 4D 2024.2 · Octane 2023.1
Year
2025
A procedural way to render keycaps — so every cap in a row can carry its own legend, texture and small irregularity, and still hold up in a close-up.
Between projects I made a set of renders for Clichés-OG40, the first keyboard from the new studio Cosmos Design. This entry shares the procedural thinking behind them. Other software and renderers use different controls, but the logic carries over.
The node tree below is for one row of caps — the Z row — split into the four areas that follow.
OG40.02
Keycap material — node overview, Z row
01
Character masks for cloned instances
The caps in a row are clones built from render instances, which keeps the scene light for both caps and switches. All legends live in one 13,000 × 1,000 px greyscale PSD — thirteen 1,000 px tiles that stay easy to edit.
A Distorted Mesh UV texture projection reads the instance ID. With Instance Range set to a maximum of 13, and UVW Transform to S.X 13 and T.X −7, the first clone reads the first tile and each next clone shifts one tile to the right.
Saving resources is only a side effect. The real point is what this enables in step 03: randomising every single cap.
OG40.04
Distorted Mesh UV texture projection
OG40.05
Instance Range and UVW Transform
02
Sub-surface scattering
Adding sub-surface scattering makes the plastic read as translucent rather than painted. The difference is strongest in backlight — less obvious from this camera angle.
OG40.06
Alpha caps — with SSS
OG40.07
Alpha caps — without SSS
03
Randomness with OSL
Distorted Mesh UV only works with the default mesh UV projection. An OSL projection — Triplanar Rnd UVs by Raphael Rau — removes that limit: give offset and rotation a range, then let a random value or a map move each cap within it. Every clone in the group now carries its own variation.
With procedural textures, a close-up no longer falls apart, so keycap designers and renderers can push an idea further.
OG40.08
Standard DCS caps — triplanar projection
OG40.09
Randomised within Mesh UV
OG40.10
Q and A rows — close-up test
OG40.11
Z row — procedural metal test
04
Vertex maps for mixed finishes
A vertex map splits the base cap into two zones: a heavily textured top and a smoother side. Used as a greyscale mask between two texture maps, it gives the DCS profile the coarse top and smooth wall of the real part.
OG40.12
Vertex map — blue: coarse top, pink: smooth side
Afterword
This is a way of thinking, not a finished keycap design, and it has gaps: there is no internal cap structure, so the surface reads as dye-sub; the texture and legend accuracy are not yet true to the real part.
If it helps one keycap designer try a new material or process without being held back by rendering, it was worth writing. Every render here was made — and this entry written — on a 40% keyboard.
Clichés-OG40 — IC renders
OG40.14
Main B
OG40.15
Top view
OG40.16
Top view B
OG40.17
Weight
OG40.18
Weight — top view
OG40.19
Environment
OG40.20
Bottom view
OG40.21
Cherry lip
Credits
Keyboard kit model
Cosmos Design
DCS keycap models
Keyboard Render Kit by ImpefectLink
CHE keycaps
Bitter Moon
OSL projection
Triplanar Rnd UVs 1.6 — Raphael Rau
Colourway
Bitter Moon
Switch colours
After Sensy “+”
Next entry
Desk Signals
(2026)
Read entry
Wander
Behind the scenes, unused frames, everyday light
Notes from between projects — set-ups, tests, frames that did not make the cut, and things seen on the way. Unedited, in order.
[ All ]
Behind the scenes
Unused
Everyday
64 frames · 2025 — 2026
Plinths, before the light went in
W—064 · 24.10.2026 · Behind the scenes
Node tree, 2 a.m.
W—063 · 22.10.2026 · Behind the scenes
Sphere, frosted — test 3
W—062 · 20.10.2026 · Unused
Dusk, from the ferry
W—061 · 17.10.2026 · Everyday
Keyboard on a book, window light
W—060 · 15.10.2026 · Everyday
OG40 — environment pass, never used
W—059 · 11.10.2026 · Unused
Moss, macro
W—058 · 08.10.2026 · Everyday
Alpha caps, SSS on
W—057 · 05.10.2026 · Behind the scenes
Bubble, iridescent — rejected
W—056 · 02.10.2026 · Unused
Desk, Tuesday
W—055 · 28.09.2026 · Everyday
Brew, teal filter
W—054 · 25.09.2026 · Everyday
Scale model on the turntable
W—053 · 21.09.2026 · Behind the scenes
Orange strap, close
W—052 · 19.09.2026 · Unused
Nib — first material pass
W—051 · 14.09.2026 · Behind the scenes
Glass cube, morning
W—050 · 10.09.2026 · Everyday
OG40 — bottom view, alternate light
W—049 · 06.09.2026 · Unused
Brass weight, top light
W—048 · 02.09.2026 · Behind the scenes
Showing 17 of 64
Load more
Bitter Moon is the name the work goes by — a quiet practice for objects, light and motion.
Not a person, a phase. It waxes with each project and wanes between them; what stays constant is the attention.
Languages
Cinema 4D, Redshift, Houdini, After Effects, Capture One
Tools
Asia — working worldwide, GMT+8
Based
2021
Since
3D · Motion · Photo · Brand
Practice
English · Chinese
[ About ]
Bitter Moon makes images for brands that would rather be felt than shouted — products rendered until they feel touchable, films that move only as much as they need to, photographs that keep the grain of real light.
Most projects begin with an object: a keyboard, a bottle, a ring. It is built again from nothing in 3D, lit as if it were in the room, and the camera is told frame by frame what to notice. Some of it ends as stills, some as motion, some as an identity that holds the rest together.
The studio is deliberately small. Every project is designed, rendered and finished by the same hands, with trusted collaborators brought in for sound, code or print when a project asks for them. That keeps the work consistent — and the conversation direct.
Phases
What Bitter Moon does, in four phases
01 · New moon
Brand
Where it starts — a name, a mark, a voice.
Identity systems
Art direction
Packaging
Guidelines
02 · First quarter
3D
Objects and spaces built from nothing.
Product CGI
Material & procedural studies
Environments
Look development
03 · Full moon
Motion
Everything lit, everything moving.
Brand & launch films
Product animation
Title sequences
Social loops
04 · Last quarter
Photo
What remains in real light.
Still life
Product photography
Set & prop styling
Retouching
Say hello
Taking on projects from Q1 2027
[ Email ]
y@pusheen.cat
[ Instagram ]
@bittermoon
[ Behance ]
behance.net/bittermoon
[ Studio ]
Asia — remote worldwide
[ Brief ]
Start a project
A few lines are enough. Bitter Moon replies within two working days.
Name *
Email *
Company / brand
What do you need?
3D
Motion
Photo
Brand
Not sure yet
Budget (USD)
< 5k
5 – 15k
15 – 40k
40k +
Timeline
Tell us about the project
Send brief
→
Work Journal Wander Info