Best of Graphics Programming2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    Building Real-Time Global Illumination: Part 1

    This guide details the foundation of building real-time global illumination using three.js, starting with a 'naive' global illumination approach. The process involves using signed distance functions (SDFs) to draw shapes on the GPU, followed by implementing raymarching to simulate how light interacts with surfaces. The goal is to create realistic lighting effects efficiently on consumer hardware. The post also touches on optimizations, such as the Jump Flood Algorithm (JFA) for distance fields, enhancing the basic raymarching technique.

  2. 2
    Article
    Avatar of andersonmanciniThreejs Tips and Inspiration·2y

    Platform for learning GLSL Shaders

    Shader Learning is a platform dedicated to teaching and practicing GPU programming through interactive tasks and theory. It covers topics like fragment and vertex shaders, 2D image manipulation, lighting, shadows, noise functions, texture mapping, and Signed Distance Field functions. The platform also delves into the fundamental mathematical principles behind computer graphics, with support available through a Discord channel.

  3. 3
    Article
    Avatar of hnHacker News·2y

    WebGPU Unleashed: A Practical Tutorial

    Learn graphics programming in JavaScript using WebGPU through an interactive, web-based tutorial. The book covers an overview of GPU drivers and pipeline, basic and advanced rendering techniques, and GPU computing. The content includes code samples, videos, and a playground for interactive learning.

  4. 4
    Article
    Avatar of hnHacker News·2y

    Crash Course in Deep Learning (for Computer Graphics)

    The post provides a comprehensive guide to deep learning for computer graphics. It introduces neural networks, specifically multilayer perceptrons (MLPs), and their structure, explaining key concepts such as neurons, layers, and activation functions. The guide further covers the implementation and training of these networks, including gradient descent and backpropagation. It also touches upon advanced topics like input encodings and the Adam optimizer, and discusses common challenges in training neural networks. Recommended practices and resources for further study are provided.

  5. 5
    Video
    Avatar of primeagenThePrimeTime·1y

    So I Tried To Learn Shaders...

    The writer shares their journey of learning shaders, starting from a point of confusion back in college to making a renewed effort with modern tools like the Book of Shaders. They explain basic concepts such as what shaders are, how they function in parallel on GPUs, and the importance of uniforms in passing consistent input data to shaders. The post highlights the challenge of understanding shader syntax and execution but encourages continuous learning through practical experimentation.

  6. 6
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·2y

    I made my own shadertoy in C++

    A developer shares their experience of creating a custom Shader toy in C++, complete with features like sliders, custom textures, color pickers, and a full 3D pipeline. The project aims to provide functionalities missing from Shader toy, such as the ability to modify uniforms and write optional vertex shaders. The developer also discusses tackling various challenges, such as detecting shader uniforms and making the project Shader toy-compatible, ultimately planning to expand the tool further with more features.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    Nvidia: An Overnight Success Story 30 Years in the Making

    Nvidia, a technology company founded in 1993, experienced crucible moments throughout its history. The company originally focused on creating 3D graphics cards for gamers but eventually shifted towards AI computing. This pivot proved to be a game-changer for Nvidia and positioned the company as a global leader in AI computing. One of the most significant crucible moments was the decision to abandon their initial chip architecture and start from scratch to align with industry trends. Nvidia's commitment to AI computing has propelled the company's growth and positioned them at the forefront of technological advancements.

  8. 8
    Video
    Avatar of lowlevelgamedevLow Level Game Dev·2y

    How do shaders in my Minecraft C++ clone work?

    Discover how shaders work in a Minecraft C++ clone, focusing on rendering techniques like skyboxes, ambient occlusion, and texture packs. Learn how transparent geometry is handled efficiently, the day-night cycle's impact on lighting, and the intricate pipeline behind achieving realistic water effects. Also, explore ambient occlusion methods and support for texture packs, making the game highly customizable.

  9. 9
    Article
    Avatar of jendrikillnerJendrik Illner·2y

    Graphics Programming weekly - Issue 361 - October 13th, 2024

    The post explores various graphics programming topics, including a basic introduction to mesh shaders, their effects, use-cases, and limitations. It also highlights the high-level implementation details of the mesh shaders used for culling in Alan Wake 2. Additionally, it covers a Python visualization framework, GPU validation systems, Intel's rendering toolkit, and sampling methods for normal Gaussian distributions on GPUs. General Arcade is hiring a Graphics Rendering Engineer.

  10. 10
    Video
    Avatar of chernoThe Cherno·2y

    Is C BETTER than C++ for beginners? // Code Review

    A code review of a graphics engine written in C using the Vulkan API by a 13-year-old programmer. The discussion covers the merits of using C versus C++ for beginners, advice on build systems like CMake and Makefiles, and a deep dive into initialization, memory management, and code structuring practices.

  11. 11
    Video
    Avatar of sphaerophoriasphaerophoria·2y

    Using GIMP is hard. Writing my own GIMP from scratch is easy.

    The post describes the process of creating a new image editor from scratch due to difficulty using existing tools like GIMP. It involves using shaders for non-lossy, editable history, focusing on tasks like cut and paste operations, and applying transformations. The goal is to make these operations more intuitive and flexible by allowing users to write their own shaders. The post also outlines the initial steps in the development process, including setting up a window, loading images, and applying basic transformations.

  12. 12
    Article
    Avatar of jendrikillnerJendrik Illner·2y

    Graphics Programming weekly - Issue 359 - September 29th, 2024

    An issue showcasing various facets of graphics programming, including tools like RenderDoc and Nsight for game content analysis, insights into Vulkan Device Generated Commands, and a rundown of sessions by AMD at the Graphics Programming Conference. Highlights include an introduction to OpenUSD concepts through NVIDIA’s interactive course and a detailed paper on guiding direct light sampling in scenes with numerous lights.

  13. 13
    Article
    Avatar of jendrikillnerJendrik Illner·2y

    Graphics Programming weekly - Issue 356 - September 8th, 2024

    The post covers multiple topics in graphics programming, including the Radiance Cascades GI technique, the use of noise in procedural generation, and writing deterministic algorithms. Additionally, it features a video explaining normal maps and procedural loading indicators in game engines like Unity and Unreal. It also includes talks from SIGGRAPH 2024 and discusses various advanced techniques for shadow rendering and image upscaling.