frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Valgrind-3.27.0 Is Available

https://sourceforge.net/p/valgrind/mailman/message/59324626/
1•paulf38•1m ago•0 comments

Crystal Now Has Official Linux ARM64 Builds

https://crystal-lang.org/2026/04/07/official-linux-arm64-builds/
1•TheWiggles•3m ago•0 comments

The AI revolution – spamming 680PRs in 442 GitHub repos in 21 days in April

https://github.com/SAY-5
1•ddorian43•4m ago•1 comments

The first neural interface that transforms your thoughts into text

https://sabi.com/
1•filippofinke•10m ago•0 comments

Indent Is All You Need

https://blog.est.im/2026/stdin-11
1•est•13m ago•0 comments

The arrogant superbanker whose hubris brought Britain to its knees

https://inews.co.uk/opinion/arrogant-superbanker-hubris-brought-britain-knees-4331457
1•robtherobber•14m ago•0 comments

Making the Rails Default Job Queue Fiber-Based

https://paolino.me/solid-queue-doesnt-need-a-thread-per-job/
1•earcar•15m ago•0 comments

The Dirty Little Secret of AI (On a 1979 PDP-11) [video]

https://www.youtube.com/watch?v=OUE3FSIk46g
1•KnuthIsGod•20m ago•0 comments

HappyHorse AI – AI-Powered Equestrian Training

https://www.runhappyhorse.net
1•danielmateo773•21m ago•1 comments

Master of chaos wins $3M math prize for 'blowing up' equations

https://www.scientificamerican.com/article/master-of-chaos-wins-usd3m-math-prize-for-blowing-up-e...
1•signa11•21m ago•0 comments

Why the Original Task Manager Was Under 80K and Insanely Fast [video]

https://www.youtube.com/watch?v=OyN4LGyPwxc
2•KnuthIsGod•21m ago•0 comments

Influencers Are Spinning Nicotine as a 'Natural' Health Hack

https://www.nytimes.com/2026/04/20/well/nicotine-health-maha.html
2•SockThief•21m ago•2 comments

Details that make interfaces feel better

https://jakub.kr/writing/details-that-make-interfaces-feel-better
1•dg-ac•23m ago•0 comments

Watch a 200 Pound, 14" Drive from the 80s Boot Unix [video]

https://www.youtube.com/watch?v=kpC_9EmStAE
1•KnuthIsGod•23m ago•0 comments

My billing system, it could be useful to some

https://github.com/peterretief/billing-v2
2•peter_retief•25m ago•1 comments

ConvertHook – White-label widget that shows where brands rank in ChatGPT

https://converthook.com
1•joefromcomkey•27m ago•0 comments

Palantir manifesto reads like the ramblings of a comic book villain

https://www.engadget.com/big-tech/palantir-posted-a-manifesto-that-reads-like-the-ramblings-of-a-...
1•robtherobber•27m ago•0 comments

SUSE and Nvidia reveal a turnkey AI factory for sovereign enterprise workloads

https://thenewstack.io/suse-nvidia-ai-factory/
1•CrankyBear•27m ago•0 comments

Curlew conservation scheme makes breakthrough in Fermanagh

https://www.rte.ie/news/ireland/2026/0421/1569263-curlew-conservation/
1•austinallegro•28m ago•0 comments

Modern Front end Complexity: essential or accidental?

https://binaryigor.com/modern-frontend-complexity.html
1•birdculture•29m ago•0 comments

Show HN: WeTransfer Alternative for Developers

https://dlvr.sh/
3•mariusbolik•36m ago•0 comments

Keeping code quality high with AI agents

https://locastic.com/blog/keeping-code-quality-high-with-ai-agents
1•locastica•37m ago•0 comments

The MACL Extended Attribute

https://eclecticlight.co/2026/04/21/the-macl-extended-attribute/
1•frizlab•39m ago•0 comments

Mother Earth Mother Board

https://efdn.notion.site/Mother-Earth-Mother-Board-WIRED-a8ff97e460bc4ac1b4a7b87f3503a55c
1•thunderbong•41m ago•0 comments

US recession probabilities implied by the yield curve

https://www.stlouisfed.org/on-the-economy/2023/sep/what-probability-recession-message-yield-spreads
1•latentframe•45m ago•1 comments

Show HN: AnyHabit – A minimalist habit tracker for Raspberry Pi and Docker

https://github.com/Sparths/AnyHabit
1•bebedi•48m ago•0 comments

Highlights from Git 2.54

