Commit Graph

696 Commits

Author SHA1 Message Date
Ray
a1d9987e7c WARNING: BREAKING: REVIEWED some enums naming
Now enum names are more consistent between them.
2021-03-19 13:19:54 +01:00
Ray
664fbb87f5 REVIEWED: Material params #1649
Just assigned a fixed memory size for custom Material parameters in case of being required, so we shouldn't worry about allocating/freeing them.
2021-03-18 13:57:53 +01:00
Ray
aba69146f2 Support instancing in OpenGL ES 2.0 if available
Checking for extension and enabling it if available
2021-03-17 13:56:00 +01:00
Ray
01e28263be WARNING: VERY BREAKING CHANGE: Renamed some enum values for consistency
Some enums values have been renamed to be more consistent and also provide a more detailed description:
 - ShaderLocationIndex:    LOC_VERTEX_POSITION -> SHADER_SHADER_LOC_VERTEX_POSITION
 - ShaderUniformDataType:  UNIFORM_VEC2 -> SHADER_UNIFORM_VEC2
 - MaterialMapType: MAP_ALBEDO -> MATERIAL_MAP_ALBEDO
 - PixelFormat: UNCOMPRESSED_GRAYSCALE -> PIXELFORMAT_UNCOMPRESSED_GRAYSCALE
