frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
601•klaussilveira•11h ago•178 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
908•xnx•17h ago•545 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
24•helloplanets•4d ago•20 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
97•matheusalmeida•1d ago•23 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
28•videotopia•4d ago•0 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
204•isitcontent•12h ago•24 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
204•dmpetrov•12h ago•96 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
314•vecti•14h ago•138 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
359•ostacke•17h ago•93 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
353•aktau•18h ago•178 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
463•todsacerdoti•19h ago•231 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
24•romes•4d ago•3 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
261•eljojo•14h ago•156 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
395•lstoll•18h ago•268 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
80•quibono•4d ago•20 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
54•kmm•4d ago•3 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
7•bikenaga•3d ago•2 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
3•kaonwarb•3d ago•1 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
235•i5heu•14h ago•178 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
47•gfortaine•9h ago•14 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
5•jesperordrup•2h ago•1 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
137•vmatsiiako•16h ago•60 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
27•gmays•7h ago•8 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
124•SerCe•7h ago•105 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
68•phreda4•11h ago•13 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
271•surprisetalk•3d ago•37 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1048•cdrnsf•21h ago•431 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
171•limoce•3d ago•92 comments

Zlob.h 100% POSIX and glibc compatible globbing lib that is faste and better

https://github.com/dmtrKovalenko/zlob
14•neogoose•4h ago•9 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
60•rescrv•19h ago•22 comments
Open in hackernews

Cigarette smoke effect using shaders

https://garden.bradwoods.io/notes/javascript/three-js/shaders/shaders-103-smoke
154•bradwoodsio•1mo ago

Comments

lelandfe•1mo ago
As someone who knows nothing about shaders, this was very cool. Pretty refreshing to see such an interesting site design, too.
orphea•1mo ago

  > an interesting site design
Agree - making the scrollbar only 8 pixels wide is an interesting choice...
wvbdmp•1mo ago
about:config

    layout.css.scrollbar-color.enabled – false
    layout.css.scrollbar-width-thin.disabled – true 
    layout.css.scrollbar-width.enabled – false
fuckem
petermcneeley•1mo ago
In a game this is likely done as simply a prerendered animated texture (atlas). Perhaps in a modern AAA game you might try a GPU particle system with 10k+ particles.
embedding-shape•1mo ago
Or, a shader :) Smaller size than a atlas, more efficient that full on particle simulation.
jayd16•1mo ago
Particle systems can be very efficient. Modern ones are designed to be able to build this kind of shader from a GUI. If you don't use any kind of physical simulation (and this doesn't), you wouldn't pay for it.

You could build this same set up in a particle system and then have convenient knobs (like physics) to turn on for higher quality instances.

Lerc•1mo ago
I suspect it depends more on what the developer knows. You certainly don't need to be AAA to do particle smoke, I've done webgames with particle smoke in JavaScript.

With the right tech artist, this sort of shader is essentially what their job is. ShaderToy shows how much you can do with a quad and enthusiasm.

corysama•1mo ago
Back in the days of the PS2, you’d just take a couple of long triangle strips, give them a twist or two, then UV-animate a static texture up through them.
reactordev•1mo ago
awww, cool effect but I was half hoping for fluid dynamics simulation of the smoke with a lorenz fractal. What I've done is render the "smoke" to a framebuffer then apply some velocity to create some small vorticities.
fleahunter•1mo ago
Interesting point about the fluid dynamics! I’ve always been fascinated by how we can use math and physics to create visuals that feel so alive. A couple years back, I tried to replicate smoke effects in a game and ended up getting lost in fluid simulations—it’s wild how a few equations can lead to such organic results.

But I wonder if there's a way to combine both approaches? Like using smooth gradients for the base texture while applying some small-scale turbulent dynamics on top. It could add a nice touch of realism without going full-on simulation, which can get heavy on performance.

Also, have you found any tools or libraries that make working with these simulations more accessible? Sometimes it feels like there’s a barrier to entry with the math, but once you get it, the creative possibilities are endless!

reactordev•1mo ago
Vector textures is how you fake it like you’re talking about. Just render the fft/liquid to a 3D texture where the RGBf is the normalized vector. Use this texture when you render the smoke billboard to add those vortices in 3D space by multiplying the uv by the vector in the vertex shader and shading like you do with the noise in the pixel shader.

Ooooo… we have smoke like it’s a 1930s billiards bar.

