Skip to content

[rlgl] Add Software Rendering Support #4832

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 115 commits into
base: master
Choose a base branch
from
Draft
Changes from 20 commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
7d36568
add base of rlsw.h
Bigfoot71 Mar 12, 2025
8aed39f
implement state support
Bigfoot71 Mar 12, 2025
f305490
branchless float saturation
Bigfoot71 Mar 12, 2025
b70f02f
apply perspective correction to colors
Bigfoot71 Mar 12, 2025
dcd60be
impl line clipping and rasterization
Bigfoot71 Mar 12, 2025
5f92a0f
impl face culling
Bigfoot71 Mar 12, 2025
8042409
impl color blending
Bigfoot71 Mar 12, 2025
ff1849d
fixes and tweaks
Bigfoot71 Mar 13, 2025
a1b2ecb
add clear buffer bitmasks
Bigfoot71 Mar 13, 2025
0b713cd
small optimizations / tweaks
Bigfoot71 Mar 13, 2025
363f3af
review ndc to screen projection
Bigfoot71 Mar 13, 2025
6b8978c
avoid to recalculate MVP when its not needed + tweaks
Bigfoot71 Mar 13, 2025
9be90fd
review the loading and management of textures
Bigfoot71 Mar 13, 2025
d3fe48f
texture sampling optimization
Bigfoot71 Mar 13, 2025
2666eed
review get pixel functions
Bigfoot71 Mar 13, 2025
cdf3847
add several buffer format support
Bigfoot71 Mar 15, 2025
645b5e9
tweaks
Bigfoot71 Mar 15, 2025
3bc8f36
impl line width
Bigfoot71 Mar 15, 2025
e15c0d9
impl points + point size
Bigfoot71 Mar 16, 2025
793d56c
fix and improve polygon clipping functions
Bigfoot71 Mar 16, 2025
fc52b77
impl polygone modes
Bigfoot71 Mar 19, 2025
06e49a0
add some not planned functions
Bigfoot71 Mar 19, 2025
fe600a5
framebuffer resizing + handle init failure
Bigfoot71 Mar 19, 2025
268a410
add quick notes about line clipping algorithms used
Bigfoot71 Mar 19, 2025
d3b6fa4
start to impl scissor test + review line clipping
Bigfoot71 Mar 19, 2025
0fb0c5c
review scissor clear
Bigfoot71 Mar 22, 2025
3441cf6
review `swScissor`
Bigfoot71 Mar 22, 2025
f0b02b8
impl line scissor clipping
Bigfoot71 Mar 22, 2025
633e34e
round screen coordinate (line rasterization)
Bigfoot71 Mar 22, 2025
2f9eb5b
impl point scissor clipping
Bigfoot71 Mar 22, 2025
26dfe69
remove unused defs
Bigfoot71 Mar 22, 2025
2009490
add getter functions
Bigfoot71 Mar 22, 2025
618f283
gl binding
Bigfoot71 Mar 22, 2025
f447c97
Merge branch 'raysan5:master' into rlsw
Bigfoot71 Mar 22, 2025
13585d8
add `glHint` and `glShadeModel` macros (not implmented)
Bigfoot71 Mar 22, 2025
64c39e9
binding tweaks
Bigfoot71 Mar 22, 2025
02f7d31
impl copy framebuffer function + glReadPixels
Bigfoot71 Mar 22, 2025
c7fa9a0
review `swCopyFramebuffer`
Bigfoot71 Mar 22, 2025
c933848
update rlgl.h
Bigfoot71 Mar 22, 2025
89d4051
update rlgl.h
Bigfoot71 Mar 22, 2025
be24b06
texture copy support
Bigfoot71 Mar 24, 2025
f902cc3
fix typo..
Bigfoot71 Mar 24, 2025
f3de37e
add get error function
Bigfoot71 Mar 24, 2025
a420e5a
def sw alloc macros
Bigfoot71 Mar 24, 2025
973beee
Merge branch 'raysan5:master' into rlsw
Bigfoot71 Mar 24, 2025
7bbdbc5
Merge branch 'raysan5:master' into rlsw
Bigfoot71 Mar 27, 2025
5a03656
Merge branch 'raysan5:master' into rlsw
Bigfoot71 Apr 2, 2025
5ee7f77
Merge branch 'raysan5:master' into rlsw
Bigfoot71 Apr 9, 2025
2a7ecf5
Merge branch 'raysan5:master' into rlsw
Bigfoot71 Apr 23, 2025
dce2424
reimpl get color buffer func
Bigfoot71 Apr 23, 2025
a40e8f4
remove normal interpolation
Bigfoot71 Apr 23, 2025
35371bf
review texture wrap
Bigfoot71 Apr 23, 2025
fbdd38c
fix ndc projection (viewport/scissor)
Bigfoot71 Apr 23, 2025
aff76d9
impl framebuffer blit function
Bigfoot71 Apr 23, 2025
4ac0e0a
Merge branch 'raysan5:master' into rlsw
Bigfoot71 May 4, 2025
0a6b41d
reduce matrix compuations and memory usage
Bigfoot71 May 4, 2025
0e58392
swBegin tweaks
Bigfoot71 May 4, 2025
c6cf6c9
preventing a possible division by zero
Bigfoot71 May 4, 2025
6059705
Merge branch 'raysan5:master' into rlsw
Bigfoot71 May 9, 2025
c1621b3
remove useless scissor related data
Bigfoot71 May 10, 2025
a37a8ca
review color blending system
Bigfoot71 May 10, 2025
f0d8653
greatly improve float saturation
Bigfoot71 May 10, 2025
d98f229
tweak lerp vertex function
Bigfoot71 May 10, 2025
1ae8bb4
use opitmized fract function in sw_texture_map
Bigfoot71 May 10, 2025
d9c60f2
tweak framebuffer functions for better readability
Bigfoot71 May 10, 2025
a8f222d
optimized copy/blit functions for each dst format
Bigfoot71 May 11, 2025
55e5031
review framebuffer filling functions
Bigfoot71 May 11, 2025
1c71622
impl specific quad rendering func
Bigfoot71 May 15, 2025
5e181ed
use of a single global vertex buffer
Bigfoot71 May 15, 2025
110445c
fix 'sw_poly_point_render'
Bigfoot71 May 15, 2025
fd37d4f
added `SW_RESTRICT` and redesigned `sw_lerp_vertex_PNCTH`
Bigfoot71 May 15, 2025
515e894
tweak the pipeline flow regarding the face culling
Bigfoot71 May 15, 2025
e565077
new rendering path for axis aligned quads
Bigfoot71 May 16, 2025
0a3e1f3
oops, translating some comments
Bigfoot71 May 16, 2025
09b1c8b
use of `restrict` for blending function parameters
Bigfoot71 May 16, 2025
281bff7
Merge branch 'raysan5:master' into rlsw
Bigfoot71 May 17, 2025
1820586
update rlgl.h
Bigfoot71 May 17, 2025
d17116f
adding `GRAPHICS_API_OPENGL_11_SOFTWARE` in `DrawMesh`
Bigfoot71 May 17, 2025
a03619f
add `RL_OPENGL_11_SOFTWARE` enum
Bigfoot71 May 17, 2025
169f7f4
temp tweak
Bigfoot71 May 17, 2025
074b68a
build fixes
Bigfoot71 May 17, 2025
9d49dbc
fix DrawMesh for GL 1.1
Bigfoot71 May 17, 2025
5b46c6e
update swClose
Bigfoot71 May 17, 2025
7ec3a5f
review texture format + fix copy
Bigfoot71 May 17, 2025
c35a74a
set minimum req vertices to 3 (quads)
Bigfoot71 May 17, 2025
ea8ecb2
check swInit
Bigfoot71 May 17, 2025
87fae2c
review pixelformat
Bigfoot71 May 17, 2025
6c73c62
tweaks
Bigfoot71 May 17, 2025
3c25efc
fix animNormals (DrawMesh)
Bigfoot71 May 17, 2025
5bab07b
fallback color/texcoord (swDrawArrays)
Bigfoot71 May 17, 2025
f7df285
review swMultMatrixf
Bigfoot71 May 17, 2025
3913ffe
fix texture pool alloc..
Bigfoot71 May 17, 2025
903f56c
review triangle scanlines
Bigfoot71 May 17, 2025
88c24f8
fix `sw_quad_sort_cw`
Bigfoot71 May 17, 2025
b9cfbeb
impl sdl platform
Bigfoot71 May 17, 2025
72e753a
rm def
Bigfoot71 May 17, 2025
2299b6b
increase max clipped polygon vertices
Bigfoot71 May 17, 2025
7b7ed98
improve triangle rasterization along Y axis
Bigfoot71 May 18, 2025
8624edf
review current vertex data
Bigfoot71 May 18, 2025
0b08e75
fix and improve polygon clipping
Bigfoot71 May 18, 2025
6a3818b
fix gradient calculation
Bigfoot71 May 18, 2025
07e891a
cache texture size minus one + comments
Bigfoot71 May 18, 2025
bb5442e
tweaks
Bigfoot71 May 18, 2025
7102073
Merge branch 'raysan5:master' into rlsw
Bigfoot71 May 18, 2025
7fbc52c
BGRA copy support
Bigfoot71 May 18, 2025
2e02489
adding software backend option (cmake)
Bigfoot71 May 18, 2025
caf6b47
update Makefile
Bigfoot71 May 18, 2025
32d849f
fix face culling
Bigfoot71 May 18, 2025
9799448
excluse some exemple with the software backend
Bigfoot71 May 18, 2025
aead157
review SW_CLAMP case in sw_texture_map
Bigfoot71 May 18, 2025
dd48df4
review sw_saturate
Bigfoot71 May 18, 2025
e75329a
review line raster
Bigfoot71 May 18, 2025
a71ec57
fix sw_quad_is_aligned
Bigfoot71 May 18, 2025
bd2179d
review sw_raster_quad_axis_aligned
Bigfoot71 May 18, 2025
87a8e04
tweaks
Bigfoot71 May 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Loading