2021-03-14 11:05:51 +01:00
Ray
7ad1370193 Some naming tweaks 2021-03-04 20:22:58 +01:00
Ray
0b108c2087 Corrected bug 2021-03-03 19:49:10 +01:00
Ray
dfe797060a WARNING: BREAKING: RENAMED: enums values
RENAMED: TextureFilterMode values
RENAMED: TextureWrapMode values
2021-03-03 19:47:37 +01:00
Ray
ab36fbf24a Reviewed defines, try to avoid elif statements 2021-03-02 12:45:23 +01:00
Ray
01b3c97c42 Some misc tweaks 2021-03-02 02:03:52 +01:00
Ray
8df56c5843 REVIEWED: rlUnloadMesh() 2021-03-02 01:41:30 +01:00
Ray
c514431e79 REVIEWED: rlUnloadMesh() 2021-03-02 01:35:30 +01:00
Ray
2ff5fa73e9 REVIEWED: rlUnloadMesh() #1615 2021-03-02 00:34:10 +01:00
Jeffery Myers
0f10c44578
Fixes gl state after HDR texture functions. (#1621)
Updates skybox demo to show how to do both HDR and non HDR skyboxes

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-28 23:31:25 +01:00
Ray
58e4efbba8 Review bug on OpenGL 1.1 2021-02-26 13:40:43 +01:00
Ray
ef8318f5e3 [models] Move vboId ALLOC/FREE to rlgl module #1603
Actually, it seems more logical that rlgl takes care of OpenGL data than the models module...

Also, models module loaded vertex data is unloaded by models module.
2021-02-21 12:09:52 +01:00
Jeffery Myers
48a7cd3c87
[Examples] Fix typecast warnings in examples. (#1601)
* Fixing typecast warnings generated by visual studio 2019 in examples.

* Changes to fixes based on feedback

Co-authored-by: Jeffery Myers <JefMyers@blizzard.com>
2021-02-20 23:37:32 +01:00
raysan5
2b1ec5d8d2 Review some comments 2021-02-14 16:46:33 +01:00
BrokenKeyboard
d93b8f6544
Fix spelling mistake (#1581)
Sorry if this is a bit of a useless pr
2021-02-09 22:29:01 +01:00
raysan5
5663c81803 REVIEWED: raudio: Some LOG_ERROR -> LOG_WARNING #1562 2021-02-05 19:19:44 +01:00
raysan5
4407533a41 REVIEWED: DecompressData(), memory reallocation 2021-02-05 13:52:01 +01:00
raysan5
005bc4c414 REVIEWED: LoadShaderProgram() #1563
Try to avoid a possible false-positive memory leak...
2021-02-02 12:33:01 +01:00
hristo
f3ce3a6f74
Removing config.h.in file (#1546)
CMake relied on this file for configurations and also was interfering in the regular config.h by having a separate definition if building with CMake. This was not entirely correct so instead we will define compile time definitions separately through CMake (CompileDefinitions.cmake) and also will use the provided EXTERNAL_CONFIG_FLAGS that I found that will not use config.h in through the build process.

I also introduced a new compiler option (CUSTOMIZE_BUILD) that when OFF will use the default config.h and when ON will show other options for redefining your own options.

Fixed an error in rlgl.h where if you have both RLGL_STANDALONE and SUPPORT_VR_SIMULATOR you get a compile time error.
2021-01-25 10:47:53 +01:00
Ray
bbc09288bd rlOrtho() reverted change 2021-01-09 12:37:21 +01:00
Jeffery Myers
b76dc06297
It's top-bottom not bottom-top in GL space. (#1517) 2021-01-07 23:13:44 +01:00
Victor Gallet
a6cd6eedbe
Remove unused condition in 'GenerateMipmaps' function for GRAPHICS_API_OPENGL_11 (#1496) 2021-01-06 13:27:32 +01:00
raysan5
7bd33e4406 Review rlOrtho() to avoid return in the middle of the function
I usually try to avoid any return in the middle of functions, I try to keep them always at the end of the functions.
2021-01-06 13:26:55 +01:00
Jeffery Myers
5d4aada526
Don't create an ortho matrix when the viewport is 0 in any axis. (#1504)
* Don't create an ortho matrix when the viewport is 0 in any axis.
Not all compilers divide by 0 and return inf, some segfault.
The matrix is not used by anything when minimized, so it just needs to not be called.

* Better fix that always ensures the rlgl matrix is always valid

* Better fix that always ensures the rlgl matrix is always valid
2021-01-06 13:21:58 +01:00
raysan5
d7b4b9e485 Update year to 2021 2021-01-02 18:15:13 +01:00
raysan5
d9a9bacb48 Review formatting 2020-12-23 20:30:00 +01:00
Jeffery Myers
342d4faf14
Add options to set line width and aliasing to rlGL layer. (#1457)
* Add options to set line width and aliasing to rlGL layer.

* Don't do line smoothing in OpenGLES
2020-12-13 10:58:24 +01:00
Jeffery Myers
039503e7c2
Add functions to enable/disable depth writes to go with functions for depth tests. (#1451) 2020-12-05 21:53:19 +01:00
Ray
700bff5fd8 Version tweak 2020-11-19 20:01:40 +01:00
Ray
a54d9f734b rlUpdateTexture(): Corrected issue 2020-11-16 15:18:05 +01:00
Ray
3e1cd487df Remove trailing spaces 2020-11-03 23:47:33 +01:00
Ray
8e15dae5ed Review contributed examples 2020-11-01 13:39:48 +01:00
Ray
fbc51e822b REDESIGNED: Multiple sampler2D usage on batch system
New implementation allow enabling additional textures per batch only.
2020-10-31 11:48:44 +01:00
Ray
8a16348131 Support multiple sample2D on batch drawing #1333 2020-10-29 20:22:52 +01:00
Ray
d99ac093d4 Support additional texture units for default batch system #1333
This path requires some testing...
2020-10-26 20:13:08 +01:00
Ray
d9e591f235 Review some comments 2020-10-26 20:11:58 +01:00
Ray
a850246030 Review Texture type
Texture type also maps to Texture2D and TextureCubemap
2020-09-28 00:40:32 +02:00
raysan5
446f9fff00 Added note 2020-09-27 11:14:49 +02:00
seanpringle
4bcddc3b15
[wip] rlDrawMeshInstanced (#1318)
* rlDrawMeshInstanced first attempt

* rlDrawMeshInstanced OpenGL 3.3 and VAO checks

* rlDrawMeshInstanced GetShaderAttribLocation; comments

* example instanced shader

* RLGL_STANDALONE RAYMATH_STANDALONE Vector4

* apply suggested naming changes; add instanced mesh example

* remove orphan variables
2020-09-27 10:29:05 +02:00
raysan5
c2e56f2604 REVIEW: GenTextureCubemap(), avoid using models.c functions
- DrawCube() belongs to models.c -> rl*() alternative should be used
2020-09-26 11:51:42 +02:00
raysan5
eef82b04ac REVIEW: Replace rlglDraw() calls by DrawRenderBatch() internal calls 2020-09-25 18:19:19 +02:00
raysan5
fe8bf2fa55 REVIEWED: GenTextureCubemap(), use rlgl functionality only
Function has been reviewed to avoid any direct OpenGL call and use rlgl functionality, also, GenDrawCube() has been replaced by the internal batch system with DrawCube().

WARNING: rlEnableTexture() call must be issued after enabling the current framebuffer when using batch mechanism because it includes a set of security checks to avoid batch overflow and push/pop matrix operations.
2020-09-25 18:14:46 +02:00
raysan5
032b2db398 REVIEWED: GenTextureCubemap()
Added some tracelog messages
2020-09-21 13:18:53 +02:00
raysan5
b5d50ee51a EXAMPLE: models_skybox works on OpenGL ES 2.0 2020-09-18 20:47:39 +02:00
raysan5
79d63e6ca1 Review comment 2020-09-18 16:44:28 +02:00
raysan5
152665ff48 REDESIGNED: GenTexture*() #721
Functions have been redesigned to use rlgl and allow to externalize them (aka removing them from rlgl because they use custom shaders...).
2020-09-18 13:50:51 +02:00
raysan5
ccda320be4 REVIEWED: rlFramebufferAttach() to support texture layers
Required to attach multiple color textures and multiple cubemap faces
2020-09-18 11:37:57 +02:00
raysan5
04406c0f1a Corrected minor framebuffer issue on OpenGL ES 2.0 2020-09-18 02:14:05 +02:00
raysan5
cdc8850e68 WARNING: REDESIGN of rlgl framebuffers API #721
This redesign allows more flexibility when creating RenderTexture and a simplification (and hopefully removal) of `GenTexture*()` functions, that should not belong to this model but the user code, due to the use of custom shaders.

Also, this new API opens the door for a possible GBuffers type and advance rendering possibilities...

Some functions of the API have been also simplified or even removed.

rlgl module can be used as an standalone library, so, a version for the library has been added: v3.1.0, matching current raylib version.
2020-09-18 02:11:49 +02:00
raysan5
fa2c114636 WARNING: struct RenderTexture2D: Removed depthTexture
Not required anymore, attachment type is queried when required
2020-09-17 13:44:03 +02:00
raysan5
cbdb9bfe42 REVIEWED: UnloadShader() issue
Avoid unloading default shader, raylib will take care of it
2020-09-16 16:33:17 +02:00
raysan5
b870b9f828 Minor: remove tabs 2020-09-16 13:17:31 +02:00
raysan5
90befff4b8 Make sure to detach data before deleting
Before deleting certain objects, they must be detached from their parents. That's the case for shader objects after linkage to shader program and also for the texture/cubemaps/renderbuffers attached to framebuffers. If objects are deleted before detached, they are kept in memory to avoid accessing deleted data.
2020-09-16 13:17:16 +02:00
raysan5
c5c156d65e Review GenDrawCube() and GenDrawQuad()
Better organized and commented
2020-09-15 13:44:04 +02:00
raysan5
0983d7b45c Solved issues when compiled for OpenGL 1.1 2020-09-15 11:30:20 +02:00
raysan5
5073619962 REVIEWED: GetTextureData(), allow retrieving 32bit float data 2020-09-14 16:03:45 +02:00
raysan5
1134024985 Update rlgl.h 2020-09-01 21:27:47 +02:00
raysan5
05cdaf7d01 MOVED: rlUnproject() [rlgl] -> Vector3Unproject() [raymath] 2020-09-01 21:08:45 +02:00
raysan5
a1422ba1c1 Review custom blend modes mechanism
rlBlendMode() has been added to rlgl to be used on BLEND_CUSTOM. This functionality is exposed to advance users.

In any case, new blending modes could be added if required.
2020-09-01 21:02:19 +02:00
cedemax
bfafb80cde
Multiple blendmodes (#1324)
Co-authored-by: max <max.cedercreutz@cetopo.com>
2020-09-01 20:33:49 +02:00
seanpringle
1d895616f7
rlCheckErrors (#1321)
* rlglCheckErrors

* rlglCheckErrors LOG_WARNING

* rename to rlCheckErrors; improve messages; revert core.c
2020-07-30 12:50:20 +02:00
raysan5
20301d1e5d Corrected issue with framebuffer size storage #1298 2020-07-28 11:44:45 +02:00
raysan5
6ec847a93f Find a better mechanism to avoid FBO on OpenGL 2.1 if required #1290 2020-07-17 19:41:38 +02:00
raysan5
57dc8a91dd Disable FBO support on OpenGL 2.1 #1290 2020-07-10 13:14:56 +02:00
raysan5
0877019fb6 Review comment 2020-07-10 12:15:52 +02:00
Terry Nguyen
871cd1a76a
Free leaked allocations from render objects (#1302) 2020-07-09 20:42:20 +02:00
Ray
5b294b7cff Corrected issue with OpenGL 1.1 support 2020-06-27 14:10:53 +02:00
Ray
ba39a1b304 ADDED: UpdateTextureRec() 2020-06-25 16:26:59 +02:00
Chang Si Yuan
73cc33b493
Fix extra memory allocated when updating color buffer in mesh (#1271) 2020-06-08 10:31:39 +02:00
raysan5
94789dd24a Review usage of sizeof(), unify conventions
All functions requiring sizeof() now follow the same convention:

NUM_ELEMENTS*NUM_SUBELEMENTS*sizeof()
2020-05-23 19:23:40 +02:00
raysan5
70cd2f1edf Tweak 2020-05-22 02:18:50 +02:00
raysan5
6acb7bcfe4 Avoid glGetStringi() on OpenGL 2.1 2020-05-18 13:24:21 +02:00
Random
d9a96c4ca0
added BLEND_SET (#1251)
* added BLEND_SET

* renamed BLEND_SET to BLEND_ADD_COLORS
2020-05-16 13:39:38 +02:00
raysan5
fdad1f023b Avoid all MSVC compile warnings
Most warning were related to types conversion (casting required) and unsigned/signed types comparisons.

Added preprocessor directives (_CRT_SECURE_NO_DEPRECATE; _CRT_NONSTDC_NO_DEPRECATE) to avoid warnings about unsafe functions, those functions are safe while used properly and recommended alternatives are MS only.

Some external libraries still generate warnings.
2020-05-06 19:12:09 +02:00
raysan5
c83477ffca WARNING: Big internal redesign!
Created RenderBatch type and related functions to allow rlgl users creating custom and separate render batches and not only rely on one internal render batch.

This feature has not been exposed on raylib yet because it implies some breaking changes. Right now a custom RenderBatch is just used internally in rlgl.
2020-05-01 17:34:43 +02:00
raysan5
51c3bef497 Review exposed #defines and allow user re-defining
There are multiple #define values around raylib, usually not exposed for redefinition, just reviewed all of them to allow users redefining them on compile time if required.

Also, multiple #define have been renamed and commented.
2020-05-01 17:31:44 +02:00
Reece Mackie
4b03860810
UWP rework (#1231)
* First draft of UWP rework.

* Read desc

- Moved UWP specific functions to uwp_events.h
- Removed BaseApp.
- Implemented example UWP lifecycle.

* Added GIF recording and screenshot support.

* Character inputs and filesystem stuff

* Fix game closing on Xbox when B is pressed.

* Fix the gamepad binding hack

* Add as many keys as I believe are possible.

* Implemented mouse locking of a sort.

* Remove rogue todo, the rest are for a game dev using this example.

* Implemented touch how I "think" it should work. I cant test this.

* Review.
2020-04-30 19:48:39 +02:00
raysan5
62b7064e90 Corrected issue with depth initialization #1179 2020-04-06 19:58:28 +02:00
raysan5
4ceb4d3bf3 Some code tweaks, comments and defines 2020-04-05 17:50:37 +02:00
raysan5
d7b15ac1cf Review TRACELOG() categories 2020-03-27 18:45:37 +01:00
raysan5
c0c775e45d [rlgl] Review TRACELOG() messages, categorized 2020-03-27 18:31:36 +01:00
raysan5
7ae7a87f8a Remove trail spaces 2020-03-25 19:41:51 +01:00
raysan5
2344941974 Replace external libraries custom allocators by raylib ones #1074
NOTE: Two libraries still use custom allocators: glfw and stb_vorbis
2020-03-17 13:40:07 +01:00
Ray
74c486201d ADDED: LoadFileText() and SaveFileText()
Improved file access checks
2020-03-04 00:21:46 +01:00
Ray
1ee6290fcf Replaced fabs() by fabsf() when required 2020-02-28 12:54:39 +01:00
brankoku
572969d8b7
LoadText() tweak (#1113)
Guarantee string is zero-terminated
2020-02-28 08:23:05 +01:00
Ray
f2247c6f0a REVIEWED: LoadText() 2020-02-28 00:32:46 +01:00
Ray
5ff0776235 Remove trail spaces and some tweaks 2020-02-27 13:33:09 +01:00
Ray
245ba2a152 LoadText(): Added comment 2020-02-27 13:19:13 +01:00
Ray
fadd74358b Security check 2020-02-26 23:38:12 +01:00
Ray
fa4e0c1a26 Reviewed example 2020-02-26 20:47:08 +01:00
Ray
7849db65e0 Remove TraceLog() dependency on standalone mode 2020-02-26 20:23:06 +01:00
Ray
113a580021 [rlgl] LoadText() variable scope improvement 2020-02-24 12:05:54 +01:00
Ray
ea40bda88c Added func used in comments 2020-02-04 17:52:40 +01:00
Ray
b5fe41f41a Review libc dependencies and remove when possible
Just for clarification, no plans to remove libc dependency, just did some code analysis to see how much raylib depend on stardard C library. My conclusions:

 - stdlib.h: primary dependency is for malloc() and free()
 - stdio.h: primary dependency is for FILE access, maybe it could go through a custom ABI?
 - string.h: just around 8 functions required
 - math.h: just around 8 functions required
 - others: 1-2 functions required for some other headers
2020-02-04 16:55:24 +01:00
Ray
d2bb6185f1 Review issue with RLGL TraceLog() 2020-02-03 20:20:00 +01:00
Ray
c3f06b7470 Remove all trail spaces 2020-02-03 19:26:28 +01:00
Ray
a7afd8de99 Update rlgl.h 2020-02-03 19:25:05 +01:00
Ray
cde26c743c Replace TraceLog() function by TRACELOG macro
Added SUPPORT_TRACELOG_DEBUG config
2020-02-03 19:13:24 +01:00
Ray
40b73a8a91
Develop branch integration (#1091)
* [core] REDESIGNED: Implement global context

* [rlgl] REDESIGNED: Implement global context

* Reviewed globals for Android

* Review Android globals usage

* Update Android globals

* Bump raylib version to 3.0 !!!

* [raudio] REDESIGNED: Implement global context

* [raudio] Reorder functions

* [core] Tweaks on descriptions

* Issues with SUPPORT_MOUSE_GESTURES

* [camera] Use global context

* REDESIGN: Move shapes drawing texture/rec to RLGL context

* Review some issues on standalone mode

* Update to use global context

* [GAME] Upload RE-PAIR game from GGJ2020 -WIP-

* Update game: RE-PAIR

* [utils] TRACELOG macros proposal

* Update config.h
2020-02-03 18:31:30 +01:00
Ray
e6d304cdc2 Tweak to avoid compilation warning 2020-01-28 18:35:14 +01:00
Ray
a3ca859db2 Allow MAX_BATCH_BUFFERING config at compile time 2020-01-24 18:36:20 +01:00
Ray
40d6c15798 Addressed issue #1051
Allow frustrum culling near/far distance configuration at compile time.
2020-01-24 18:35:58 +01:00
raysan5
bec467705e Review custom allocators 2020-01-19 11:23:38 +01:00
raysan5
fe0d04c879 Review functions modifiers 2020-01-19 11:23:27 +01:00
Ray
89fedf0bb9 Comments review 2020-01-08 18:33:21 +01:00
Ray
4211056354 Reviewed some comments 2020-01-08 18:21:08 +01:00
raysan5
21c30f43d4 Update year to 2020 2020-01-05 20:01:54 +01:00
raysan5
350cb0a8a8 GenTextureCubemap(): renamed parameter 2019-12-29 13:52:48 +01:00
Ray
03e6006ac8 Corrected bug on rlReadTexturePixels() 2019-12-11 23:26:42 +01:00
Ray
e614942a2d Read texture data as RGBA from FBO on GLES 2.0 2019-12-11 23:22:10 +01:00
raysan5
3d936061c8 Corrected issue #1027 2019-12-04 11:05:46 +01:00
Ray
97abaff4c5 Support rlPushMatrix() and rlPopMatrix() on mesh drawing 2019-11-25 11:29:04 +01:00
brankoku
96b0563249 [rlgl] Create function rlUpdateMeshAt (#1010)
* [rlgl] Create function `rlUpdateMeshAt`

* [rlgl] Update function `rlUpdateMeshAt`
2019-11-11 11:49:13 +01:00
brankoku
bba8454034 rlUpdateMesh now supports updating indices (#1009) 2019-11-06 11:43:36 +01:00
raysan5
29b9b054dd REVIEW: rlLoadTexture()
Corrected bug when loading a RenderTexture texture passing NULL data.
2019-11-04 13:40:59 +01:00
Ray
dc6136e820 Review formatting for PR #1004 2019-10-29 16:03:21 +01:00
João Coelho
75b0264f35 fix various problems, thanks CppCheck :) (#1005)
* explained a bit more the core_window_letterbox example

* fixed a few 'ups' moments that could lead to mild head pain and time loss
2019-10-29 15:57:19 +01:00
chriscamacho
90b3dceb54 added GetMatrixProjection fixed issue with GL11 where model matrix was identity (#999) 2019-10-27 12:13:18 +01:00
Ray
b75511248d Remove trailing spaces 2019-10-17 17:18:03 +02:00
Ray
a8e63b9724 Convert default shader to const strings 2019-09-25 16:45:17 +02:00
Catalin Moldovan
99e86d180b Const corectness for LoadShaderCode (#977)
* Const corectness for LoadShaderCode

* Added const for standalone variant as well.
2019-09-25 16:31:10 +02:00
Ray
bdcb16e7bb Review PR and comments 2019-09-22 21:47:19 +02:00
chriscamacho
6916ff58b1 fixed some memory leaks, still issue with material index allocation leaking 4 bytes (possibly double allocation) (#964) 2019-09-13 13:29:52 +02:00
raysan5
41732bebe8 Formatting tweak 2019-08-27 12:22:54 +02:00
raysan5
c661cad692 Review all RL_CALLOC() calls
All data should be properly initialized by now
2019-08-27 10:56:49 +02:00
raysan5
addbd88833 Expose scissor functionality 2019-08-26 21:09:03 +02:00
raysan5
a727f5768f Review OpenGL ES 2.0 extensions check 2019-08-20 19:33:46 +02:00
raysan5
c629b16ebc Corrected issue on compressed textures data size 2019-08-12 12:35:23 +02:00
Ray
3d5fa81bf2 WARNING: Redesigned structs
- Mesh, Shader, Material structs have been reviewed to minimize size when passed by value, all required code has been reviewed.
 - GetCollisionRayModel() reviewed to avoid pointer, not required because model is not modified inside the function
 - UnloadMesh() reviewed, pointer not required
 - CheckCollisionRay*() parameters name reviewed
2019-08-07 00:32:44 +02:00
raysan5
a1c551c6c4 Reviewed rlTextureParameters()
Reviewed latest PR to also consider OpenGL 1.1 extension support (unprobable).
2019-07-27 11:59:41 +02:00
Reece Mackie
e44eae3cd5 Changes without CLion mess (#916) 2019-07-27 11:53:00 +02:00
Ray
8e870f0eda Try to support stack matrices on models drawing
Not working yet... :(
2019-07-24 22:40:12 +02:00
raysan5
a386cedae6 Review extensions loading and freeing 2019-07-12 14:36:20 +02:00
Ray
65a21ab416 Renamed screenWidth & screenHeight 2019-06-19 16:01:47 +02:00
Ray
1b249ac1e1 Define some globals 2019-06-19 15:43:35 +02:00
Shiqing
5baab54f93 Fix vertex padding not zeroed for quads, close #891 2019-06-15 13:51:56 +08:00
Ray
498c172d8e Review function prototype 2019-06-06 11:38:45 +02:00
Ray
3f7b14aeed Corrected web issue 2019-05-14 18:02:11 +02:00
Ray
97c8a28aaa Remove trail spaces 2019-05-08 18:33:09 +02:00
raysan5
40940f4398 Some formatting review 2019-04-28 16:45:23 +02:00
raysan5
7c10f971c1 Expose enable/disable backface culling
Some tweaks on BeginVrDrawing()
2019-04-28 16:03:59 +02:00
raysan5
e8c413b7cd Review UWP implementation
Basically, formating review and some variables naming to follow raylib conventions.
2019-04-27 22:47:03 +02:00
Reece Mackie
2de1f31821 UWP Support Overhaul (#819)
* Working build

* Fix build again, stop deleting files

* Hotfix crash, needs investigating

* Remove VS2015.UWP, I cannot update the project

* Lots of UWP work, added keyboard and mouse press support. Still need to finish scroll wheel, mouse position and cursor hiding, plus other stuff that I haven't seen yet.

* Implemented a ton more things, added BaseApp.h to provide common code to UWP apps.

* Remove constant window dimensions

* Enable and Disable cursor support.

* Actually use mouse delta

* Gamepad Support

* Cleaning and small tweaks

* Restore original example.

* Update comment

* Use 'Messages' to handle the cursor functions so code is more portable.

* Comment

* Comment unused message fields and use vector for mouse pos instead.

* Move messages to utils.h and use messages for everything. No more plat-specific code in raylib.h

* Working build

* Fix build again, stop deleting files

* Hotfix crash, needs investigating

* Remove VS2015.UWP, I cannot update the project

* Lots of UWP work, added keyboard and mouse press support. Still need to finish scroll wheel, mouse position and cursor hiding, plus other stuff that I haven't seen yet.

* Implemented a ton more things, added BaseApp.h to provide common code to UWP apps.

* Remove constant window dimensions

* Enable and Disable cursor support.

* Actually use mouse delta

* Gamepad Support

* Cleaning and small tweaks

* Restore original example.

* Update comment

* Use 'Messages' to handle the cursor functions so code is more portable.

* Comment

* Comment unused message fields and use vector for mouse pos instead.

* Move messages to utils.h and use messages for everything. No more plat-specific code in raylib.h

* Tested some desktop stuff and added projection matrix updates for window resizing.

* Fixed big bad mouse bug

* Fix alt buttons and add hack to combat flickery key presses (far from perfect)

* Remove debug code

* Final commit

* Well, so I thought

* Wow, i am bad

* Remove packages folder

* Remove useless include

* Apply requested changes and fix linux build

* Try to stop packages folder

* Have we fixed the formatting properly?

* Third time's the charm?

* Where did this come from?

* Re-fix

* Autoformat is gonna kill

* Fixed XBOX ONE Support

* Fix tabs
2019-04-27 20:33:51 +02:00
Ray
0c567cd259 WARNING: Issues on web building
Found some issues when building for web using latest emscripten 1.38.30, traced the error and found that eglGetProcAdress does not return function pointers for VAO functionality, supported by extension.

It requires more investigation but now it works (avoiding VAO usage)
2019-04-23 18:10:38 +02:00
Ray
4ad81ba2d4 Alloc custom allocators on standalone mode 2019-04-23 15:14:15 +02:00
Ray
87b75a6c95 Review issues on OpenGL 1.1 2019-04-23 15:12:08 +02:00
Ray
e67ebabb02 Support custom memory management macros
Users can define their custom memory management macros.

NOTE: Most external libraries support custom macros in the same way, raylib should redefine those macros to raylib ones, to unify custom memory loading. That redefinition is only implemented as example for stb_image.h in [textures] module.
2019-04-23 14:55:35 +02:00
Ray
2249f12304 Expose rlgl functions on shared libraries 2019-04-22 18:25:30 +02:00
Ray
01367fcb1e Review cubemap generation 2019-04-11 16:11:54 +02:00
Ray
a28dfd4a7b Corrected standalone usage 2019-04-11 15:54:10 +02:00
Ray
5bfa675350 Review VR simulator mechanism
- No default VR device parameteres inside raylib
- VR device parameter should be provided by user
- VR distortion shader should be provided by user
2019-04-11 13:53:01 +02:00
ChillerDragon
f21761fbbb Happy new year 2019 2019-04-07 17:49:12 +02:00
Ray
9282b8ba83 ADDED: SetShaderValueTexture()
Some tweaks
2019-04-05 17:08:46 +02:00
Ray
c600dd0766 Review PBR shaders
Issue was related to vertex tangent attibutes not uploaded to GPU, a quick solution was implemented for new vertex attributes loading for already existing meshes... I don't like it specially but it will work for now.
2019-04-05 16:43:09 +02:00
Ray
a728376cdf Rename enum type 2019-04-05 13:13:10 +02:00
Ray
a103086443 Removed trail spaces 2019-04-04 13:50:52 +02:00
Ray
22dece2935 Animated vertex renaming 2019-04-04 13:32:17 +02:00
Ray
f1cbdd6b3a Corrected some issues
- Support compiling for OpenGL 1.1
- Free meshes/materials memory after usage...
2019-04-01 18:22:56 +02:00
Ray
876c64b1e5 WARNING: This could break something
If we have no data to update/draw, we avoid update/draw. On `DrawBuffersDefault()` if no vertes data is available nothing is drawn but some globals: vertexData, projection, modelview, draws... are reseted.

There shouldn't be any problem if we don't touch those globals in case no vertex have been processed but, just in case, I warn about it.
2019-03-29 12:27:50 +01:00
Ray
186d34827a Align LINES and TRIANGLES drawing
When drawing LINES or TRIANGLES, vertex are accumulated in same buffer as QUADS and new draw calls are registered but QUADS drawing uses an index buffer for optimization, so, when adding LINES/TRIANGLES vertices we need to make sure next draw calls for QUADS keep aligned with indices buffer.

To get that we just add some alignment vertex at the end of the LINES/TRIANGLES draw calls, to make them multiple of 4 vertex.
2019-03-28 18:05:32 +01:00
Ray
477ea4d660 Support external config flags 2019-03-12 16:00:26 +01:00
Ray
36fa0207f2 Some spacing review 2019-02-28 23:06:37 +01:00
Ray
d679a97e92 Removed some NULL pointer checks 2019-02-28 18:39:58 +01:00
Ray
b570b32337 Added some comments on #594 2019-02-28 16:28:49 +01:00
Ray
374811c440 Change ternary operator formatting 2019-02-22 13:13:11 +01:00
Ray
641895b5ba Remove end-line spaces 2019-02-21 18:45:19 +01:00
Ray
366313bfd0 Update rlgl.h 2019-02-06 18:07:34 +01:00
Ray
68a2bf0e6b Update rlgl.h 2019-02-06 17:35:26 +01:00
Ray
7370ae7b82 Update rlgl.h 2019-02-06 16:51:36 +01:00
Ray
d356b1d1cc Reviewed fbo creation and VR system 2019-02-06 14:21:44 +01:00
Ray
db56d432e4 ADDED: rlLoadTextureDepth()
REDESIGNED: rlLoadRenderTexture()
ADDED: rlRenderTextureAttach()
ADDED: rlRenderTextureComplete()
2019-02-04 16:28:17 +01:00
Ray
fce48e85f4 ADDED: LoadTextureCubemap()
Probably uncomplete, not tested yet...
2019-02-04 13:27:36 +01:00
Marco Lizza
aaced97b12 Fixing badly (redefined) enums. 2019-01-21 10:02:53 +01:00
Marco Lizza
c1c801e5c3 Reworking log level as incremental. 2019-01-20 22:22:21 +01:00
Ray
ced7321089 Readded alpha clear to rlReadScreenPixels()
When capturing framebuffer, if some element with transparency has been drawn, it retrieves that data... it could be a bit annoying in some situations because we could expect color compositing with background color... It depends on the situation and our needs... but most of the time we don't want that transparency on screenshots.
2019-01-16 10:04:59 +01:00
Ray
f1bcc131dc Let user choose to clear scissor area 2019-01-15 12:08:11 +01:00
Ray
49a69e3e27 Allow capturing transparent background 2019-01-11 18:55:04 +01:00
Ray
64fd131ed5 Some improvements on SetShaderValue()
- Unsigned int not supported on OpenGL ES 2.0 -> Removed
- Reorganized enum -> Removed BOOL (not uniformType)
- Support sample2D uniform type
2019-01-10 12:28:23 +01:00
Ray
55f8dbc755 WARNING: Redesigned SetShaderValue() 2019-01-10 11:25:26 +01:00
Ray
35bcbd1b60
Merge pull request #718 from MarcoLizza/shaders-uniforms-array
Shaders uniforms array
2019-01-09 17:01:59 +01:00
Marco Lizza
73597332b6 Adding uniform array support for shaders. 2019-01-09 16:18:00 +01:00
raysan5
1036de389a Some minor tweaks analyzing code
Specific textures generation code is quite redundant and not flexible for the user, I'm trying to figure out some easy way to allow raylib users to do the same without needing those functions (very specific and shader dependant). RenderTexture loading and Cubemap textures support must be improved.
2019-01-06 21:07:09 +01:00
raysan5
f4fe7f4d4c Review BRDF texture generation
Actually, that function should be redesigned...
2019-01-06 15:49:29 +01:00
raysan5
5c614f6975 Some code tweaks 2019-01-05 19:24:42 +01:00
raysan5
a072385c6d Corrected issue on draws resetting 2018-12-29 00:00:52 +01:00
raysan5
af4a177af4 Corrected issue with internal buffer
Problem aligning provided vertex data to multiples of four, because main buffer is intended to bu used with indexed quads... but also shared with triangles and lines.
2018-12-26 10:34:45 +01:00
raysan5
7b8965eb38 Support float texture data on OpenGL ES 2.0 2018-12-25 15:19:25 +01:00
raysan5
7fb2459916 Added some TODO note
OpenGL extensions loading could be improved...
2018-12-24 17:45:34 +01:00
raysan5
47358fe5ce Tweaks to support OpenGL ES 2.0 desktop 2018-12-24 17:09:46 +01:00
raysan5
92f68ac6be Review DrawPolyEx()
Also reviewed rlCheckBufferLimit()
2018-12-24 14:09:51 +01:00
Ray
788bb78989 Some tweaks 2018-12-20 10:40:28 +01:00
Ray
b6d2f96645 Corrected issue 2018-12-19 18:08:59 +01:00
Ray
af33e3848e Improved BeginScissorMode()
Now rectangle coordinates refer to upper-left corner instead of bottom-left
2018-12-19 17:06:23 +01:00
Ray
39c05e30d0 Reviewed rlReadTexturePixels() for OpenGL ES 2.0
Now it should work... but this behaviour could be driver dependant...
2018-12-18 18:20:20 +01:00
Ray
db96cf4a8b Corrected bug on OpenGL ES quads drawing 2018-12-18 16:52:18 +01:00
Ray
4008a075a8 Added scissor functionality
To draw only in defined area of the screen
ADDED: BeginScissorMode(), EndScissorMode()
2018-12-15 23:30:55 +01:00
Ray
cbbd67ab5a Some code tweaks
- Reorganized some variables: Not used on OpenGL 1.1
- Now mipmaps can be generated on OpenGL 1.1 backend
- Renamed whiteTexture to defaultTextureId
2018-12-14 10:00:44 +01:00
Ray
97e40ced57 WARNING: BIG rewrite of rlgl module
This commit implements a big update of rlgl module, intended to optimize some parts. This change could break some code bases... hopefully not, but it could.
The BIG changes to the module are:
 - Replaced LINES-TRIANGLES-QUADS buffers by a single one, now all vertex data is accumulated on a single buffer and managed with registered draw calls. LINES-TRIANGLES-QUADS could be used the same way as before, rlgl will manage them carefully. That's a big improvement of the system.
 - Support multi-buffering if required. Just define MAX_BATCH_BUFFERING desired size (currently set to 1 batch). Should be enough for most of the situations.
 - Removed temporal accumulative buffers for matrix transformations, now transformations are directly applied to vertex when on rlVertex3f()
 - Reviewed rlPushMatrix()/rlPopMatrix() to be consistent with OpenGL 1.1, probably I should remove that ancient behaviour but... well, it was not consistent and now it is.
 - Minor tweaks: LoadText(), I broke it in last update... also multiple comments reviewed.
 - TODO: MAX_BATCH_ELEMENTS checking should probably be reviewed... done some tests and it works but...
2018-12-11 18:54:48 +01:00
Ray
8b75a1a990 Improved textures wrap support 2018-12-03 12:00:05 +01:00
Ray
ab0287bd4e Some tweaks to LoadText() 2018-11-28 12:34:03 +01:00
Ray
0bf82ff6f4 free memory for extList 2018-11-27 12:23:41 +01:00
Ray
fc1c9505ba Remove end-line spaces 2018-11-06 15:10:50 +01:00
Ray
bd383fe219 Tweak for OpenGL 2.1
Why am I still supporting this???
2018-10-20 12:48:03 +02:00
Ray
1f4866276a Corrected typo 2018-10-19 21:50:50 +02:00
Ray
16914dfaa2 Reviewed possible issue with...
...disposing RenderTexture.
2018-10-19 21:40:34 +02:00
Ray
b8b8936cd7 Review defines 2018-10-16 10:53:01 +02:00
Ray
126ab49221 Minor tweaks 2018-10-10 23:55:36 +02:00
Ray
d67edb591a Support KXT image file export
[textures] Added SaveKTX()
[rlgl] Exposed rlGetGlTextureFormats()
2018-10-01 15:30:48 +02:00
Ray
506b7b8d7c Corrected issue with batch overflows
When a batch reach its vertex limit, a draw call is issued and batch restarted for refilling but if the draw call was issued for vertex data accumulated inside rlPushMatrix/rlPopMatrix, draw call was issued before the rlPopMatrix, consequently modelview matrix was not properly recovered before the draw call... obviously, it only happened the following draw calls, not the first one...

Now it works ok but this system needs to reviewed, noticed and important frames drop when processing around 20 dynamic batch draw calls, it means filling MAX_QUADS_BATCH (8192) quads of data 20 times per frame, including data updating and sending for draw processing.

Doing some maths, it means:
Vertex data (float) -----> 8192 quads * 4 vertex * 3 comp * 4 byte = 393216 bytes
Texcoords data (float) -> 8192 quads * 4 vertex * 2 comp * 4 byte = 262144 bytes
Color data (uchar) -----> 8192 quads * 4 vertex * 4 comp * 1 byte = 131072 bytes

Thats a total of 786432 bytes (0.75MB) sent to GPU 20 times per frame for processing... I'm testing in an Intel HD Graphics integrated, I imagine is too much data to be sent and and it causes stalls, so the frames drop...
2018-08-17 13:55:46 +02:00
Ray
732b775a1d Proper variables initialization 2018-08-17 11:41:49 +02:00
Ray
4c84208644 Working on batch reset issue
Corrected memory leak!
2018-08-17 01:34:45 +02:00
Kim Kulling
f5f7ed79b8 Fix compiler warnings of lib 2018-08-05 23:53:34 +02:00
Kim Kulling
b2cac82fa0 Fix compiler warings in texture.c and more. 2018-08-05 00:34:35 +02:00
Pablo Marcos Oltra
8d134edaf7 Fix rlgl.h to be used as a standalone 2018-07-25 10:36:18 +02:00
Ray
361d878b4c Updated animations support 2018-07-24 18:52:56 +02:00
Ray
198a023527 First working version of IQM animations
Still a work in progress but it already works...
Current riqm API could be simplified...
2018-07-24 18:28:58 +02:00
Ray
103044926b Avoid config.h in standalone mode 2018-07-16 19:24:40 +02:00
Ray
5b37178af9 Reviewed rlgl_standalone example 2018-07-16 18:22:03 +02:00
Ray
096fd6f2c3 Converted rlgl module in header-only
This change allows rlgl.h usage as independent single-file header-only module... still some tweaks required, like removing GLAD dependency... required extensions could be manually loaded!

Also removed shader_distortion.h, embedded in rlgl.h
2018-07-16 17:53:47 +02:00
Ray
d0166c9d45 Spacing tweaks 2018-06-30 21:56:26 +02:00
raysan5
ca69068814 Added function: rlCheckBufferLimit() 2018-05-20 01:55:46 +02:00
Ahmad Fatoum
1841afad11
Refactor all #define SUPPORT_* into a config.h
That way, a user needs only to touch a single file to configure what
features raylib is built with.
Include guards are left out intentionally, because config.h should only
be included in source files, not headers.

Later on, config.h can also define the raylib version (#461).
2018-04-07 23:37:48 +02:00
raysan5
a0127d8300 Corrected typo 2018-03-11 10:49:51 +01:00
Ray
077bef4286 Support 4 components mesh.tangent data
Added struct Vector4 for convenience
2018-02-24 12:31:32 +01:00
raysan5
7caa3201d5 Improved pixel formats support
- Renamed enum TextureFormat to PixelFormat for consistency
- Added support for pixel format UNCOMPRESSED_R32
- Using GetPixelDataSize() where required
2018-01-06 13:43:48 +01:00
raysan5
b19e155b34 Support UNCOMPRESSED_R32G32B32A32 texture format 2017-12-28 17:58:37 +01:00
Ray San
e8bb53ed35 Corrected issue on OpenGL ES compilation 2017-12-20 12:35:12 +01:00
Ray San
53ad53d051 Manually review previous PR 2017-12-15 13:44:31 +01:00
user
0e18b14605 added debug-event-markers for opengl so that you're able to set markers for renderdoc or other gpu debuggers what your program is currently doing 2017-12-14 11:44:48 +01:00
user
963551ee6e added possibility to get modelview matrix from rlgl to be able to send it to shaders 2017-12-14 11:43:06 +01:00
user
69c8fa409a fixed function declaration differ from implementation 2017-12-14 11:42:06 +01:00
raysan5
02dd4d32b5 Allow custom distortion shader - IN PROGRESS - 2017-11-12 11:00:28 +01:00
Ray San
7057d08369 Review VR functionality
To be more generic and configurable
2017-10-17 13:32:15 +02:00
Ray San
ddea9d68bf Review VR simulator
Requires some work, distortion shader could be move out of raylib to
example code...
2017-10-04 12:11:40 +02:00
raysan5
e52032f646 Complete review of raymath
Now it should be coherent with OpenGL math standards
2017-07-21 17:19:28 +02:00
raysan5
38d9fcb08e Moved some functions to raymath
Exposed some raymath useful functions to raylib API
2017-07-21 15:25:35 +02:00
raysan5
980d9d4cd4 rlgl usable as standalone library 2017-07-21 10:42:57 +02:00
raysan5
0dabb2708b Reorganized a couple of functions 2017-07-19 19:53:53 +02:00
raysan5
d368403a13 Working on PBR materials, renamed some data 2017-07-19 10:09:34 +02:00
Ray
6546474fa4 Manual integration of material-pbr into develop 2017-07-17 00:33:40 +02:00
raysan5
8ca8550739 Removed function reference 2017-07-08 14:22:48 +02:00
raysan5
9f09f6f550 Rename enum LogType names...
...to avoid possible conflicting symbols
2017-07-02 12:35:13 +02:00
Ray
50c887cb0a Support HDR R32G32B32 float textures loading 2017-05-08 12:31:47 +02:00
Ray
822c2ddad5 Some defines tweaks for consistency 2017-05-08 02:47:44 +02:00
Ray
39732d04ec Comments review 2017-05-08 00:55:26 +02:00
Ray
d593bd0081 Some code tweaks 2017-04-30 13:03:31 +02:00
raysan5
247da006ae Rename parameter 2017-04-22 22:35:04 +02:00
Ray
59652c75b4 Review some comments 2017-03-20 20:34:44 +01:00
raysan5
5d1f661661 Remove Oculus support from code
Moved to custom example, now raylib only supports simulated VR
rendering.
Oculus code was too device dependant... waiting for OpenXR.
2017-03-14 01:05:22 +01:00
Ray San
836c1636a2 Remove lighting system from rlgl standalone header 2017-02-08 20:02:40 +01:00
Ray
f164ec80d6 Upload wave collector - GGJ17 game 2017-01-22 15:31:56 +01:00
raysan5
852f3d4fd0 Review comments and formatting 2016-12-25 02:01:13 +01:00
Ray
f1bcfc1352 Corrected bug on GenTextureMipmaps()
texture.mipmaps value needs to be updated, so, texture must be passed by
reference instead of by value
2016-11-22 12:14:55 +01:00
raysan5
bee283b12b Some tweaks around 2016-11-17 12:55:30 +01:00
raysan5
6d1b712a96 Reviewed modules comments 2016-11-16 18:46:13 +01:00
raysan5
9d3ad52160 Removed byte typedef 2016-11-15 19:15:25 +01:00
raysan5
988d39029f Support textures filtering 2016-10-29 22:17:19 +02:00
raysan5
4ff98f34bb Function to set texture parameters -IN PROGRESS- 2016-10-27 13:40:48 +02:00
raysan5
d5e0f4e84e Added notes on vr tracking -> camera update 2016-10-17 17:02:33 +02:00
raysan5
5fecf5c088 Review UpdateVrTracking() and rlglLoadRenderTexture() 2016-10-10 19:42:59 +02:00
raysan5
36f20376e6 Redesigned lighting shader system 2016-09-05 20:15:21 +02:00
raysan5
959a228815 Removed useless spacing 2016-08-16 11:09:55 +02:00
raysan5
16ac468bdb Remove functions from user exposure 2016-08-06 19:30:41 +02:00
raysan5
5ff9811ea8 Some code tweaks 2016-07-18 17:06:33 +02:00
raysan5
55b9a2479a Expose Oculus Rift functionality directly 2016-07-16 22:41:13 +02:00
raysan5
bfb5ffedda Added rlgl standalone sample 2016-07-16 19:25:15 +02:00
raysan5
7cefbd8a94 Updated lighting system...
...to avoid dynamic conditions on for loop (lightsCount) on standard
shader, it seems GLSL 100 doesn't support that feature... on some GPUs
like RaspberryPi...
2016-07-06 20:33:46 +02:00
Ray
bc80174357 VR Functions renaming (for generic HMD device)
Stereo rendering has been moved again to Begin3dMode() and End3dMode(),
it has some limitations but makes more sense...
2016-07-06 00:54:38 +02:00
Ray
ee72654b55 Redesigned stereo rendering mechanism
Now it's easier for the user! Just init Oculus device and get stereo
rendering!
2016-07-04 01:29:23 +02:00
raysan5
9127b5a57d Enable/Disable VR experience 2016-06-26 15:36:12 +02:00
raysan5
8652e644dd Corrected bug on stereo rendering 2016-06-26 14:13:11 +02:00
raysan5
71ab202295 Removed rlglInitGraphics(), integrated into rlglInit()
Redesigned rlgl usage:
- rlViewport() must be called by user
- Internal projection/modelview matrices must be setup by user
2016-06-25 23:28:50 +02:00
raysan5
03d9583b94 Add oculus simulator (in case device is not detected) 2016-06-21 13:49:13 +02:00
Ray
6062201e8f Simplify Oculus example...
...to align it with standard raylib code. Final goal would be having the
same code work for every platform with no changes...
2016-06-21 08:59:29 +02:00
raysan5
b01f5ff6a7 Starting work on VR simulator support
If Oculus device is not available or not initialized correctly,
simulated VR view is generated using stereo-rendering and distortion
2016-06-19 19:12:47 +02:00
Ray
24c9b1f717 Improving Oculus Rift example...
Under design... looking for the easiest and most comprehensive way for
the user to use VR...
2016-06-17 13:54:45 +02:00
Ray
4df7a0f2f8 Added support for OpenGL 2.1 2016-06-16 20:25:50 +02:00
raysan5
3ce0228206 Move Oculus Rift support to rlgl module 2016-06-14 17:16:20 +02:00
raysan5
c25b4cdc69 Move OpenGL extensions loading to rlgl 2016-06-14 15:42:04 +02:00
Ray
ee795150fa Updated some code 2016-06-07 23:44:53 +02:00
raysan5
0bc71d84f8 Added functions to customize internal matrix
Internal modelview and projection matrices can be replaced before
drawing.
2016-06-02 20:23:09 +02:00
Ray
17878550b1 Review heades usage
This is a first step toward a bigger project. Some modules could be
ported to header-only to be used as standalone.
2016-06-02 01:26:44 +02:00
raysan5
d17a0cee1a Review text formatting (spacing, tabs...) 2016-05-31 19:12:37 +02:00
raysan5
302ec438dd Removed colTint, tint color is colDiffuse
Tint color could be applied to colDiffuse... but what's the best way?
Replace it? Multiply by? A point to think about...
2016-05-31 18:15:53 +02:00
raysan5
cac2a66deb Improved library consistency
Functions renamed to improve library consistency
2016-05-31 17:11:02 +02:00
victorfisac
b0a0c5d431 Added tint color attribute to material data type
It tints all fragments, ignores lighting. Useful for some features like
feedback (damage color, ...).
2016-05-30 19:55:13 +02:00
victorfisac
f2d61d4043 Remove normal depth
Scaling normal depth (y axis) makes disappear the specular of
fragments... So I think it can be removed, it is not a very
useful/important attribute.
2016-05-30 19:43:35 +02:00
victorfisac
2e26ce235d Add Draw3DCircle function and update raylib and rlgl header
Draw3DCircle is useful to draw point lights radius.
2016-05-30 19:18:11 +02:00
raysan5
ea5b00528b Improved render to texture
Support render texture size different than screen size
2016-05-29 11:49:13 +02:00
raysan5
d53b6f4381 Renamed shader variables (more generic names)
Now shader maps use a generic naming convention for any kind of texture
maps (not only diffuse, normal or specular). Useful for custom shaders.
2016-05-25 16:19:57 +02:00
victorfisac
c320a21f2b Add standard lighting (2/3)
- 3 light types added (point, directional, spot).
- DrawLights() function added using line shapes.
- Standard lighting example added.
- Removed useless struct variables from material and light.
- Fixed light attributes dynamic locations errors.
- Standard vertex and fragment shaders temporally added until rewrite it
as char pointers in rlgl.
TODO:
- Add normal and specular maps calculations in standard shader.
- Add control structs to handle which attributes needs to be calculated
(textures, specular...).
- Adapt standard shader to version 110.
- Rewrite standard shader as char pointers in rlgl.
2016-05-21 18:16:39 +02:00
raysan5
dcf5f45f68 Add lighting system -IN PROGRESS-
Improved materials
2016-05-20 12:28:07 +02:00
raysan5
7d1d9ff143 Support DYNAMIC_DRAW mesh loading 2016-05-20 09:36:02 +02:00
raysan5
037edbaa13 Reorganize data for consistency 2016-05-18 13:22:14 +02:00
raysan5
075f51e0a3 Simplified internal (default) dynamic buffers 2016-05-12 12:20:23 +02:00
raysan5
4d78d27bd9 Updated structs Mesh and Shader 2016-05-11 19:25:51 +02:00
raysan5
7ab008878a Library redesign to accomodate materials system 2016-05-07 18:07:15 +02:00
raysan5
8301980ba8 Clean up and consistency review
- Renamed some functions for consistency (default buffers)
- Removed mystrdup() function (implemented inline)
- Renamed TextFileRead() to ReadTextFile()
2016-05-03 19:20:25 +02:00
raysan5
06a8d7eb06 Remove old postprocessing system 2016-04-01 10:39:33 +02:00
raysan5
66b096d978 Added support for render to texture (use RenderTexture2D)
Now it's possible to render to texture, old postprocessing system will
be removed on next raylib version.
2016-03-30 20:09:16 +02:00
raysan5
5e45c3c824 Redesign to work as standalone
Redesigned to work as standalone and support fordward-compatible context
(shaders review)
2016-03-20 13:39:27 +01:00
Ray
e2ba22ec59 Improved 2D-3D drawing
Depth test disabled for 2D and only used on 3D; consequently LINES vs
TRIANGLES vs QUADS buffers drawing order maters... but blending also
works ok.
2016-03-17 13:51:48 +01:00
raysan5
c9d22c7a14 Redesign to use Material type -IN PROGRESS-
Requires Shader access functions review
2016-03-06 02:05:16 +01:00
Ray
df5c64d0be Functions parameters reorganize: Axis and Angle
sin(), cos() functions cached and replaced by float c99 versions sinf(),
cos()
2016-02-02 18:41:01 +01:00
raysan5
d0ff78e7f4 Move Light struct to example 2016-01-25 13:39:23 +01:00
raysan5
68ba34c17b Updated struct types 2016-01-21 01:03:43 +01:00
raysan5
efa1c96d19 Adapted raymath as single header library
Added support for single header implementation and also inline functions
support
2016-01-20 18:20:05 +01:00
raysan5
fd05d3e353 Rename VertexData struct to Mesh
Reviewed vertex type variables
2016-01-18 13:36:18 +01:00
raysan5
fb6ef2c2f4 Vertex shaders optimization 2016-01-13 17:13:28 +01:00
raysan5
95da97fa74 Fixed bug: rlglGenerateMipmaps() 2016-01-04 15:09:44 +01:00
victorfisac
4db2da9185 Added new matrix location points and extra functions
- New model and view transformation matrix added, useful for shaders.
Modelview matrix not deleted to keep opengl 1.1 pipeline compatibility.

- New extra function added DrawModelWiresEx() to set a rotation and
scale transformations to a wire model drawing.

- Other writing and little audio.c bug fixed.
2015-12-21 16:42:13 +01:00
Ray
88e1fd9530 Added texture retrieval support on OpenGL ES 2.0
Updated functions:
Image GetTextureData(Texture2D texture);
void *rlglReadTexturePixels(Texture2D texture);
2015-11-05 12:32:47 +01:00
Ray
76024b5036 Added some texture functionality (view details)
LoadTextureEx() - Simplified parameters
UpdateTexture() - Added, allows updating GPU texture data
2015-11-04 18:33:46 +01:00
raysan5
11a8dacb0f Multiple code changes:
- Renamed function rlEnableFBO() -> rlEnablePostproFBO()
- Defined struct FBO
- Moved FBO creation to function: rlglLoadFBO()
- Reviewed rlglReadTexturePixels(), trying to support OpenGL ES -IN
PROGRESS-
2015-10-06 17:25:27 +02:00
raysan5
aa982f80f5 Reviewed some comments 2015-08-30 17:44:47 +02:00
raysan5
055d8927cc Small code tweaks 2015-08-29 20:20:28 +02:00
raysan5
b8b0247043 Added function SetBlendMode()
Useful to enable additive blend mode for particles
2015-08-07 17:24:28 +02:00
Ray
ba640598e5 Reviewed for standalone usage
Requires raymath as standalone and GLEW
2015-08-05 19:18:40 +02:00
raysan5
7834a4e2fc Replaced old mail by twitter user 2015-07-29 21:43:30 +02:00
raysan5
552033da27 Move shaders functions to module rlgl
Shader functionality owns to rlgl, not core module
2015-07-13 18:20:16 +02:00
raysan5
c944d62374 Improved mipmaps support and image loading 2015-07-05 18:21:01 +02:00
raysan5
eae98e1c34 Big batch of changes, check description:
- Camera system moved to a separate module [camera.c]
- WIP: Added customization functions for camera controls
- Added custom shaders support on batch drawing
- Complete redesign of textures module to support multiple texture
formats (compressed and uncompressed)
2015-05-04 23:46:31 +02:00
raysan5
7d2318c167 WIP on shaders and textures
Moved functions: LoadShader(), UnloadShader()
Add support for PVR textures compressed/uncompressed
WIP: Detect available extensions for compressed textures
2015-04-13 20:15:28 +02:00
raysan5
a632a04a30 Big batch of changes! Check description:
Support multiple texture formats (uncompressed and compressed)
Postprocessing shaders support
Model struct redefined and improved
Extended loading functions for Textures and Models
Simplified functions: DrawPlane(), DrawQuad()
Deleted functions: DrawPlaneEx(), DrawGizmoEx()
Now Text module only depends on Textures module
Shapes: Reviewed functions to low lines/triangles usage
Removed useless tabs and spaces around code
2015-04-06 14:02:29 +02:00
Marc Palau
3cad094edd Changes integration (some WIP, view details)
Corrected GetMouseWheelMove()
Corrected camera system
Reviewed cubicmap resolution (collision detection)
Added QuaternionTransform()
WIP: Raycast system (not working)
WIP: Reviewing axis-angle rotations...
2015-03-02 20:52:58 +01:00
raysan5
c062f8d4fe Redesign shader system and more
Shader system has been completely redesigned
Added support for multiple texture color modes
2015-03-01 16:00:52 +01:00
raysan5
42c92e4f2e Add support for custom shaders
Custom shaders for models
Postprocessig on FBO (in progress)
Some useless spaces removed
2015-02-02 00:57:08 +01:00
raysan5
8847602061 Examples review... 2015-01-02 20:58:06 +01:00
raysan5
905b6ec53d Added full support for HTML5 (emscripten)
Corrected some bugs on the way...
Automatically convert textures to POT on RPI and WEB
2014-12-31 18:03:32 +01:00
raysan5
cfa60ab7e6 Added support for emscripten and more
Added PLATFORM_WEB support (emscripten-webgl)
[audio] Added LoadSoundFromWave()
[textures] Added LoadTextureFromImage() to replace CreateTexture()
Some TraceLogs edited...
2014-12-15 01:08:30 +01:00
raysan5
7375d0460a Updated stb headers 2014-11-23 21:58:17 +01:00
raysan5
9d27bba23f Small Fixes Update (1.2.1)
View CHANGELOG for description on small fixes and add-ons
2014-10-17 21:11:58 +02:00
raysan5
fc6081fe70 raylib 1.2
This is a huge update. Check CHANGELOG for details
2014-09-16 22:51:31 +02:00
raysan5
c56ef738ed Explicit define of functions prototypes
No-parameters functions use the prototype style FunctionName(void);
2014-09-03 17:06:10 +02:00
raysan5
d2b98fbb5c Removed useless spaces 2014-09-03 16:51:28 +02:00
raysan5
56a7979750 Corrected bugs...
Set default raylib to use OpenGL 1.1 (compatibility issues on ATI cards)
2014-07-23 19:50:06 +02:00
raysan5
0b03431c95 Update to version 1.1.1
Check CHANGELOG for a detailed list of changes
2014-07-23 00:06:24 +02:00
raysan5
8e186e840c Updated some comments 2014-06-09 16:33:53 +02:00
raysan5
f06a15ac8b raylib 1.1
View CHANGELOG for a detailed list of changes
2014-04-19 16:36:49 +02:00
raysan5
e6b82cb111 Lots of changes, most of them under testing-review
Added a Tracing/Log system
Added OGG stream music support (DOESN'T WORK)
Added Compressed textures support
* This update is probably very buggy...
2014-04-09 20:25:26 +02:00
raysan5
c04f37d0f5 Adapt multiple functions to rlgl
Nearly a complete rework of Models module
Some teaks on multiple functions
2014-04-04 20:11:57 +02:00
raysan5
96f520ff6d Road to raylib 1.1 - Testing rlgl 2014-03-25 12:40:35 +01:00