Register
handmade.network Library

Software Rendering

Rendering on the CPU as opposed to the GPU.

Article

  • Color: From Hexcodes to Eyeballs
    ★ 0 0
    A grand tour of the science behind color, color perception, and how colors are generated by computer displays. By Jamie Wong.
  • Point in Polygon Detection Strategies
    ★ 0 0
    Testing whether a point is inside a polygon is a basic operation in computer graphics. Graphics Gems presents an algorithm for testing points against convex polygons (Badouel 1990). This Gem provides algorithms which are from 1.6 to 9 or more times faster for convex polygons. It also presents algorithms for testing non-convex polygons and discusses the advantages and drawbacks of each. Faster, more memory intensive algorithms are also presented, along with an O(log n) algorithm for convex polygons. Code is included for the algorithms discussed.

Online Book

  • Tiny Raycaster
    ★ 0 0
    "This text is written for those who only make first steps in programming. The main idea is to show, step by step, how to make a game à la Wolfenstein 3D. Attention, I am not going to compete with Carmack, he is a genius and his code is stunning. I aim a different goal: I'm using the huge computing power of modern computers to allow my students to create fun projects in very short time (typically few days), without getting stuck in the optimization nightmare."
  • Tiny Raytracer
    ★ 0 0
    "There are plenty of raytracing articles on the web; however the problem is that almost all of them show finished software that can be quite difficult to understand. Take, for example, the very famous businness card ray tracer challenge. It produces very impressive programs, but it's very difficult to understand how this works. Rather than showing that I can do renders, I want to tell you in detail how you can do it by yourself."
  • Tiny Renderer
    ★ 0 0
    "In this series of articles, I want to show the way OpenGL works by writing its clone (a much simplified one). Surprisingly enough, I often meet people who cannot overcome the initial hurdle of learning OpenGL / DirectX. Thus, I have prepared a short series of lectures, after which my students show quite good renderers. Warning: this is a training material that will loosely repeat the structure of the OpenGL library. It will be a software renderer. I do not want to show how to write applications for OpenGL. I want to show how OpenGL works. I am deeply convinced that it is impossible to write efficient applications using 3D libraries without understanding this. I will try to make the final code about 500 lines. My students need 10 to 20 programming hours to begin making such renderers. At the input, we get a test file with a polygonal wire + pictures with textures. At the output, we’ll get a rendered model. No graphical interface, the program simply generates an image."

Repository

  • Tiny Raycaster
    ★ 0 0
    "This text is written for those who only make first steps in programming. The main idea is to show, step by step, how to make a game à la Wolfenstein 3D. Attention, I am not going to compete with Carmack, he is a genius and his code is stunning. I aim a different goal: I'm using the huge computing power of modern computers to allow my students to create fun projects in very short time (typically few days), without getting stuck in the optimization nightmare."
  • Tiny Raytracer
    ★ 0 0
    "There are plenty of raytracing articles on the web; however the problem is that almost all of them show finished software that can be quite difficult to understand. Take, for example, the very famous businness card ray tracer challenge. It produces very impressive programs, but it's very difficult to understand how this works. Rather than showing that I can do renders, I want to tell you in detail how you can do it by yourself."
  • Tiny Renderer
    ★ 0 0
    "In this series of articles, I want to show the way OpenGL works by writing its clone (a much simplified one). Surprisingly enough, I often meet people who cannot overcome the initial hurdle of learning OpenGL / DirectX. Thus, I have prepared a short series of lectures, after which my students show quite good renderers. Warning: this is a training material that will loosely repeat the structure of the OpenGL library. It will be a software renderer. I do not want to show how to write applications for OpenGL. I want to show how OpenGL works. I am deeply convinced that it is impossible to write efficient applications using 3D libraries without understanding this. I will try to make the final code about 500 lines. My students need 10 to 20 programming hours to begin making such renderers. At the input, we get a test file with a polygonal wire + pictures with textures. At the output, we’ll get a rendered model. No graphical interface, the program simply generates an image."

YouTube Series

YouTube Video