Bookmarks
2D Graphics on Modern GPU
Is the traditional 2D imaging model nearing the end of its usefulness, or does it have a shiny future in the “modern graphics” world? I spent a week on a research retreat in a cottage in the woods to answer this question, as it shapes the future of UI toolkits. Performant UI must use GPU effectively, and it’s increasingly common to write UI directly in terms of GPU rendering, without a 2D graphics API as in the intermediate layer. Is that the future, or perhaps a mistake?
Visualizing all books of the world in ISBN-Space
Libraries have been trying to collect humanity’s knowledge almost since the invention of writing. In the digital age, it might actually be possible to create a comprehensive collection of all human writing meeting certain criteria That’s what shadow libraries do - collect and share as many books as
3D Gaussian Splatting
Deep technical walkthrough of the “3D Gaussian Splatting” paper, explaining the algorithm, rendering pipeline, and codebase for real-time NeRF-style scene recon...
Hacking Raylib
Live-coding session in C that modifies and debugs Raylib to extend the Musializer project, covering real-time rendering techniques, event handling, and practica...
3D in TypeScript using Ray Casting
Walk-through of implementing a classic ray-casting engine in TypeScript, rendering a 3D maze in the browser while explaining projection math and performance con...
My Retro 3D Engine is Ready
Live-coding session showing the step-by-step design and implementation of a retro ray-casting 3-D engine in C, covering rendering math, engine architecture, and...
Rendering and texturing a rotating rectangle in software
Live coding session that builds a WebAssembly software renderer from scratch, adding stb_image loading, alpha blending and rotation logic to texture-map a recta...
Improving Learn OpenGL's Text Rendering Example | Adventures in Coding
Walk-through of refactoring LearnOpenGL’s font-rendering sample—profiling GPU/CPU bottlenecks, redesigning glyph batching, and achieving a 10× frame-rate improv...
Bezier curve editor from scratch in 1 hour and 46 minutes
Live-coded walkthrough of building an interactive Bézier-curve editor with HTML Canvas, offering practical graphics and web-development techniques.
Writing a Software Renderer from scratch in C - Part 1
Hands-on tutorial showing how to implement a software renderer in C, relevant to graphics programming and low-level optimization.
VULKAN: From 2D to 3D // C++ 3D Multiplayer Game From Scratch // LIVE TUTORIAL
To try everything Brilliant has to offer—free—for a full 30 days, visit https://brilliant.org/TheCherno . You’ll also get 20% off an annual premium subscription...
Mechanical Watch: Exploded View
In May 2022, someone posted to Hacker News Bartosz Ciechanowski's blog post explaining how mechanical watch movements work. Since then, his blog has been my absolute favorite corner of the Internet.
The Book of Shaders
Gentle step-by-step guide through the abstract and complex universe of Fragment Shaders.
Easy Scalable Text Rendering on the GPU
This text explains a fast and memory-efficient technique for rendering text on the GPU without using traditional methods like signed distance fields. It uses triangles to fill in pixels inside the glyph and supports subpixel anti-aliasing for crisp text on LCD screens. The technique is resolution-independent, simple to implement, and can be extended to enhance rendering quality.
Your Starting Point!
The text discusses the concepts of three-dimensional objects and how they are represented in two dimensions for computer graphics. It explains the process of projecting 3D points onto a canvas to create images. The importance of geometry and mathematics in computer graphics, particularly in defining objects and creating images, is emphasized.
3D Math Primer for Graphics and Game Development
The book "3D Math Primer for Graphics and Game Development" is available to read for free on the gamemath.com website. It includes information about GDC talks, FAQs, and resources for the first edition of the book. The first edition, published in 2002, is described as high tech, but the author recommends reading the second edition instead, which is also available for free.
Welcome to OpenGL
This text is about learning modern OpenGL through an online book that covers basic, intermediate, and advanced knowledge with clear examples and practical concepts. The content is freely available online and in print, with the aim of providing a complete and easy-to-understand platform for graphics programming enthusiasts. Readers will learn core graphics aspects, useful techniques, and even create a small game based on the obtained OpenGL knowledge.
WebGPU Fundamentals
The text provides a collection of articles to help beginners learn the basics of WebGPU, covering topics like fundamentals, 3D math, lighting techniques, and compute shaders. It also includes information on optional features, data memory layout, transparency, performance, and resources for further learning. Readers can explore various aspects of WebGPU, including how it works, 2D and 3D techniques, and essential concepts like uniforms, textures, and storage buffers.
WebGL2 vs WebGL1
WebGL is a 3D API that works as a rasterization engine, requiring users to provide code for rendering points, lines, and triangles. Users must create vertex and fragment shaders to control how WebGL processes and displays graphics. The WebGL API simplifies rendering by executing user-created functions to draw basic shapes like triangles.
WebGL How It Works
The text explains how WebGL processes vertices to create triangles and render them with pixels using shaders. Varyings are used to pass data from the vertex shader to the fragment shader for color interpolation. Buffers are essential for transferring vertex data to the GPU for rendering, and attribute locations are assigned to specify how to extract and use this data efficiently.
Picsart-AI-Research/LIVE-Layerwise-Image-Vectorization: [CVPR 2022 Oral] Towards Layer-wise Image Vectorization
The text discusses a new method called LIVE for generating SVG images layer by layer to fit raster images. LIVE uses closed bezier paths to learn visual concepts in a recursive manner. Installation instructions and references for the method are provided in the text.
The Graphics Codex
"The Graphics Codex" is a comprehensive resource for computer graphics, offering essential information on 3D rendering and shading. It includes equations, diagrams, and programming projects, with free updates every month. Written by expert Morgan McGuire, it is a valuable tool for learning and reference in the field of computer graphics.
From Theory To Implementation
Physically Based Rendering is a widely-used textbook in computer graphics that combines theory with practical implementation for creating realistic images. The book, authored by industry experts, offers cutting-edge algorithms and ideas, including GPU ray tracing, to help readers design advanced rendering systems. Both the third and fourth editions of the book are available online for free.
Ray Tracing in One Weekend
"Ray Tracing in One Weekend" introduces readers to the concept of ray tracing through a step-by-step guide to creating a ray tracer that produces images. The document covers topics such as sending rays into the scene, ray-sphere intersection, shading, and reflection. It explains the mathematical aspects behind ray tracing, including formulas for sphere intersections and normal vectors. The guide progresses from creating a simple image of a sphere to more complex scenes, providing insights into the coding process and considerations for optimizing the rendering process.