Commit Graph

538 Commits

Author SHA1 Message Date
Ray
6e8f3b0f45 Update rlgl.h 2022-09-19 10:35:34 +02:00
Ray
12e8cef9cf REMOVED: Mipmaps software generation for OpenGL 1.1
As generation is done in software, it's up to the user to do it. `ImageMipmaps()` is already provided for reference.
2022-09-19 10:31:55 +02:00
Nikolas
42ecd72547
[rlgl] Check for extensions before enabling them (#2706)
* [rlgl] Check for extensions before enabling them

* Shift to glad on macOS

* #undef CORE_OPENGL_33

* Remove version hack and fix ASTC compression assumption

* Remove loader from glad

* Use GLAD_MALLOC/FREE instead of malloc/free

* More explicit extension checking
2022-09-18 21:08:51 +02:00
Nikolas
a12ddacb7b
Enable DXT compression on __APPLE__ targets (#2694) 2022-09-12 12:21:41 +02:00
Ray
cf24c021a3 WARNING: BREAKING: Reviewed SSBO usage to avoid long long
raylib library tries to avoid `long long` usage. Several SSBO functions have been reviewed (including some renames for consistency) to minimize `long long` type usage.
2022-09-09 00:26:47 +02:00
Ray
9996e328cb WARNING: BREAKING: Removed rlCheckRenderBatchLimit() requirement
Updated version to `rlgl 4.2`
2022-09-05 13:20:09 +02:00
Ray
ad5ffd78d6 REVIEWED: rlgl enums and comments 2022-09-05 11:15:28 +02:00
Ray
64cca24526 ADDED: RL_TEXTURE_MIPMAP_BIAS_RATIO support to rlTextureParameters() for OpenGL 3.3 #2674 2022-09-01 11:18:22 +02:00
Ray
904c505125 minor tweak 2022-08-18 15:10:40 +02:00
Ray
dd455c626e Update rlgl.h 2022-08-02 18:33:00 +02:00
Ray
fd191a32ea Remove trailing spaces 2022-08-02 00:36:31 +02:00
Hanaxar
6f231ea9ac
Fix signedness in rlBindImageTexture (#2539)
rlGetGlTextureFormats was expecting unsigned int, corrected variables according to that.
2022-06-23 12:23:14 +02:00
Ray
371aa0fe7f Update rlgl.h 2022-06-21 20:59:54 +02:00
Ray
68c7cc0cc4 minor tweak 2022-06-21 19:53:28 +02:00
Ray
0afa79067b Revert "Update rlgl.h"
This reverts commit 8fe6bfabbf.
2022-06-18 20:47:49 +02:00
Ray
8fe6bfabbf Update rlgl.h 2022-06-18 19:24:11 +02:00
Ray
6f3b2a7661 Update rlgl.h 2022-06-18 16:22:47 +02:00
Ray
309ad3e08b REVIEWED: rlTextureParameters(), reset anisotropy level 2022-06-16 13:07:38 +02:00
Ray
7ed3d870fe REVIEWED: rlGenTextureMipmaps(), removed filtering setup 2022-06-16 13:07:09 +02:00
Ray
dca23cb3ff RENAMED: BLEND_ALPHA_PREMUL to BLEND_ALPHA_PREMULTIPLY 2022-06-07 18:46:14 +02:00
Jonathan Poncelet
5bdd8f134f
Improved boolean definitions (#2485) 2022-05-19 21:21:09 +02:00
Ray
df3f64bfd2 Corrected typo 2022-05-07 18:04:34 +02:00
lazaray
bbc8d39185
Add support for truncating parser input (#2464)
* Add support for truncating parser input

* Remove RLAPI from implementations in rlgl.h
2022-05-06 20:18:39 +02:00
Ray
bdfa256cea Update rlgl.h 2022-04-25 19:35:23 +02:00
Ray
74ca81338e REDESIGNED: Set rlgl internal framebuffer #2420 2022-04-24 12:37:50 +02:00
Ray
dc553d1996 Update rlgl.h 2022-04-24 12:25:26 +02:00
Ray
f798ee2bc1 Update rlgl.h 2022-04-24 12:19:41 +02:00
Maiko Steeman
ccfac59c60
Fix for vr rendering not taking render target size into account (#2424) 2022-04-24 11:48:50 +02:00
Ray
ff95f05386 Update rlgl.h 2022-04-24 00:29:15 +02:00
raysan5
937e7b3dd9 REVIEWED: Some functions input parametes that should be const 2022-02-20 20:35:28 +01:00
megagrump
f40eed5adf
add premultiplied alpha blend mode (#2342) 2022-02-13 18:42:24 +01:00
raysan5
44d3cee5d1 Minor tweak 2022-01-28 21:25:40 +01:00
raysan5
f57727995a REVIEWED: rlLoadShaderCode() 2022-01-13 19:05:45 +01:00
Matthew Owens
e621efe79f
rlLoadShaderCode - set ShaderId variables to RLGL.State.default[VF]ShaderId if repesctive Code is NULL (#2281) 2022-01-13 18:42:44 +01:00
Ray
7a159664bc Improved shader loading code 2022-01-08 20:12:03 +01:00
Ray
612c4ad1dc Reviewed possible issue with shaders detaching 2022-01-08 19:55:14 +01:00
Gerber Lóránt Viktor
ba1e91b4d7
Change comment about custom blend modes in rlgl.h (#2260) 2022-01-02 22:50:39 +01:00
raysan5
a940f41b4b Update year to 2022 2021-12-31 20:06:22 +01:00
raysan5
0454acaacf REVIEWED: Clear SSBO buffers on loading #2185 2021-12-15 13:09:24 +01:00
めぐみ発動機 (isVowel / GreenWing)
478b70e53e
fixed typo: aproximation to approximation (#2163) 2021-11-21 18:06:20 +01:00
Ray
b7bf220598 REVIEWED: rlUpdateTexture() 2021-11-15 10:25:24 +01:00
Uneven Prankster
35cbacc68b
Allow GL4.3 capabilities to be shown (#2124)
Now that 4.3 was added this can be enabled with the compile flag.
2021-11-09 15:24:39 +01:00
Ray
14e4992d73 REVIEWED: rlGetCompressedFormatName() 2021-11-09 11:53:18 +01:00
Ray
21ec8c38ae Review variables initialization
- All variables are initialized on declaration, some arrays were not properly initialized
 - Static array buffers require memset() for re-initialization on every function call
2021-11-09 11:49:03 +01:00
Ray
1fac09d0f4 REVIEWED: example: Compute shader Game-of-life 2021-10-31 12:28:04 +01:00
Ray
25642cff36 Update comments for OpenGL 4.3 2021-10-26 22:23:16 +02:00
raysan5
fec0ce34c5 Remove trailing spaces 2021-10-19 14:57:12 +02:00
raysan5
719c1551cc Reviewed latest PR formatting and details 2021-10-19 13:30:23 +02:00
warzes
9f2ff3e4d6
Support create OpenGL debug context in OpenGL 4.3 (#2068)
* - support create OpenGL debug context in OpenGL 4.3

* - additional events in debug message
- fixed glEnable(GL_DEBUG_OUTPUT)

* Reviewed OpenGL Debug Context
2021-10-19 12:43:27 +02:00
raysan5
b28e353626 Reviewed glDisableVertexAttribArray() issue #2068 2021-10-18 13:22:52 +02:00
raysan5
a3f9ba8704 Removed useless GL calls #2068 2021-10-18 13:16:07 +02:00
Ray
ccf4329792 Review comments 2021-10-18 00:23:26 +02:00
Uneven Prankster
a6fb2dafc6
Fix rlLoadComputeShaderProgram define (#2067)
Now uses correct version.
2021-10-17 23:11:42 +02:00
raysan5
7a16834124 UPDATE: Officially support OpenGL 4.3 2021-10-17 21:41:19 +02:00
raysan5
cf12992b6a Remove trailing spaces 2021-10-17 21:00:20 +02:00
Ray
99f6707e2c Support OpenGL 4.3
- Support Compute Shaders by rlgl API
 - Support SSBO by rlgl API
2021-10-16 23:49:31 +02:00
Ray
e36dc01b91 Support GRAPHICS_API_OPENGL_43 2021-10-16 23:39:21 +02:00
Ray
8523d13683 Update rlgl.h 2021-10-16 23:30:30 +02:00
Astie Teddy
dba29e4405
Compute shaders support (#2061)
* Add basic compute shader and ssbo support in rlgl.

* Add rlBindImageTexture (untested), now requires SUPPORT_COMPILE_SHADERS

* Delete glad.c

* Delete glad.h

* Delete khrplatform.h

* Revert to previous glad.h

* Remove "glad.c"

Co-authored-by: Ray <raysan5@gmail.com>
2021-10-16 23:26:25 +02:00
Ray
0aefe256d0 REVIEWED: rlLoadDrawQuad() description #2058 2021-10-16 22:39:22 +02:00
Ray
1b793e76dc Reviewed memory usage 2021-10-16 22:36:47 +02:00
Ray
84edd22612 Reviewed unsigned int issue (discussion #2054) 2021-10-15 11:25:17 +02:00
Ray
83b3478fe4 Reviewed some TODO 2021-10-13 23:45:57 +02:00
Ray
a91f61262e Review RLAPI to avoid warnings 2021-10-10 23:24:05 +02:00
raysan5
8722ff7043 REVIEWED: RLGL.State.vertexCounter (See detailed comment)
`RLGL.State.vertexCounter` is a generic counter and it's reused for all `rlRenderBatch`, actually, once render batch is filled, required vertex count is provided through the draw calls, so, the total accumulated count of vertices is not directly registered inside the rlRenderBatch.

`RLGL.State.vertexCounter` keeps that count but one possible improvement(?) could be moving the `vertexCounter` inside `rlRenderBatch` to always keep a register of the total accumulated vertices in that batch (despite that info is provided by the accumulated `draws[i].vertexCount`.

Simplifying, `RLGL.State.vertexCounter = SUM(draws[i].vertexCount)`

The decision to move the counter out of `rlVertexBuffer` is to keep only the data that I think should belong to `rlVertexBuffer` and make it more generic, aligned with raylib `Mesh` structure.

The decision to not add it to `rlRenderBatch` is because it could contain multiple `rlVertexBuffer` and it would be confusing (because it would only register the count of the last filled one).
2021-10-06 11:44:57 +02:00
Ray
8d7f97ee04 Remove trailing spaces 2021-10-06 01:20:46 +02:00
Ray
9a4fb25285 REDESIGNED: Simplify vertex data recording
Instead of registering vertex texcoords and colors on every call, we keep the last defined value and we record everything on `glVertex*()`. Actually that behavior is aligned with OpenGL 1.1 standard.
2021-10-06 01:17:20 +02:00
raysan5
b972b8d324 REVIEWED: API functions specifiers 2021-10-05 18:33:41 +02:00
Ray
f869229b7f Minor format tweaks 2021-10-03 12:09:59 +02:00
mausimus
dfbb134bfe
RLGL: restore draw batch state after limit check (#2018) 2021-09-29 23:26:29 +02:00
Ray
00a763ea44 Reviewed some TODO comments 2021-09-23 00:18:47 +02:00
Ray
9362eaf9c6 REVIEWED: Naming: length vs size 2021-09-01 23:40:51 +02:00
Ray
a0f8682905 REVIEWED: <name>Count for consistency
Following english rules, it should be singular name before Count.
2021-09-01 23:09:30 +02:00
Ray
14e443afba REVIEWED: OpenGL 1.1 compilation issue 2021-08-25 23:41:33 +02:00
Ray
a5beb940f8 Remove trailing spaces 2021-08-16 23:23:16 +02:00
Ray
f3385b6ad2 Update rlgl.h 2021-08-16 19:52:57 +02:00
Ray
ef8526ae36 Update rlgl.h 2021-08-16 19:26:10 +02:00
Ray
92a13878dc Add some comments 2021-08-16 19:23:06 +02:00
raysan5
aae60e1e44 REVIEWED: extern "C" definition position for consistency
Note that `extern "C"` calling convention only affects objects that need to be seen by the linker, in our case only functions... but it would also be required by global variables exposed, if any.
2021-08-15 13:02:53 +02:00
raysan5
1dff5814be ADDED: rlUpdateVertexBufferElements() #1915 2021-08-12 21:01:09 +02:00
raysan5
26db391576 ADDED: rlActiveDrawBuffers() #1911
- ADDED: rlEnableColorBlend()/rlDisableColorBlend()
2021-08-12 20:38:57 +02:00
630Studios
ce3214b82d
[rlgl] rlUpdateVertexBuffer (#1914)
* GenMeshTangents Fix

* GenMeshTangents Fix - Comment Update

* GenMeshTangents Fix - Comment Update final

* Code Style Changes

* Code Style Changes Final

* Code Style Changes Final 2

* GenMeshTangents better handling for issue #1876

* GenMeshTangents better handling for issue #1876

* GenMeshTangents: Better fix for issue #1876

* vboId location fix

* rlUpdateVertexBuffer - bufferId is an unsigned int
2021-08-12 09:47:00 +02:00
raysan5
aa67903f96 Improve rlgl description 2021-07-31 19:58:30 +02:00
raysan5
5b6d83b533 REVIEWED: rlgl defines for consistency 2021-07-31 19:46:44 +02:00
raysan5
3e75a2109d REVIEWED: rlgl module header info 2021-07-31 19:08:13 +02:00
raysan5
b805754aa1 REVIEWED: Avoid bool type collisions 2021-07-31 18:10:26 +02:00
raysan5
dffd1435e9 Revert "REVIEWED: Avoid UBSAN warnings #1891"
This reverts commit a8e9e1387f.
2021-07-30 13:50:33 +02:00
raysan5
a8e9e1387f REVIEWED: Avoid UBSAN warnings #1891 2021-07-30 13:47:21 +02:00
raysan5
b4fddf146b REVIEWED: Added new mechanism to avoid data types collision between modules that share same data types and can be used in standalone mode 2021-07-30 13:44:52 +02:00
raysan5
aeb1a0da84 REVERTED: Removed the need for rlMatrix
Now rlgl uses the `Matrix` type, just make sure it has been previously defined somewhere... I don't like this approach but it's probably the easier one for the users... still looking for a better solution... maybe using something like
`#define MATRIX_TYPE`, so it can be checked in other modules.
2021-07-30 12:54:54 +02:00
raysan5
bd70a22412 Review some issues 2021-07-30 11:56:14 +02:00
raysan5
8b7f43f89b WARNING: BREAKING CHANGE: rlgl complete decoupling from raylib -WIP-
rlgl has been redesigned to avoid any dependency to `raylib` or `raymath`, all functions using some of those libs have been reviewed.
 - REMOVED: `Texture2D`, `Shader` structs dependency
 - REMOVED: `Vector3`, `Matrix` structs dependency
 - REMOVED: raymath functions dependency, all required math is implemented in rlgl
 - ADDED: `rlMatrix` custom rlgl type
 - ADDED: `utils.c`: `rlMatrixFromMatrix()` and `rlMatrixToMatrix()` for a safe conversion between raylib<->rlgl matrix types
 - ADDED: `rl` prefix to all `rlgl` structs
 - Other small tweaks here and there
2021-07-29 21:57:50 +02:00
raysan5
96aadec503 REVIEWED: Info on image loading failure 2021-07-28 19:47:53 +02:00
raysan5
e9c7ab925f REVIEWED: rlDrawVertexArrayElements() #1891 2021-07-27 23:35:54 +02:00
raysan5
5ed814e950 Minor tweaks and comments 2021-07-09 17:36:20 +02:00
Ray
4b6e6ce20e REVIEWED: Improved log info on image/textures laoding
ADDED: rlGetPixelFormatName()
2021-06-26 13:07:14 +02:00
Ray
e0720a0a55 WARNING: REVIEWED: Default shader uniform names
When a shader is loaded, by default, several locations are tried to be set automatically.
2021-06-25 13:35:43 +02:00
Ray
d4c03b47ec REVIEWED: LoadShader() and default locations
Reviewed locations descriptions
2021-06-25 00:46:14 +02:00
Ray
942657fc7c Remove Color struct requirement 2021-06-17 00:28:51 +02:00
Ray
7bc2e922c9 Review some comments 2021-06-10 17:49:55 +02:00