46
←→

Image adjustment effects, better boilerplates, and quality of life updates

Post-processing image adjustments, boilerplate projects with new navigation, screenshot capture and video recording, plus layout, performance and a way to report problems across Fragments.

Loading...
←How to learn TSL, the Three.js Shading Language
←

Ready to start learning?

What's included in the course ↓

Access to the course: master shader techniques, use workflow-enhancing utilities, learn from shader breakdowns with full code, and get downloadable R3F and vanilla projects.

One single payment. No subscription required. 30-day money-back guarantee. No questions asked.

Not sure which to pick? Most people choose Pro for the full collection and all future updates. Fundamentals is a focused, lower-cost starting point you can upgrade from any time.

“Knowing shaders is your unreasonable advantage in UI. Ben has worked super hard on this course, recommended!”
Joshua Crowley - Designer and Educator
Loading...

Fragments

Learn creative coding with shaders. For design engineers, creative coders and shader artists: techniques, tools, deep dives. Powered by ThreeJS and TSL.

New techniques, breakdowns and shader experiments — straight to your inbox.

2026 Phobon

phobon.ioartifice.shshadercraft

Pages

HomeTechniquesUtilitiesBreakdownsWorksWriting

Contact

X @thenoumenonhey@fragments.supplyOKAY DEV @phobon
All rights reserved.
Curriculum
Works171
Writing46

A round of updates

I've got a fresh round of updates for you in this post. There's a new set of image adjustment effects that were long overdue; a big overhaul of the boilerplate projects that I am really excited about; and a long list of fixes across the whole of Fragments. All of it is stuff that makes Fragments a lot nicer to work in. Let's kick it off with the image adjustment effects.

Image adjustment effects

I've been working on a new thing for the last few months. It's not really ready to reveal yet, but as part of that, I added a set of image adjustment effects that can really make your shaders pop.

They're colour-in > color-out functions you can chain inside a material's colorNode. These are really lightweight (they're just tiny functions, for the most part) that work really well on a single material.

I've also created post-processing versions of each one: image adjustment effects to grade an entire frame or scene if you'd like as well. Here's the big list of adjustments - the names are pretty self-explanatory:

  • Grayscale
  • Sepa
  • Invert
  • Brightness
  • Contrast
  • Saturation
  • Exposure
  • Gamma
  • Hue Rotate

Each one takes a single control value with a neutral setting that leaves the image unchanged, so you can wire them to dials and sweep from nothing to a lot.

Image adjustment effects applied to a scene

They work with the existing PostProcessing component. Use one on its own with effect and args, or stack several with layers, which run in order:

import { contrastAdjustment } from '@/tsl/post_processing/contrast_adjustment'
import { hueRotateAdjustment } from '@/tsl/post_processing/hue_rotate_adjustment'
import { PostProcessing } from '@/tsl/post_processing/post_processing'
import { saturationAdjustment } from '@/tsl/post_processing/saturation_adjustment'
 
export const Effects = () => {
  return (
    <PostProcessing
      layers={[
        { effect: contrastAdjustment, args: { amount: 1.2 } },
        { effect: saturationAdjustment, args: { amount: 1.4 } },
        { effect: hueRotateAdjustment, args: { angle: 0.1 } },
      ]}
    />
  )
}

If you only need to adjust one material, stick with the colorNode versions. They skip the extra full-screen pass.

Better boilerplate projects

The boilerplate projects are where most people start, and they've been bare for a while now, so I wanted to give them a proper improvement pass:

  • Added a new navigation experience to make it easier to move between sketches
  • Added a screenshot capture feature. Grab a still of whatever is on the canvas without reaching for a screen capture tool
  • Added a video recording feature. Record the canvas straight to a video file, so animated pieces are easy to share

These are the things I kept rebuilding in my own projects, so it made sense to put them where everyone can use them. They're all completely configurable, so you can tweak them to your liking.

If you've already cloned one, pull the latest changes. Both are on GitHub:

  • Fragments R3F Boilerplate
  • Fragments Vanilla Boilerplate

Image adjustment effects applied to a scene

Image adjustment effects applied to a scene

Quality of life across Fragments

Thanks to some really excellent feedback from you all, I've been able to fix and improve a lot of things across the whole of Fragments:

  • Vastly improved the performance of the site. Pages load and respond faster across the board
  • Navigation and layout are much more reliable across all different breakpoints and devices
  • Code examples are now fully self-contained functions with correct return signatures, so you can just copy them into your own project and they should run without a lot of extra work
  • Much better signed-in experience

Report a problem

Finally - if something's broken, there's now a Report a problem button in the navigation. It opens a short form, and sends me your message along with the page you're on and a screenshot of what you're seeing. You can turn the screenshot off if you'd rather not include it.

Broken sketches, typos, layout bugs, code that doesn't run. If something's off, send it through. It goes straight to me, and having the page and a screenshot makes it much quicker to fix.

What's next

I've got a bunch of new stuff to talk about in the next few weeks leading up to Black Friday and Christmas. Keep an eye out for more updates soon!

Get the course ↵
ProMost popularFull access to the entire Fragments collection. Includes all techniques, utilities, breakdowns and all future updates
  • ✓ 12 long-form technique lessons
  • ✓ 7 fundamentals lessons
  • ✓ 61 workflow enhancing utilities
  • ✓ 171+ full shader breakdowns
  • ✓ Downloadable R3F and Vanilla projects
  • ✓ Access to community Discord
Get Pro →$199USD
FundamentalsAccess to foundational shader techniques and utilities
  • ✓ 5 foundational long-form technique lessons
  • ✓ 7 fundamentals lessons
  • ✓ 24 foundational workflow enhancing utilities
  • ✓ 71 full shader breakdowns
  • ✓ Downloadable R3F and Vanilla projects
  • ✓ Access to community Discord
Get Fundamentals →$99USD
You'll be redirected to our secured payment platform and get instant access.