added gradient shader logic to trapezoids

This commit is contained in:
2026-07-08 14:34:55 -07:00
parent b7032c3b8e
commit f61e3a8237
8 changed files with 70 additions and 54 deletions
+3 -20
View File
@@ -29,9 +29,9 @@ namespace UwU {
uint16_t height;
uint16_t stride;
void drawPixel(Coord2 coord, Color color) {
void drawPixel(uint16_t x, uint16_t y, Color color) {
// if (color.a == 0) {return;}
size_t i = (size_t)coord.y * stride + (size_t)coord.x * 4;
size_t i = (size_t)y * stride + (size_t)x * 4;
// uint8_t b0 = pixels[i + 0];
// uint8_t g0 = pixels[i + 1];
// uint8_t r0 = pixels[i + 2];
@@ -41,25 +41,8 @@ namespace UwU {
pixels[i + 0] = color.b; // B
pixels[i + 1] = color.g; // G
pixels[i + 2] = color.r; // R
pixels[i + 3] = 0xff; // A
pixels[i + 3] = 0xff; // A
return;
}
// void drawPixelShader(uint16_t x, uint16_t y, Shader& shader) {
// Color newColor = shader.color(x, y);
// if (newColor.a == 0) {return;}
// size_t i = (size_t)y * stride + (size_t)x * 4;
// // uint8_t b0 = pixels[i + 0];
// // uint8_t g0 = pixels[i + 1];
// // uint8_t r0 = pixels[i + 2];
// // uint8_t b = Helpers::lerp8(b0, newColor.b, newColor.a);
// // uint8_t g = Helpers::lerp8(g0, newColor.g, newColor.a);
// // uint8_t r = Helpers::lerp8(r0, newColor.r, newColor.a);
// pixels[i + 0] = newColor.b; // B
// pixels[i + 1] = newColor.g; // G
// pixels[i + 2] = newColor.r; // R
// pixels[i + 3] = 0xff; // A
// return;
// }
};
}