#renderer #2d #graphics

softtri

一个软件三角形渲染器

1 个不稳定版本

0.1.0 2023年10月25日

#1060 in 图形API

MIT 许可证

18KB
479

SoftTri

一个软件三角形渲染器

示例

待办事项

  • 抗锯齿
  • 向量指令集(SIMD)

lib.rs:

概述

一个软件三角形渲染器

示例

let width = 1280;
let height = 720;

let v0 = Vertex::new(
   [width as f32 / 2.0, 1.0].into(),
   [1.0, 0.0, 0.0, 1.0].into(),
   [0.0, 0.0].into(),
);
let v1 = Vertex::new(
   [1.0, height as f32 - 1.0].into(),
   [0.0, 1.0, 0.0, 1.0].into(),
   [1.0, 0.0].into(),
);
let v2 = Vertex::new(
   [width as f32 - 1.0, height as f32 - 1.0].into(),
   [0.0, 0.0, 1.0, 1.0].into(),
   [1.0, 1.0].into(),
);

let mut canvas = SoftTriCanvas::new(width, height, TextureFormat::RGBA);
canvas.draw_tri(v0, v1, v2, None);

// draw to a window/image using canvas.buffer

依赖项

~2.5MB
~45K SLoC