869 private links
TIL signed distance field. First I need to explain the concept of alpha testing. Alpha testing is a rendering technique for textures. It dictates that when rendering a texture, perform a test on the alpha value of that pixel against a threshold. Completely throw out or keep the data depending on the comparison result. Typically the alpha value for each pixel is set to the actual transparency of the pixel. This signed distance field method calculates the signed distance of each pixel to the nearest color pixels. The signed instance field is then saved in alpha channel in the texture. All the remaining alpha-testing mechanism is the same. It's claimed that this technique improves the rendering quality of low-resolution textures drastically.
Read the original paper: https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
This article talks about PGA (projective geometric algebra), an alternative approach to do geometric transformation that is not using matrix.
Links to tutorials on graphics programming.
An article on dithering techniques.
Minimal demo on how to do graphics for X11, macOS and Windows:
- pop up a window
- handle basic events
- draw on the surface
- play a sound
- port doom onto it
A comprehensive introduction to the working and graphics pipeline.
Make a fragment shader with a node editor. You connect the nodes, preview the effect, and get a shader definition.
This project is similar to something I wanted to create for a long time.
A simple and fast lossless image compression algorithm that achieves similar compression ratio but significantly faster than png.
In Ray Tracing in One Weekend, you will build a simple brute-force path tracer. Continuing with Ray Tracing: The Next Week, you will add textures, volumes (like fog), rectangles, instances, lights, and support for lots of objects using a bounding volume hierarchy (BVH). Finally, with Ray Tracing: The Rest Of Your Life, we'll dive into the math of creating a very serious ray tracer.
Looks like a great guide on ray tracing.
Explore composable geometry shapes, shaders, transformations with a lisp-like language called Janet. The rendering by compiling the code to glsl, running a raymarching engine (that why it's easy to define composite shapes).
For more (fancy) raymarching demo, check out https://iquilezles.org/articles/raymarchingdf/.
Interactive explanation on X Window systems, including the interesting history limitation and workarounds, and the mess brought up by the need of direct gpu-access.
A terse and informative little book on how to write a ray tracer and a rasterizer. It piqued my interest to write a toy rasterizer for fun as a weekend project.