nngn
|
Axis-aligned sprite rasterizer with texture sampling. More...
#include <rasterizer.h>
Public Types | |
using | Mode = nngn::Graphics::TerminalMode |
Public Member Functions | |
Rasterizer (Mode m) | |
mat4 | proj (void) const |
World projection matrix. | |
mat4 | hud_proj (void) const |
UI projection matrix. | |
void | update_camera (uvec2 term_size, uvec2 window_size, mat4 proj, mat4 hud_proj, mat4 view) |
Updates internal camera matrices. | |
void | sprite (std::span< const Vertex > vbo, std::span< const u32 > ebo, mat4 proj, std::span< const Texture > textures, FrameBuffer *fb) const |
Rasterizes a VBO/EBO pair containing textured quad. | |
void | font (std::span< const Vertex > vbo, std::span< const u32 > ebo, mat4 proj, std::span< const Texture > font, FrameBuffer *fb) const |
Rasterizes a VBO/EBO pair containing text data. | |
Private Attributes | |
mat4 | m_proj = {} |
mat4 | m_hud_proj = {} |
Mode | mode |
Axis-aligned sprite rasterizer with texture sampling.
|
inlineexplicit |
void nngn::term::Rasterizer::font | ( | std::span< const Vertex > | vbo, |
std::span< const u32 > | ebo, | ||
mat4 | proj, | ||
std::span< const Texture > | font, | ||
FrameBuffer * | fb ) const |
Rasterizes a VBO/EBO pair containing text data.
|
inline |
UI projection matrix.
|
inline |
World projection matrix.
void nngn::term::Rasterizer::sprite | ( | std::span< const Vertex > | vbo, |
std::span< const u32 > | ebo, | ||
mat4 | proj, | ||
std::span< const Texture > | textures, | ||
FrameBuffer * | fb ) const |
Rasterizes a VBO/EBO pair containing textured quad.
data.
void nngn::term::Rasterizer::update_camera | ( | uvec2 | term_size, |
uvec2 | window_size, | ||
mat4 | proj, | ||
mat4 | hud_proj, | ||
mat4 | view ) |
Updates internal camera matrices.
|
private |
|
private |
|
private |