Commit graph raylib/src/external/rlsw.h
Author SHA1 Message Date
Bigfoot71
2f9eb5b727 impl point scissor clipping 2025-03-22 15:57:12 +01:00
Bigfoot71
633e34e457 round screen coordinate (line rasterization) 2025-03-22 15:19:55 +01:00
Bigfoot71
f0b02b8cad impl line scissor clipping 2025-03-22 15:18:41 +01:00
Bigfoot71
3441cf6327 review swScissor 2025-03-22 12:47:31 +01:00
Bigfoot71
0fb0c5cd38 review scissor clear 2025-03-22 12:44:32 +01:00
Bigfoot71
d3b6fa4785 start to impl scissor test + review line clipping
The support for the scissor test has been implemented for clearing as well as for triangle clipping.
The implementation for lines and points is still missing.

I also removed the 2D clipping of lines that used the Cohen-Sutherland algorithm, opting instead to always use the Liang-Barsky algorithm in all cases.
This simplifies the implementation, and the 2D version would have caused issues when interpolating vertices in the future if we want to implement additional features.
2025-03-19 04:21:27 +01:00
Bigfoot71
268a410a13 add quick notes about line clipping algorithms used 2025-03-19 02:19:28 +01:00
Bigfoot71
fe600a5ea1 framebuffer resizing + handle init failure 2025-03-19 02:04:59 +01:00
Bigfoot71
06e49a048a add some not planned functions
- `glDepthMask`
- `glColorMask`
2025-03-19 01:41:24 +01:00
Bigfoot71
fc52b7710c impl polygone modes 2025-03-19 01:28:41 +01:00
Bigfoot71
793d56c701 fix and improve polygon clipping functions 2025-03-16 03:42:33 +01:00
Bigfoot71
e15c0d9639 impl points + point size 2025-03-16 02:17:35 +01:00
Bigfoot71
3bc8f36f14 impl line width 2025-03-16 00:50:34 +01:00
Bigfoot71
645b5e9c45 tweaks 2025-03-16 00:09:13 +01:00
Bigfoot71
cdf384794d add several buffer format support
Several depth and color formats have been added for the framebuffer.

8-bit, 16-bit, and 24-bit formats are now available for depth.

RGB 8-bit (332), RGB 16-bit (565), and RGB 24-bit (888) formats are now available for color.

Alpha support is no longer present for the framebuffer at the moment, but it can easily be restored by adding the formats and reinterpolating the alpha in the areas that do not perform color blending.

Additionally, this commit brings performance improvements.
2025-03-15 04:13:37 +01:00
Bigfoot71
2666eedeb0 review get pixel functions
+ review unorm/float conversion
2025-03-13 23:13:34 +01:00
Bigfoot71
d3fe48fa7d texture sampling optimization 2025-03-13 22:54:05 +01:00
Bigfoot71
9be90fd5e6 review the loading and management of textures
to be closer to the OpenGL API
2025-03-13 21:54:18 +01:00
Bigfoot71
6b8978cb3e avoid to recalculate MVP when its not needed + tweaks 2025-03-13 20:53:18 +01:00
Bigfoot71
363f3afa60 review ndc to screen projection 2025-03-13 04:19:12 +01:00
Bigfoot71
0b713cdfba small optimizations / tweaks 2025-03-13 03:30:41 +01:00
Bigfoot71
a1b2ecbded add clear buffer bitmasks 2025-03-13 01:58:15 +01:00
Bigfoot71
ff1849dc97 fixes and tweaks 2025-03-13 01:47:16 +01:00
Bigfoot71
804240966a impl color blending 2025-03-13 00:16:58 +01:00
Bigfoot71
5f92a0fcd0 impl face culling 2025-03-12 21:42:29 +01:00
Bigfoot71
dcd60be477 impl line clipping and rasterization
+ tweak function names
2025-03-12 21:23:31 +01:00
Bigfoot71
b70f02fdf2 apply perspective correction to colors 2025-03-12 18:32:36 +01:00
Bigfoot71
f305490c33 branchless float saturation 2025-03-12 18:20:05 +01:00
Bigfoot71
8aed39ff49 implement state support
Also replace the triangle rasterization functions with macros that generate specific functions for each state of the rendering system.
Also, add the OpenGL definitions in order to add a binding for rlgl.
2025-03-12 16:35:34 +01:00
Bigfoot71
7d36568eeb add base of rlsw.h 2025-03-12 01:13:39 +01:00