Here’s a few examples that use some fluid dynamics to make “smoke”

https://play.huwroberts.dev/advection/

https://www.shadertoy.com/view/DsKyWm

https://ghostinthecode.net/2016/08/17/fire.html

For fire, the import part is the flame, not the spark. It’s the same methods as above. Everything eventually lands on a 2D texture where you blur or blend it with the scene.

For smoke ribbons this works really well in screen space. For big plumes like mushroom clouds or physical clouds not so much. For those, volumetric SDF is the way to go with rayleigh marching and some gradient of grey.

Anyway, happy coding and enjoy playing with the rules of reality!

lucasoshiro•1mo ago
Cool! But the title made me think that "cigarette smoke effect" made me think that it was about health issues, and I clicked because I was curious about how shaders could be related to that.
talkingtab•1mo ago
There is the smoke part - worth seeing, the shader part - well worth exploring (shaders make you see the world in a different way , then there is the learning part. The site is very interactive so it allows you to see one, do one and maybe teach one.

Many people are stuck in html land. I was. Webgl, threejs, @react-three/{fiber/drei} provide another dimension and shaders are the gateway.

Very highly recommended as a skill worth understanding (at least).

echoangle•1mo ago
Small mistake in the article: "Occlusion" is misspelled as "Occulsion" multiple times.
birdman3131•1mo ago
A bit pedantic but that is a pipe smoke effect not a cigarette effect. Cigarette smoke tends to go horizontal for a ways before kinda going vertical.

It works well in the image they use to demo it but the image shows a pipe where it actually looks right.

embedding-shape•1mo ago
I'm not sure you can say one behaves one way and the other not, surely depends on lots of variables.

As an anecdote, I'm literally sitting with a lit cigarette in my hand right now, and the little smoke that comes from the cigarette itself, goes straight up.

llmslave2•1mo ago
> I'm literally sitting with a lit cigarette in my hand right now

How does it feel to be living my dream rn...

bhouston•1mo ago
Very cool!

I did similar cigarette/ink-like smoke a few times in the VFX industry.

The first attempt was similar to yours using a grid: https://benhouston3d.com/siggraph/2005-2.html, but like yours it isn't that scalable (lots of memory and slow, but maps to GPUs well.)

The second approach, used in the Exocortex Slipstream VX plugin series, was much more efficient using "vortex method" thus not tied to a grid:

Demo video: https://vimeo.com/groups/slipstreamvx/videos/11901355

Harry Potter usage: https://benhouston3d.com/exocortex-intel-article-va10mag.pdf

Theory video: https://vimeo.com/69586020

The second method, vortices, can be mapped to GPUs via complex memory structures though:

https://vimeo.com/11928506

DamnInteresting•1mo ago
I made a similar effect a few years back using layered transparent PNGs[1]. It's not quite as dynamic, but it's probably a lot more efficient.

[1] https://www.damninteresting.com/ghoulish-acts-dastardly-deed...

simonsarris•1mo ago
Beautiful, my favorite kind of post for HN. Thank you Brad.
throw-12-16•1mo ago
i am so glad threejs is still seeing use, my personal favorite js lib
bhouston•1mo ago
ThreeJS has never been more popular with +3M downloads / week just prior to the holiday break: https://www.npmjs.com/package/three
throw-12-16•1mo ago
in a week of pretty bad news, this is my highlight
dylan604•1mo ago
As a very young person using an acquired copy of Photoshop with very little knowledge of graphic design, the Filter > Render > Clouds was something that I would never have guessed at just how useful and how often I would actually end up using it after many many hours in the chair.
ProllyInfamous•1mo ago
Attention aspiring landlords: please consider how expensive it is to remediate a property after years of indoor nicotine use (let alone the health effects to adjoining units, if any). Do whatever you want inside your own house, I don't care.

—Property manager, currently renovating a decades-smoked unit — just absolutely disgusting (and the de-tar chemicals are harsh, while still requiring mechanical dislodging) — I've already suggested that a non-refundible $3,000 deposit become required, if nicotine indoors isn't outright-banned (I don't care about weed indoors — it doesn't leave behind yellow tar everywhere).

So glad that even after decades of minimal drug abuse, cigarettes were never one of my vices.

pavlov•1mo ago
Immediately plays the Broadcasters logo laughter in my head.

IYKYK (but only if you lived in Finland in the 1990s)