Hacker News with Generative AI: Graphics

AAA – Analytical Anti-Aliasing (frost.kiwi)
Today’s journey is Anti-Aliasing and the destination is Analytical Anti-Aliasing. Getting rid of rasterization jaggies is an art-form with decades upon decades of maths, creative techniques and non-stop innovation. With so many years of research and development, there are many flavors.
SimplyStream – Unreal Engine 5 meets WebGPU (tiwsamples.com)
How to present MS-DOS screenshots (30fps.net)
MS-DOS games that ran at 320x200 screen resolution didn’t have square pixels.
Faking Shaders III: Tixyland (salat.dev)
My little fake shader is partly inspired by tixyland, which is also a low-res shader toy.
Lyra, an Unreal Engine 5 demo ported to WebGPU (tiwsamples.com)
BC7 optimal solid-color blocks (wordpress.com)
That’s right, it’s another texture compression blog post! I’ll keep it short. By “solid-color block”, I mean a 4×4 block of pixels that all have the same color. ASTC has a dedicated encoding for these (“void-extent blocks”), BC7 does not. Therefore we have an 8-bit RGBA input color and want to figure out how to best encode that color with the encoding options we have.
LibNSFB – Framebuffer (bitmap on screen) abstraction library, written in C (netsurf-browser.org)
LibNSFB is a framebuffer abstraction library, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.
Pygfx (pygfx.org)
Pygfx (pronounced “py-graphics”) is built on wgpu, enabling superior performance and reliability compared to OpenGL-based solutions. It is designed for simplicity and versatility: with its modular architecture, you can effortlessly assemble graphical scenes for diverse applications, from scientific visualization to video game rendering.
Show HN: Doom Inside an SVG (chrisdalke.com)
Show HN: Graphite, a Blender-inspired 2D procedural design Rust app (graphite.rs)
Graphite is a free, open source vector and raster graphics engine, available now in alpha. Get creative with a nondestructive editing workflow that combines layer-based compositing with node-based generative design.
Drawing Graphics on Apple Vision with the Metal Rendering API (github.com/gnikoloff)
At the time of writing, Apple Vision Pro has been available for seven months, with numerous games released and an increasing number of developers entering this niche.
Mesh Shaders – The Future of Rendering [video] (youtube.com)
Unreal 5.5 MegaLights (twitter.com)
Nvidia Shares Wayland Driver Roadmap, Encourages Vulkan Wayland Compositors (phoronix.com)
At the X.Org Developer's Conference (XDC 2024) happening this week in Montreal, NVIDIA shared a road-map around their Wayland plans as well as encouraging Wayland compositors to target the Vulkan API.
Cursor Size Problems in Wayland (blogs.kde.org)
I've been fixing cursor problems on and off in the last few months. Here's a recap of what I've done, explanation of some cursor size problems you might encounter, and how new developments like Wayland cursor shape protocol and SVG cursors might improve the situation.
Tiny Texture Tumbler – JavaScript procedural texture library and editor (github.com/phoboslab)
A small JS library to create textures. Mainly useful for file size restricted competitions.
Parallax Scrolling on the Gameboy Color (shacknews.com)
Early video game platforms had limits that seem quaint today, when even a $25 Raspberry Pi can push uncountable polygons at 1080p. They'd often support tile and sprite based rendering, where the hardware would draw graphics in terms of background layers and sprites - moving objects like a player character or a projectile. Both background layers and sprites would be made up of tiles of pixels, with a common tile resolution being 8x8 pixels.
Notcursus v3.0.10 Released (github.com/dankamongmen)
For all my test images, Notcurses now encodes sixels as quickly or more quickly than libsixel, while producing output at least as good as libsixel (when the latter is run without dithering). This completes the drive to improve Sixel quantization described in the 3.0.0 release notes. Yay!
Modifications to GPU Hardware to Benefit Signed Distance Fields (github.com/bryanmcnett)
Modifications to GPU Hardware to benefit Signed Distance Fields
Linux 6.12 Features Super Real-Time, Sched_ext, Intel Xe2 and Pi 5 (phoronix.com)
The Linux 6.12 merge window is wrapping up today with the release of Linux 6.12-rc1 in the coming hours. This is going to be a heck of an exciting kernel. There's real-time PREEMPT_RT finally in mainline, the much anticipated sched_ext code also was merged, QR codes for DRM panic messages, initial out-of-the-box support for Intel Xe2 graphics with Lunar Lake and Battlemage, initial Raspberry Pi 5 support, and a ton of other hardware support additions and new innovative kernel software features.
Penguin Tutorial: How Tux was created on a 486 DX2 (isc.tamu.edu)
All of the penguin pictures were created entirely within The GIMP (version 0.54). The majority of the drawing was done on my 486 DX2/50 running linux. I used nothing but a mouse and a lot of patience. The final smoothing was done on an SGI Crimson (also using the GIMP) only because my home machine has an 8-bit display.
Valve's Mike Blumenkrantz Hoping to Accelerate Wayland Protocol Development (phoronix.com)
Valve open-source graphics software engineer Mike Blumenkrantz is well known in the Linux community for his work on the Zink OpenGL-on-Vulkan driver code, various Mesa driver optimizations, and creative writing on his blog. He's also taken up a new task: further accelerating Wayland protocol development.
Nvidia Publishes Open-Source Linux Driver Code for VGPU Support (phoronix.com)
NVIDIA engineers have sent out an exciting set of Linux kernel patches for enabling NVIDIA vGPU software support for virtual GPU support among multiple virtual machines (VMs).
Ask HN: Resources for Learning Graphics Programming (ycombinator.com)
Hey HN<p>I've predominantly always worked in Web dev but always had an interest in 3D graphics, modelling and games.<p>What are your best resources for me to go from 0 to being able to write my own (basic) graphics renderer, eventually I'd like to get to the point of rendering scenes but understand that might be a long haul.
SVG Coding Examples: Useful Recipes for Writing Vectors by Hand (smashingmagazine.com)
Myriam Frisano explores the basics of hand-coding SVGs with practical examples to demystify the inner workings of common SVG elements.
The Story Behind Fenster (zserge.com)
I grew up with BASIC and Turbo Pascal. My first programs were very simple graphical games. I still miss the era of [BGI](https://en.wikipedia.org/wiki/Borland_Graphics_Interface) and BASIC’s painting commands. Those graphics were neither beautiful nor fast, but they were simple. Simple enough for a kid with only elemental geometry knowledge to build something exciting.
Graphics Tricks from Boomers (arnaud-carre.github.io)
Recently I released a 4096 bytes Atari intro, featuring some bandwidth impossible sprites drawing in fullscreen. I hope technical inner details could please any graphics enthusiasts, and not only boomers :)
Microui+fenster=Small GUI (bernsteinbear.com)
Sometimes I just want to put pixels on a screen. I don’t want to think about SDL this or OpenGL that—I just want to draw my pixel buffer and be done.
UE5 Nanite in WebGPU (github.com/Scthe)
Software Rasterizing Hair (sctheblog.com)