Commit graph raylib/src
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
Ray
b80250bee4
Merge pull request #4807 from RicoP/RicoP/sinfl_bsr
[rcore] sinfl_bsr fix for TCC
2025-03-11 08:32:32 +01:00
Rico P
0934cdba48
fix C++ style cast 2025-03-11 07:09:10 +01:00
Rico P
7dc409d060
potential fix for MSVC compile error 2025-03-11 07:03:57 +01:00
Rico P
e7872a700d
update sinfl_bsr 2025-03-10 20:57:48 +01:00
Ray
7f8bf2233c REVIEWED: Formating to follow raylib conventions 2025-03-10 17:08:18 +01:00
Ray
bd8e59f18d Replace size_t by unsigned int 2025-03-10 17:07:18 +01:00
Ray
4c8c72778d Remove trailing spaces 2025-03-10 17:04:29 +01:00
Ray
9c62a7823b Update Makefile 2025-03-10 17:04:14 +01:00
Colleague Riley
0853c5b03f
[rcore][RGFW] bug fixes (#4798)
* update RGFW to 1.6

* properly handle RGFW_quit events

* fix rcore_desktop_rgfw bugs

* update

* update

* uncomment out
2025-03-10 16:50:40 +01:00
Kaluub
9ba0cdbe6d
Fix GetCurrentMonitor comments. (#4812) 2025-03-07 19:21:08 +00:00
Ashish Bhattarai
f1385f3aec
Fix stb_truetype composite glyph scaling logic (#4811) 2025-03-04 18:53:11 +01:00
sleeptightAnsiC
34159399cf
[rcore] fix crash in InitWindow, due to unchecked result of InitPlatform (#4803)
* [rcore] fix crash in InitWindow, due to unchecked result of InitPlatform

Check the result of InitPlatform(), if it isn't 0, report the Error
and return. This prevent crashes and allows for gracefully aborting
or recovering by checking IsWindowReady().

Partially-fixes: https://github.com/raysan5/raylib/issues/4801

* [rcore] style: store the result of InitPlatform() before checking it

Small style change that doesn't impact how the code behaves here.
Variable 'result' is not used anywhere else in this block,
it's just for compliance with Raylib's coding conventions.

Requested in PR: https://github.com/raysan5/raylib/pull/4803#discussion_r1976502788

* [rcore] use LOG_WARNING when InitPlatform() fails

...as this is preferred over LOG_ERROR.

Requested-by: https://github.com/raysan5/raylib/pull/4803#discussion_r1976651724
2025-03-02 17:05:09 +01:00
Rico P
539c45ee23
sinfl_bsr fix for TCC 2025-03-02 16:20:49 +01:00
Ray
b99c2848c1 Merge branch 'master' of https://github.com/raysan5/raylib 2025-03-02 13:43:32 +01:00
Ray
654131799e Minor tweaks 2025-03-02 13:43:15 +01:00
sleeptightAnsiC
a20d9dedf3
[desktop_glfw] fix InitPlatform crash caused by glfwCreateWindow... (#4804)
...returning NULL. This was causing a crash few lines later.

Refs: https://github.com/raysan5/raylib/issues/4801#issuecomment-2691201072
Partially-fixes: https://github.com/raysan5/raylib/issues/4801
2025-03-01 23:42:07 +01:00
Colleague Riley
e4dcdfa1f2
update RGFW to 1.6 (#4795) 2025-02-25 21:49:37 +01:00
Ray
557d071fa2 Reviewed shader loading message 2025-02-25 17:50:46 +01:00
Ray
da8a08006a Added some comments on latest change 2025-02-25 12:46:06 +01:00
Destructor17
27af359d1c
[rlgl] Preserve texture on mode switching (#4364)
* Fix textures on draw mode switch

* formatting fix

* ident
2025-02-25 12:39:00 +01:00