https://github.blog/open-source/git/highlights-from-git-2-54/
1•tux3•50m ago•0 comments

Enhancing Sporting Organisation Efficiency with Generative AI

https://sinankprn.com/posts/enhancing-sporting-organisation-efficiency-with-generative-ai/
1•sminchev•51m ago•0 comments

Reconstructing a Vue and Three.js app from a single Webpack bundle

1•YufanZhang•51m ago•0 comments

Show HN: Tiltbump – another game in a single HTML file

https://tiagosimoes.github.io/tiltbump/
2•eropatori•53m ago•0 comments
Open in hackernews

Modern Rendering Culling Techniques

https://krupitskas.com/posts/modern_culling_techniques/
141•krupitskas•2d ago

Comments

igraubezruk•1d ago
Very good read and visualizations, thank you for writing it
yopstoday•1d ago
Dooope!
LarsDu88•12h ago
PVS isn't that expensive to compute. Especially nowadays. I assume this is actually referring to the binary space partitioning techniques used in DOOM and improved in Quake, Half-Life, etc in the late 90s, early 2000s.

The BSP tree was also extremely useful for optimizing netcode for games like Quake 3 Arena and games within that family and time period I believe.

Panzerschrek•3h ago
PVS requires some hierarchical scene representation with no seams between walls. I know no other way to build such representation other than BSP. But BSP works fine only with pretty low-detail map geometry consisting of brushes. No large detail meshes or terrains can be used with it. If a game has a lot of open spaces or semi-open spaces it's nearly to impossible to build a BSP for it.
socalgal2•2h ago
PVS does not require a hierarchical representation. You can use any representation you want. In fact the one in the article itself is not hiearchical.
Panzerschrek•2h ago
In practice many useful representation can be built only in a hierarchical way. Unless you want to force artist/map makers to split their maps in regions manually.
formerly_proven•1h ago
All Source / Source 2 games still use both PVS (bsp/octree) and pre-baked lightmaps. Of course, they’re quite notorious for the staticness of their environments.
nickandbro•12h ago
Love this, I will now use backface culling for my game:

https://slitherworld.com

Tanoc•10h ago
Backface culling has been common since the late 1990s when we started using face normals to determine lighting rather than per-vertex lighting. Pretty much every 3D game engine since about 2004 has included and enabled it by default. How is it that you made a game that doesn't use it?
nickandbro•10h ago
I didn't use a game engine
Tanoc•10h ago
Ahhh. So you used a wrapper or a library? Interesting then. I had assumed that almost every rendering method enables frustrum, occlusion, and backface culling by default if only to clear the number of objects needed to be tracked in memory. One thing I noticed in your game is that it's based on the absolute mouse position, which with a 16:9 window makes it difficult to turn in certain situations because your horizontal movement space is much larger than the vertical movement space and that adversely affects turning speed. Changing so that is based just on horizontal mouse movement or adding keyboard controls might be better.
nickandbro•9h ago
Thanks for the feedback, I’ll try to get that sorted out.
01HNNWZ0MV43FF•7h ago
For the curious readers, backface culling (at least in the way fixed-function OpenGL does it, and probably newer APIs still do) is not based on face normals, it's based on winding order of triangles, so it works even if normals are not used.

Also face normals (flat shading) are generally considered older tech than per-vertex lighting (Gouraud shading). Newer stuff since 2008-ish is generally per-pixel using normal maps for detail.

nickandbro•5h ago
Thanks for clarifying, so I guess I already have it on then.
Tanoc•1h ago
If I remember my graphics accelerator history correctly per-vertex lighting using Gouraud shading was the method SGI made standard with OpenGL in 1992, before 3DFX and ATI came in and made per-pixel via Blinn-Phong just as computationally efficient in about 2000 or 2001. Used before Gouraud and then alongside per-vertex and per-pixel was per-face flat shading, which kept being used up until the Xbox 360/PlayStation 3/DirectX 10 era. Face normals for per-pixel started being used in 1999 by SEGA, but stopped being common around the same time as normals flat shading got abandoned.

If I'm wrong please feel free to correct any of this, it's been about eight years since I last learned all of the different methods.

yards•11h ago
I always wonder about this IRL...I'm at work rn, is my apartment still rendered?
keyle•9h ago
The old philosophical question remains, "If a tree falls in a forest and no one is around to hear it, does it make a sound?" [1]

[1] https://en.wikipedia.org/wiki/If_a_tree_falls_in_a_forest_an...

