Commit graph raylib/src/external/rlsw.h
Author SHA1 Message Date
Bigfoot71
a8f222d52c optimized copy/blit functions for each dst format 2025-05-11 02:35:34 +02:00
Bigfoot71
d9c60f2d39 tweak framebuffer functions for better readability 2025-05-11 00:12:47 +02:00
Bigfoot71
1ae8bb4970 use opitmized fract function in sw_texture_map 2025-05-10 23:52:19 +02:00
Bigfoot71
d98f229814 tweak lerp vertex function 2025-05-10 23:52:19 +02:00
Bigfoot71
f0d8653d07 greatly improve float saturation 2025-05-10 23:52:19 +02:00
Bigfoot71
a37a8cafd9 review color blending system 2025-05-10 23:52:19 +02:00
Bigfoot71
c1621b3d6d remove useless scissor related data 2025-05-10 23:52:19 +02:00
Bigfoot71
c6cf6c953a preventing a possible division by zero 2025-05-04 17:11:39 +02:00
Bigfoot71
0e58392e8f swBegin tweaks 2025-05-04 17:11:39 +02:00
Bigfoot71
0a6b41d189 reduce matrix compuations and memory usage 2025-05-04 17:11:39 +02:00
Bigfoot71
aff76d9692 impl framebuffer blit function 2025-04-23 17:48:04 +02:00
Bigfoot71
fbdd38c92c fix ndc projection (viewport/scissor) 2025-04-23 17:12:05 +02:00
Bigfoot71
35371bf2b2 review texture wrap 2025-04-23 16:50:46 +02:00
Bigfoot71
a40e8f463c remove normal interpolation 2025-04-23 16:12:57 +02:00
Bigfoot71
dce242435c reimpl get color buffer func
just in case
2025-04-23 16:06:39 +02:00
Bigfoot71
f3de37eff3 add get error function 2025-03-24 14:35:51 +01:00
Bigfoot71
f902cc3f29 fix typo.. 2025-03-24 14:34:21 +01:00
Bigfoot71
be24b06356 texture copy support 2025-03-24 14:33:12 +01:00
Bigfoot71
c7fa9a0fa2 review swCopyFramebuffer 2025-03-22 20:00:32 +01:00
Bigfoot71
02f7d3146b impl copy framebuffer function + glReadPixels 2025-03-22 19:50:27 +01:00
Bigfoot71
64c39e9d53 binding tweaks 2025-03-22 19:19:15 +01:00
Bigfoot71
13585d8684 add glHint and glShadeModel macros (not implmented) 2025-03-22 18:30:27 +01:00
Bigfoot71
618f283cb2 gl binding 2025-03-22 17:59:58 +01:00
Bigfoot71
2009490151 add getter functions 2025-03-22 17:16:21 +01:00
Bigfoot71
26dfe69e5f remove unused defs 2025-03-22 15:57:55 +01:00
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