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
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