01HNNWZ0MV43FF•7h ago
Yes, the other trees hear it. Easy :)
don-bright•8h ago
have to ask the Maintainer of Time

https://twilightzone.fandom.com/wiki/A_Matter_of_Minutes

socalgal2•2h ago
https://www.youtube.com/watch?v=e9XFRfeGBVI
Zecc•2h ago
Unless it's being observed externally it is in a state of quantum uncertainty, I think.
Animats•8h ago
Occlusion culling is really tough in systems where users can add content to the world. Especially if there's translucency. As with windows (not Windows), or layered clothing.

You're in a room without windows. Everything outside the room is culled. Frame rate is very high. Then you open the door and go outside into a large city. Some buildings have big windows showing the interior, so you can't cull the building interior. You're on a long street and can look off into the distance. Now keep the frame rate from dropping while not losing distant objects.

Games with fixed objects can design the world to avoid these situations. Few games have many windows you can look into. Long sightlines are often avoided in level design. If you don't have those options, you have to accept that distant objects will be displayed, and level of detail handling becomes more important than occlusion. Impostors. Lots of impostors.

Occlusion culling itself has a compute cost. I've seen the cost of culling big scenes exceed the cost of drawing the culled content.

This is one of those hard problems metaverses have, and which, despite the amount of money thrown at the problem, were not solved during the metaverse boom. Meta does not seem to have contributed much to graphics technology.

This is much of why Second Life is slow.

danielvaughn•7h ago
I was thinking about this problem a few days ago, imagining a semi-online game where players could create a collective city by plotting buildings. The "grid" would be some kind of pre-determined voronoi pattern, in theory making occlusion culling easier.
Terr_•17m ago
If the main goal is to limit sight lines, there are a lot of potential tessellations that will give that effect, while also being predictable and infinitely repeatable. For example, imagine a regular city grid, except every roads is a wavy S-curve.

I bet there is a special math term for "tilings that do/don't contains infinite lines", but I wasn't able to find it quickly. It's not the same as (a)periodic, since a periodic tiling could block the lines, and an aperiodic tiling could have one giant seam down the middle.

corysama•6h ago
Dynamic occlusion culling is pretty common these days now that the GPU can do its own filtering of the draw list. I think it goes like:

Start with a list of objects that were visible last frame. Assume they are visible this frame. Go ahead and draw them.

Then, for the list of things that were Not visible last frame, draw bounding box queries to build a conservative list of objects that might actually not be occluded this frame. This is expected to be a short list.

Take that short list and draw the probably-newly-visible objects.

Have queries attached to all of those draws so you end up with a conservative list of all of the actually-visible objects from this frame.

This obviously has problems with camera cuts. But, it works pretty well in general with no preprocessing. Just the assumption that the scene contents aren’t dramatically changing every frame at 60 FPS.

motorpixel•3h ago
Roblox just gave a talk at this exact intersection of topics (user generated content and high performance culling) last month at GDC.

https://schedule.gdconf.com/session/optimizing-a-large-time-...

Animats•2h ago
Yes, although the GDC paper is paywalled.

But see Roblox's own summary at: [1]

[1] https://devforum.roblox.com/t/occlusion-culling-now-live-in-...

greggman65•7h ago
> Quake made PVS famous. It’s still useful in some indoor games where the scene geometry is static and bake time is acceptable.

It was used extensively in outdoor games like Jak and Daxter.

mempko•6h ago
Back in the 90s I made a 3d engine (software renderer) and used frustum culling. But computing the frustum intersection every time was too slow. So one technique I did was add a count to each polygon. If the polygon was outside the view frustum, i added a count of N frames. Each frame if the count for a polygon was 0 it would check against the frustum, otherwise it would reduce the count and skip the polygon rendering entirely.

This worked very well but of course if the camera turned quickly, you would see pop-in. Not a modern technique, but an oldschool one.

enobrev•3h ago
I really appreciate this post. It reminds me of a video I watched a couple years ago that does an excellent job of demonstrating how culling works with actual code and visuals

https://www.youtube.com/watch?v=CHYxjpYep_M

snailmailman•3h ago
I've always wondered to what extent these culling techniques still work with raytracing? A reflective surface can bring a bunch of otherwise-offscreen things into the scene. Its what makes screen-space reflections look so bad sometimes, they can't reflect whats not on-screen.
Panzerschrek•3h ago
Is portal culling still used today? I thought it's an old technic used only by some very old games like Thief.
root_axis•2h ago
Great post. Looking forward to the followup article about lights and shadows :)