Hacker News with Generative AI: 3D Graphics

Show HN: Curved Space Shader in Three.js (via 4D sphere projection) (github.com/bntre)
This vertex shader was first written in HLSL for the Unity game Sfera: https://bntr.itch.io/sfera. Now it's rewritten in GLSL for three.js.
Raycasting (lodev.org)
Raycasting is a rendering technique to create a 3D perspective in a 2D map.
Steepest Descent Density Control for Compact 3D Gaussian Splatting (arxiv.org)
3D Gaussian Splatting (3DGS) has emerged as a powerful technique for real-time, high-resolution novel view synthesis.
Show HN: Real-Time Gaussian Splatting (github.com/axbycc)
LiveSplat is an algorithm for realtime Gaussian splatting using RGBD camera streams.
Replicube: A puzzle game about writing code to create shapes (steampowered.com)
Replicube is an open-ended programming puzzle game/toy about writing code to replicate 3D voxel-based objects.
Show HN: Reactylon – A new way to build XR with React and Babylon.js (github.com/simonedevit)
Welcome to Reactylon, a powerful multiplatform framework built on top of Babylon.js and React, designed to create interactive and immersive XR experiences.
React Three Ecosystem (react-three.org)
Introduction to Universal Scene Description (2021) (openusd.org)
Universal Scene Description (USD) is the first publicly available software that addresses the need to robustly and scalably interchange and augment arbitrary 3D scenes that may be composed from many elemental assets.
Castle Engine improvements: physics upgrade, sphere casting, layers filtering (castle-engine.io)
We have a number of improvements to announce, so welcome to another “bag of improvements all around the engine” news post! Take a look around, see if you find something you like 🙂 As usual, all the announced improvements are already part of the latest downloads.
Gaussian Splatting Meets ROS2 (github.com/shadygm)
ROSplat is the first online ROS2-based visualizer that leverages Gaussian splatting to render complex 3D scenes.
An Introduction to Practical 3D Math for Programmers (stunlock.gg)
There are a lot of guides for 3D math that seem to be written by people quite good at math. If instead you're like me and better at programming than math this is the guide I wish I had when I first started learning OpenGL, Direct3D, Shaders, Unity, and Unreal.
Derivatives and Logarithms of 3D Transforms (nosferalatu.com)
Given a transform \(T\) and a point x, we can find the transformed point with \(T * x\). But what if we want to smoothly interpolate \(T\) so it moves \(x\) along the path from its initial position to its position transformed by \(T\)?
Gaussian Splats with OpenScene (ashwanirathee.com)
Exploring 3D Gaussian Splatting for Novel View Synthesis
Robust Wavefront OBJ model parsing in C (nullprogram.com)
Wavefront OBJ is a line-oriented, text format for 3D geometry. It’s widely supported by modeling software, easy to parse, and trivial to emit, much like Netpbm for 2D image data. Poke around hobby 3D graphics projects and you’re likely to find a bespoke OBJ parser. While typically only loading their own model data, so robustness doesn’t much matter, they usually have hard limitations and don’t stand up to fuzz testing.
Rotors: A practical introduction for 3D graphics (2023) (jacquesheunis.com)
When putting 3D graphics on a screen, we need a way to express rotations of the geometry we’re rendering.
Rediscovering Quaternions (jasonfantl.com)
How do we represent a rotation in 3 dimensions? This is a surprisingly deep question, and one we can learn a lot from. Our goal will be to “rediscover” quaternions from first principles, building them up by exploring different representations and fixing the failures along the way.
Show HN: AI-native browser game that users can craft unlimited 3D items (0.space)
Space Zero is a 3D world on the browser. Explore worlds, collect items, craft yours and share with friends.
Publish Your Gaussian Splats with SuperSplat (playcanvas.com)
Today, we are announcing a major update of SuperSplat, the open source platform for editing and publishing 3D Gaussian Splats.
Three-nanite: Unreal Nanite in Three.js (github.com/AIFanatic)
An attempt at reproducing unreal nanite in threejs
Nvidia open-source nanite: continuous level of detail (LOD) mesh library (github.com/nvpro-samples)
nv_cluster_lod_builder is a continuous level of detail (LOD) mesh library.
The Art of Dithering and Retro Shading for the Web (2024) (maximeheckel.com)
I spent the past few months building my personal website from the ground up, finally taking the time to incorporate some 3D work to showcase my shader and WebGL skills.
Portals and Quake (30fps.net)
Ever wanted to know how exactly did Quake’s precomputed visibility work? I did, so I wrote vis.py, a reimplementation of their algorithm in Python. This guide has all the information you need to understand vis, the tool used by Quake, Half-Life and Source Engine games.
Show HN: I've made a Monte-Carlo raytracer for glTF scenes in WebGPU (github.com/lisyarus)
This is a GPU "software" raytracer (i.e. using manual ray-scene intersections and not RTX) written using the WebGPU API. It expects a single glTF scene as input. It supports flat-colored and textured materials with albedo, normal, and material maps. It doesn't support refraction (yet).
Show HN: ImPlot3D – A 3D Plotting Library for Dear ImGui (github.com/brenocq)
ImPlot3D is an extension of Dear ImGui that provides easy-to-use, high-performance 3D plotting functionality.
Lou's Pseudo 3D Page (2013) (extentofthejam.com)
Now that every system can produce graphics consisting of a zillion polygons on the fly, why would you want to do a road the old way? Aren't polygons the exact same thing, only better? Well, no. It's true that polygons lead to less distortion, but it is the warping in these old engines that give the surreal, exhillerating sense of speed found in many pre-polygon games.
Introduction to Rotation for Computer Graphics (mauriciopoppe.com)
The basics of rotation in 2d and 3d for computer graphics with a focus on 3d rotation about cardinal axes and 3d rotation with quaternions.
Rendering Tiny Glades with Entirely Too Much Ray Marching [video] (youtube.com)
Show HN: Glyph3D – A 3D text visualizer for macOS and iOS / iPadOS (github.com/tikimcfee)
Render source code in 3D, for macOS and iOS.
3D Convex Splatting: Radiance Field Rendering with 3D Smooth Convexes (convexsplatting.github.io)
3D Convex Splatting achieves high-quality novel view synthesis and fast rendering by representing scenes with 3D smooth convexes.
Quark: Real-Time, High-Resolution, and General Neural View Synthesis (quark-3d.github.io)
We present a novel neural algorithm for performing high-quality, high-resolution, real-time novel view synthesis.