|
srp
software rendering pipeline
|
#include <stdio.h>#include <assert.h>#include "framebuffer.h"#include "message_callback_p.h"#include "defines.h"
Functions | |
| SRPFramebuffer * | srpNewFramebuffer (size_t width, size_t height) |
| void | srpFreeFramebuffer (SRPFramebuffer *this) |
| void | srpFramebufferDrawPixel (const SRPFramebuffer *this, size_t x, size_t y, double depth, uint32_t color) |
| void | srpFramebufferNDCToScreenSpace (const SRPFramebuffer *this, const double *NDC, double *SS) |
| void | framebufferClear (const SRPFramebuffer *this) |
| static uint32_t * | framebufferGetPixelPointer (const SRPFramebuffer *this, size_t x, size_t y) |
| static double * | framebufferGetDepthPointer (const SRPFramebuffer *this, size_t x, size_t y) |
Framebuffer implementation
| void framebufferClear | ( | const SRPFramebuffer * | this | ) |
Clear a framebuffer: fill the color with black and depth with -1
| [in] | this | The pointer to SRPFramebuffer, as returned from srpNewFramebuffer() |
| void srpFramebufferNDCToScreenSpace | ( | const SRPFramebuffer * | this, |
| const double * | NDC, | ||
| double * | SS | ||
| ) |
Convert Normalized Device Coordinates to screen-space coordiantes
| [in] | this | The pointer to SRPFramebuffer, as returned from srpNewFramebuffer |
| [in] | NDC | Pointer to 3-element double array containing NDC position |
| [out] | SS | Pointer to 3-element double array that will contain SS position after the call. The z-component is the same as z-component of NDC coordinates. |
| void srpFreeFramebuffer | ( | SRPFramebuffer * | this | ) |
Free a framebuffer
| [in] | this | The pointer to SRPFramebuffer, as returned from srpNewFramebuffer() |
| SRPFramebuffer * srpNewFramebuffer | ( | size_t | width, |
| size_t | height | ||
| ) |
Create a framebuffer
| [in] | width | Width of a new framebuffer in pixels |
| [in] | height | Height of a new framebuffer in pixels |