Commit Graph

839 Commits

Author SHA1 Message Date
raysan5
9ee96bea95 Unified functions: InitGraphicsDevice()
Following XNA style, now we have InitGraphicsDevice(), replacing
InitDisplay() + InitGraphics()
2016-06-25 21:28:50 +02:00
raysan5
5f7ac64c44 Removed function SetModelTexture()
It's more educational to go through new material system, so, I decide to
remove this function to avoid students confusion...
2016-06-24 19:49:36 +02:00
raysan5
b358402cb3 Some code tweaks (view description)
- Added support for RLGL_NO_STANDARD_SHADER
- Store framebuffer width and height as globals
- Reorganize rlglInit() function
2016-06-24 19:37:52 +02:00
raysan5
a522b6e23b Corrected issue with unclosed threads 2016-06-24 19:34:47 +02:00
raysan5
03d9583b94 Add oculus simulator (in case device is not detected) 2016-06-21 13:49:13 +02:00
raysan5
afe033412b Code tweak 2016-06-21 13:45: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
9fdf4420d5 Corrected bugs on OpenGL 2.1 2016-06-17 00:29:46 +02:00
Ray
4df7a0f2f8 Added support for OpenGL 2.1 2016-06-16 20:25:50 +02:00
Ray
3468af213f Reviewing Oculus rendering... 2016-06-15 00:54:55 +02:00
victorfisac
1b0996fb0b Updated physac header documentation 2016-06-14 20:54:20 +02:00
victorfisac
4e84ded7ef Fixed spacing and set UpdatePhysics() function as static...
and remove static from PhysicsThread().
2016-06-14 20:38:49 +02:00
victorfisac
1a8fbe5cf0 Add pthread external library to source...
and add instructions in physac examples to run it successful.
2016-06-14 20:31:48 +02:00
victorfisac
5a1cbb2842 Fix current time value 2016-06-14 20:25:08 +02:00
victorfisac
54537e8f0b Fixed bug in delta time calculation...
and added PHYSAC_NO_THREADS define. Improved physac example drawing
frames per second in screen.
2016-06-14 20:23:46 +02:00
victorfisac
c9c1263e6f Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-14 19:16:24 +02:00
raysan5
c914010606 Correct issue on Oculus drawing 2016-06-14 18:37:28 +02:00
raysan5
d60dc7c2eb Added Oculus Rift library dll 2016-06-14 17:34:51 +02:00
raysan5
3ce0228206 Move Oculus Rift support to rlgl module 2016-06-14 17:16:20 +02:00
raysan5
0d0f306fc2 Add Oculus SDK LibOVR library to external deps. 2016-06-14 17:15:00 +02:00
raysan5
c25b4cdc69 Move OpenGL extensions loading to rlgl 2016-06-14 15:42:04 +02:00
raysan5
3a5fc0c320 Move global data to implementation 2016-06-14 12:12:02 +02:00
raysan5
3d6be7fd80 Added GetGestureDetected() again...
Required by gestures example....
2016-06-14 12:01:57 +02:00
raysan5
47afda2549 Removed useless function: GetGestureDetected()
Use instead: IsGestureDetected()
2016-06-14 11:55:32 +02:00
victorfisac
5625c11e99 Added internal hi-resolution timer to physac...
... and now physac thread creation is done in InitPhysics() and it is
destroyed in ClosePhysics(). User just need to call these functions to
use physac module.
2016-06-12 22:07:06 +02:00
victorfisac
16609d6702 Revert "Make GetTime() public to be used externally"
This reverts commit 7999bbafa8.
2016-06-12 22:04:51 +02:00
victorfisac
8d2de09f3d Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-12 22:03:46 +02:00
raysan5
4dae3385c3 Record draw call for batch processing
Just started working on this, not sure if it would be available for
raylib 1.5
2016-06-12 19:40:08 +02:00
raysan5
66ec0b5d82 Oculus tracking correction 2016-06-12 10:47:50 +02:00
victorfisac
7999bbafa8 Make GetTime() public to be used externally 2016-06-11 19:14:25 +02:00
victorfisac
c10c49e44f Convert physac module from static steps to fixed time steps
Old physics update system used a static number of steps to calculate
physics (450 for desktop and 64 for android). It was too much and it was
limited by target frame time...

Now physics update runs in a secondary thread using a fixed delta time
value to update steps. Collisions are perfectly detected and resolved
and performance has been improved so much.
2016-06-11 18:35:46 +02:00
raysan5
27ba7de1e4 Added some comments 2016-06-11 14:08:39 +02:00
raysan5
68a02e567d Avoid external variable whiteTexture
To get it, use GetDefaultTexture()
2016-06-11 12:41:03 +02:00
raysan5
c46c0fc652 Corrected keywords usage 2016-06-11 12:18:08 +02:00
raysan5
3884716948 Corrected a couple of warnings 2016-06-11 12:01:39 +02:00
raysan5
8de1427803 Remove release files from src directory 2016-06-11 11:48:42 +02:00
raysan5
d63e32a377 Remove include, not supported on html5
AL/alext.h is not supported on html5 OpenAL implementation, just
replaced by the defines used in audio module
2016-06-11 11:21:24 +02:00
raysan5
52b88e0991 Reduce extensions dependencies
Only using raylib required extensions... it could be further reduced!
2016-06-11 10:58:17 +02:00
raysan5
3e8427799c Corrected bug on cubemap generation 2016-06-11 10:56:20 +02:00
victorfisac
7b07b68bfd Adapt standard shader to GL ES 2.0
Some shader calculations are now pre-calculated because some math
functions doesn't exist in glsl 110.
2016-06-10 00:49:51 +02:00
victorfisac
cbda329bfd Removed physac old module from Android MK file 2016-06-09 22:12:46 +02:00
victorfisac
5d186639c9 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-09 22:09:33 +02:00
raysan5
e2cfc6b838 Reduced physic steps resolution 2016-06-09 21:00:21 +02:00
raysan5
5f4449f0a1 Removed physac functions from raylib header 2016-06-09 20:02:15 +02:00
raysan5
558ec3891b Converted physac module to header only 2016-06-09 20:01:59 +02:00
raysan5
dcbfb83031 Updated comments... 2016-06-09 20:01:39 +02:00
victorfisac
3524fc414b Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-09 13:12:18 +02:00
Ray
99ee26b001 Review const char * 2016-06-08 22:52:54 +02:00
Joshua Reisenauer
4f47f90336 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-08 12:02:39 -07:00
victorfisac
8323f81ab5 Add physac module to android compile instructions...
... and switch from debug build to release
2016-06-08 17:27:55 +02:00
raysan5
70a96fff80 Simplified Oculus integration 2016-06-08 13:16:01 +02:00
Joshua Reisenauer
7bf2854e94 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-07 16:07:57 -07:00
Joshua Reisenauer
f0d8c009ae cleaned things up 2016-06-07 16:03:21 -07:00
Ray
09fa002818 Corrected issue 2016-06-08 00:04:56 +02:00
Ray
ee795150fa Updated some code 2016-06-07 23:44:53 +02:00
raysan5
ca13c2ed0c Converted raygui module to header only 2016-06-07 20:33:49 +02:00
raysan5
058af472ea Converted GLAD to header only 2016-06-07 18:57:20 +02:00
raysan5
3d5a408177 Remove DEBUG flag for raylib lib compilation
...on Android
2016-06-07 18:53:47 +02:00
Ray
9281e477eb Embed standard shader into raylib 2016-06-07 00:32:45 +02:00
Ray
1bcf500eca Review fallback mechanism 2016-06-06 23:19:40 +02:00
Ray
522af9f477 Fallback to default shader 2016-06-06 23:16:14 +02:00
Ray
4dada32693 Include GLFW3 DLL 2016-06-06 20:40:17 +02:00
Ray
34aea08ba2 Update to OpenAL Soft 1.17.2 2016-06-06 20:39:59 +02:00
Ray
6b2823775e Remove OpenAL Soft 2016-06-06 20:34:11 +02:00
Ray
d999b3ed53 Merge branch 'develop' of https://github.com/raysan5/raylib into develop 2016-06-06 20:30:02 +02:00
Ray
5f5d191d88 Updated to GLFW 3.2 2016-06-06 20:26:02 +02:00
LelixSuper
302d84cedc Fix mistake in Makefile 2016-06-06 19:26:30 +02:00
Ray
ad8a5a95b2 Move and update CMakeList 2016-06-06 14:38:54 +02:00
Ray
29d505c98e Reorganize external libraries - BREAKING CHANGE -
Moved all external libraries used by raylib to external folder inside
raylib src. Makefile has already been update and also the different
includes in raylib modules.
2016-06-06 14:34:43 +02:00
Ray
688045307a Reorganize folder for Android library
Android build system has been simplified and now is included in src
folder, like other build systems.
2016-06-06 13:52:06 +02:00
Ray
72eb2632cc Corrected compilation bug on OpenGL 1.1 2016-06-05 23:51:41 +02:00
raysan5
60232810d8 Added some comments 2016-06-03 19:00:58 +02:00
raysan5
d1133ca8d3 Some gestures comments tweaks... 2016-06-03 18:51:19 +02:00
raysan5
13bef7aa02 Work on Oculus functionality
Trying to find the best way to integrate Oculus support into raylib,
making it easy for the user...
2016-06-03 18:26:59 +02:00
Ray
7ca6397223 Added support for Oculus Rift CV1 2016-06-03 00:53:51 +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
raysan5
2168d8aa1a Removed DrawPhysicObjectInfo() function
To avoid additional dependencies
2016-06-02 19:16:11 +02:00
raysan5
cafc66a3c1 Rename for consistency with other functions 2016-06-02 19:09:56 +02:00
raysan5
4c9d0f16a5 Comment to avoid warning 2016-06-02 19:09:31 +02:00
raysan5
80b3c4cd2b Review comments to be value-generic 2016-06-02 18:49:40 +02:00
raysan5
5bcddca5e1 Remove useless stuff 2016-06-02 18:29:49 +02:00
raysan5
c286bea8e1 Remove GLEW dependency 2016-06-02 18:20:59 +02:00
raysan5
4fb3103dfa Corrected some formatting issues 2016-06-02 18:19:47 +02:00
raysan5
cf6d2e3985 Review coding style to match raylib style
Moved AudioError enum inside audio.c
2016-06-02 17:12:31 +02:00
Joshua Reisenauer
cf2975d062 convenient way to combine errors 2016-06-02 02:31:25 -07:00
Joshua Reisenauer
af1eb5453a I added audio errors
The only thing I did not change was the _g for globals. Is there any
other way we can mark globals?
2016-06-02 02:02:23 -07:00
Joshua Reisenauer
05f8e83ba9 cleanup 2016-06-02 00:03:00 -07:00
Joshua Reisenauer
21a01ec870 simplified mod 2016-06-01 20:36:54 -07:00
Joshua Reisenauer
ae6adb173b Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-06-01 20:17:39 -07:00
Joshua Reisenauer
90e1ed2b5e mod player added 2016-06-01 20:09:00 -07: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
Ray
7afa0b09ab Support raygui as standalone library 2016-06-02 01:24:27 +02:00
raysan5
0a27525a4b Dependencies review
Checking some files to be converted to header-only
2016-06-01 14:01:35 +02:00
raysan5
3e88156817 Ignore invalid warning 2016-06-01 12:38:06 +02:00
raysan5
897179a06c Corrected some issues on OpenGL 1.1 2016-06-01 12:37:51 +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
Joshua Reisenauer
78b4494e2b Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-05-30 15:57:35 -07:00
Ray
caa7bc366b Reviewed DrawLight() function and some tweaks 2016-05-31 00:51:55 +02:00
Joshua Reisenauer
6ad8323860 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-05-30 15:39:21 -07:00
Joshua Reisenauer
9f2fc81df2 update to openal 2016-05-30 15:34:29 -07:00
Ray
8a4e28f81d Support Android internal data storage
Useful to save small data files (configuration and so)
For bigger files, external data storage should be used (SDCard)
2016-05-31 00:01:19 +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
64f6c74c9a Add normal and specular maps to draw model process 2016-05-30 19:18:55 +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
Joshua Reisenauer
5a041a6af5 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-05-25 11:26:31 -07:00
raysan5
3d6696f6c9 Renamed shader variables (more generic names) 2016-05-25 16:21: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
Joshua Reisenauer
f74791ed7b better build system 2016-05-23 02:12:22 -07:00
victorfisac
dcd6942ed1 Fix small bug and spacing 2016-05-21 18:22:15 +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
victorfisac
30941c0dd1 Add Draw3DLine function and fixed MLT glossiness import value
In standard shader, material glossiness is a value from 0 to 1000 like
in MLT files. So, it doesn't need to be normalized.
2016-05-21 18:10:06 +02:00
victorfisac
cf71e1242e Fix some audio module compile warnings 2016-05-21 18:08:09 +02:00
victorfisac
30c8058fca Add standard lighting (1/3)
- Ambient and lambert lighting added.
- Ambient and diffuse colors linked to standard shader.
- Single light linked to standard shader.
- LoadStandardMaterial() and depending functions added.
2016-05-20 17:18:07 +02:00
raysan5
6dac1efefe Comented buggy code to avoid problems...
...on model drawing
2016-05-20 15:01:36 +02:00
victorfisac
3fa6fdacf2 Improved MTL loading shininess value 2016-05-20 14:24:53 +02:00
victorfisac
90c62c4cc0 Fix small warning
Material glossiness is a float type value...
2016-05-20 14:07:50 +02:00
raysan5
dcf5f45f68 Add lighting system -IN PROGRESS-
Improved materials
2016-05-20 12:28:07 +02:00
raysan5
af890cf210 Updated to avoid pointers 2016-05-20 10:53:58 +02:00
raysan5
c9e30f7754 Review struct typedef to avoid pointers for users 2016-05-20 10:53:31 +02:00
raysan5
03cc031d00 Remove TODO comments (already done) 2016-05-20 09:40:48 +02:00
raysan5
7d1d9ff143 Support DYNAMIC_DRAW mesh loading 2016-05-20 09:36:02 +02:00
Joshua Reisenauer
179f2f9e4f windows automated compile
Only works when raylib is installed on windows system.
2016-05-19 20:56:38 -07:00
Joshua Reisenauer
41c5f3a017 Buffer for raw audio 2016-05-19 20:44:09 -07:00
Joshua Reisenauer
847944e240 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into newaudio 2016-05-19 15:31:56 -07:00
Joshua Reisenauer
b10425492a name correction 2016-05-19 15:22:12 -07:00
raysan5
8bbbe8cd76 Corrected namings 2016-05-19 13:50:29 +02:00
raysan5
037edbaa13 Reorganize data for consistency 2016-05-18 13:22:14 +02:00
Joshua Reisenauer
76ff4d220e renamed everything so it is obvious what it does 2016-05-15 19:37:15 -07:00
Joshua Reisenauer
86fbf4fd8f logic bug fix 2016-05-15 02:09:57 -07:00
Joshua Reisenauer
d38d7a1bed clean up on buffering and preconditions 2016-05-14 16:30:32 -07:00
Joshua Reisenauer
8c5d403dda new function to check if music stream is ready
_g naming convention for globals, new error exit numbers.
2016-05-14 15:26:17 -07:00
Joshua Reisenauer
ea4b5552c2 corrected typos 2016-05-14 00:25:40 -07:00
Chris Hemingway
b46a800597 Make GRAPHICS_API_OPENGL_33 work on OSX, closes #113 2016-05-14 01:10:05 +01:00
Joshua Reisenauer
5107a2dc40 bug fixes 2016-05-12 21:14:02 -07:00
Joshua Reisenauer
ded07690fd Merge remote-tracking branch 'refs/remotes/raysan5/develop' into newaudio 2016-05-12 16:06:22 -07:00
Joshua Reisenauer
83dbc07650 buffering of music now uses update audio context 2016-05-12 16:02:23 -07:00
raysan5
e060944b34 Added QuaternionInvert() 2016-05-12 13:02:04 +02:00
raysan5
075f51e0a3 Simplified internal (default) dynamic buffers 2016-05-12 12:20:23 +02:00
Joshua Reisenauer
f0ada8c40d apply index to remaining functions 2016-05-11 22:37:53 -07:00
Joshua Reisenauer
9737c58054 PlayMusicStream now uses index 2016-05-11 20:15:37 -07:00
Joshua Reisenauer
529d20ee6a Merge remote-tracking branch 'refs/remotes/raysan5/develop' into newaudio 2016-05-11 18:15:46 -07:00
Joshua Reisenauer
ad3d270c42 added set pitch for music streams 2016-05-11 18:14:59 -07:00
Ray
454b422fd6 Merge pull request #112 from kd7tck/develop
Base Audio Context System
2016-05-11 20:14:12 +02:00
raysan5
4d78d27bd9 Updated structs Mesh and Shader 2016-05-11 19:25:51 +02:00
Joshua Reisenauer
6db44500b7 adding multiple music streams 2016-05-11 00:37:10 -07:00
raysan5
6acfda599e Support indexed mesh data on OpenGL 1.1 path
Keep asking myself why I maintain this rendering path... -___-
2016-05-10 19:25:06 +02:00
raysan5
5c112ff542 Corrected tipo 2016-05-10 19:24:25 +02:00
raysan5
aee5d9a390 Code tweak 2016-05-10 19:24:05 +02:00
raysan5
1ddf594d15 Added support for indexed mesh data 2016-05-10 18:24:28 +02:00
Joshua Reisenauer
9799856ad4 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-05-10 02:00:42 -07:00
Joshua Reisenauer
b7f8e97b03 final fix for audiocontext system
now it works
2016-05-10 01:54:20 -07:00
Ray
ac44db26a2 Added reference 2016-05-09 13:16:44 +02:00
Ray
c85cd29049 Added defines for default shader names 2016-05-09 12:41:53 +02:00
Ray
3d0208223a First implementation of MTL loading
Not tested yet
2016-05-09 12:40:59 +02:00
Ray
dc4d5dabcd Added MTL loading info 2016-05-09 01:18:46 +02:00
Ray
f7d4951165 Improved vertex attribs support for models 2016-05-08 23:50:35 +02:00
raysan5
0bcb873cbb Improved mesh support
Depending on mesh data, it can be loaded and default vertex attribute
location points are set, including colors, tangents and texcoords2
2016-05-08 15:24:02 +02:00
raysan5
eeb151586f Corrected issues with OpenGL 1.1 backend 2016-05-07 18:28:40 +02:00
raysan5
7ab008878a Library redesign to accomodate materials system 2016-05-07 18:07:15 +02:00
raysan5
ec72a8868e Comment tweak 2016-05-07 18:04:22 +02:00
Joshua Reisenauer
e660700924 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-05-03 14:17:37 -07:00
raysan5
fd67e31f63 Renamed function for consistency 2016-05-03 19:27:06 +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
5f73850fa6 Renamed functions for consistency 2016-05-03 18:04:21 +02:00
raysan5
e94acf86f8 Reorganized internal funcs 2016-05-03 17:54:50 +02:00
Joshua Reisenauer
d6feeb14ff pause on no data 2016-05-03 02:52:45 -07:00
Joshua Reisenauer
9d09ada33b new boolean floatingPoint option
Now floating point is either on or off. This simplifies the use of 16bit
vs float.
2016-05-02 21:59:55 -07:00
Joshua Reisenauer
c3208c5cd6 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-05-02 14:43:37 -07:00
Joshua Reisenauer
4636e3367c number remaining buffer transfer for updateAudioContext
updateAudioContext is almost done
2016-05-02 14:37:00 -07:00
Ray
f2152aa391 Reorganize functions 2016-05-02 14:11:57 +02:00
Ray
2646ed0393 Removed debug functions 2016-05-02 14:11:42 +02:00
Joshua Reisenauer
9ef0240e99 resamples added
Ease of use considered in api and channels are more convenient as
unsigned char type.
2016-05-02 01:24:24 -07:00
Joshua Reisenauer
790bc72806 bool return for failed update 2016-05-01 23:07:02 -07:00
Joshua Reisenauer
289a53221d merge fix 2016-05-01 20:00:51 -07:00
Joshua Reisenauer
a2a3d3aeb6 new silence generator 2016-05-01 18:53:40 -07:00
Ray
17732fa9c4 Corrected warning with array 2016-05-02 00:38:01 +02:00
Ray
fa98289ddb Added 2D camera mode functions
Removed BeginDrawingEx()
Added Begin2dMode() and End2dMode()
2016-05-02 00:37:33 +02:00
Ray
0e6d1cb272 Working on materials system... 2016-05-02 00:16:32 +02:00
Ray
6ca1fd59a9 Merge pull request #111 from kd7tck/develop
First stage of audio API update
2016-05-01 01:49:40 +02:00
Ray
1fb874cdc5 Check for WebGL/Webkit extensions
Improve DXT-ETC1 support on HTML5
2016-05-01 01:09:48 +02:00
Joshua Reisenauer
34e5fcf47e removed enums 2016-04-30 16:05:43 -07:00
Joshua Reisenauer
a1038f61b6 BPS type added to ensure consistency 2016-04-30 15:41:46 -07:00
Joshua Reisenauer
5f1e8b8278 hide struct from user
Hiding the struct from user should protect from accidentally modifying
the mix channel. This could cause serious errors down the road.
2016-04-29 23:43:21 -07:00
Joshua Reisenauer
91f1f324c0 First stage of audio API update
Look over changes and give feedback please.
2016-04-29 23:00:12 -07:00
Joshua Reisenauer
f707c1ca46 this should work 2016-04-27 00:02:11 -07:00
Joshua Reisenauer
299ae7a4bd new trace logs and optimizations 2016-04-26 16:50:07 -07:00
Joshua Reisenauer
3104d3d6cd small fix for streaming
There is still an issue where audio will cut off after a brief moment
2016-04-25 22:18:49 -07:00
Joshua Reisenauer
04d9deac92 setting up openal 2016-04-25 20:05:03 -07:00
Joshua Reisenauer
f12754b01f quick fix
Boolean errors
2016-04-25 18:40:19 -07:00
Joshua Reisenauer
62087d21cc updated jar_xm 2016-04-24 23:44:49 -07:00
Joshua Reisenauer
89a84a621b implement 2016-04-24 22:04:31 -07:00
Joshua Reisenauer
1c370f5a17 cleaned up calculations 2016-04-24 22:00:40 -07:00
Joshua Reisenauer
cb05c51911 tabs to spaces fix 2016-04-24 18:18:18 -07:00
Joshua Reisenauer
ec2cbaa5eb Added proto version of jar_xm
This is an early draft, needs lots of work. Still need to figure out way
to calculate total length of song. This is hard because xm tracks stream
out zeros when done, only position in track can be found. Position does
not give any direct value of how much more time is left. I think that by
setting the loop count to 1 and seeking until the end I can total up the
number of samples and come up with a length.
2016-04-24 15:25:48 -07:00
raysan5
9639b14e1b Reduce PCM buffer size for Android to avoid stalls 2016-04-17 14:48:20 +02:00
raysan5
17eefed08f Improved gestures system 2016-04-17 11:36:40 +02:00
raysan5
2e5d898443 Corrected bug with old FBO struct 2016-04-17 11:25:04 +02:00
raysan5
6b5e18e6bf Make mouse inputs available on Android for...
... easy code porting, transalating them to touches and gestures
internally.

Removed function SetCustomCursor(), it can be managed by the user.
2016-04-17 11:19:32 +02:00
raysan5
284eaf1576 Use Depth Texture on OpenGL 3.3 2016-04-10 19:38:57 +02:00
raysan5
c1e49d2b13 Removed function
I decided it is redundant and could be confusing (when mixed with 3D
drawing). It's not KISS.
2016-04-08 12:00:29 +02:00
raysan5
aa22d97983 Simplified texture flip and added comments 2016-04-07 13:31:53 +02:00
raysan5
3b67a4cfba Update stb libs to latest version 2016-04-06 17:45:25 +02:00
LelixSuper
9361615786 Fix Makefile files
I've added .PHONY targets and fixed "clean" recipe.
2016-04-06 13:21:29 +02:00
raysan5
0133917bf9 Correct detail 2016-04-04 01:15:43 +02:00
Ray
b6cec214bd Unified internal shader to only one
Only defaultShader required, set default value for vertex color
attribute if not enabled and fragColor uniform
2016-04-03 20:14:07 +02:00
raysan5
a66c8531d6 Some code simplifications 2016-04-03 18:31:42 +02:00
LelixSuper
a04a7b6ea5 Fix cleaning recipies for GNU/Linux 2016-04-03 16:07:44 +02:00
LelixSuper
f2f4079411 Remove recipes of GLEW from Makefile (not used any more) 2016-04-03 16:05:23 +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
1136d4222f Setting up for raylib 1.5.0 2016-03-28 01:18:40 +02:00
raysan5
136408d8b8 Corrected bug on bounding box
if mesh is not loaded properly it breaks the game!
2016-03-27 19:42:57 +02:00
raysan5
a3f16c8459 Improved 2d camera system -IN PROGRESS- 2016-03-27 18:34:05 +02:00
raysan5
956a6e6f77 Corrected bug and comments on model unloading 2016-03-27 18:34:05 +02:00
raysan5
8b7ca8b670 Review comments 2016-03-27 18:34:05 +02:00
victorfisac
ea7afc8ec8 Fix spacing and some comments 2016-03-23 22:47:39 +01:00
victorfisac
60223a358b Physac redesign (3/3)
Finally, physics update is handled in main thread using steps to get
accuracy in collisions detection instead of moving it to a new thread.

Examples are finished as simple and clear as I could. Finally, physac
module is MORE simpler than in the first version, calculation everything
by the same way for both types of physic objects.

I tryed to add rotated physics a couple of times but I didn't get
anything good to get a base to improve it. Maybe for the next version...

No bugs or strange behaviours found during testing.
2016-03-23 15:50:41 +01:00
raysan5
269b120104 Review Android button inputs 2016-03-21 20:15:11 +01:00
raysan5
584e74c676 Corrected bug on touch position 2016-03-20 16:48:23 +01:00
raysan5
fa78023aa4 Understand mouse as touch in web 2016-03-20 16:28:59 +01:00
raysan5
ebc2b9a286 Improved windows resizing system...
...despite not being enabled on GLFW3
2016-03-20 14:20:42 +01: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
Ray
49df957058 Add support for multiple gamepads on RPI 2016-03-17 12:54:36 +01:00
Ray
95c1bf9544 Removed previous change that introduced a bug 2016-03-16 19:10:19 +01:00
Ray
db4585b3e2 Improved gamepad support
Now it works ok also in RaspberryPi
2016-03-16 17:52:09 +01:00
Ray
d6bc7b8877 Reset pointCount for gestures 2016-03-16 17:51:21 +01:00
Ray
ee52b13ae6 Corrected bug on GetCollisionRec() 2016-03-16 17:50:51 +01:00
victorfisac
0caf925d5d Updated headers 2016-03-16 12:48:30 +01:00
victorfisac
7128ef686d physac module redesign (2/3)
physac module base almost finished. All collisions are now resolved
properly and some force functions was added.

COLLIDER_CAPSULE removed for now because in 2D everything is composed by
rectangle and circle colliders...

The last step is move physics update loop into another thread and update
it in a fixed time step based on fps.
2016-03-16 12:45:01 +01:00
LelixSuper
2e3e62a413 Raname all makefile files to "Makefile"
I've renamed all makefile files to "Makefile" because they appear in the first files.
2016-03-12 20:01:46 +01:00
Ray
dcabb49244 GESTURE SWIPE
change name variable
2016-03-09 10:15:28 +01:00
Ray
18a13679fd Review GuiToggleButton() 2016-03-07 09:38:55 +01:00
raysan5
6ee5718b2e Improved function GetKeyPressed()
To support multiple keys (including function keys)
2016-03-06 19:30:16 +01:00
raysan5
d0e7195a16 Added new functions to draw text on image 2016-03-06 19:28:58 +01:00
raysan5
7053724fd6 Default style tweak 2016-03-06 12:24:44 +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
893facdf6d Merge pull request #101 from victorfisac/develop
Redesigned physac module (IN PROGRESS)
2016-03-05 20:16:52 +01:00
victorfisac
78e4772f21 Fixed physac header little mistake 2016-03-05 19:36:40 +01:00
victorfisac
305efcf5ad Redesigned physics module (IN PROGRESS)
physac modules is being redesigned. Physics base behaviour is done and
it is composed by three steps: apply physics, resolve collisions and fix
overlapping.

A basic example is currently in progress. The next steps are try to add
torque and unoriented physic collisions and implement physics basic
functions to add forces. Rigidbody grounding state is automatically
calculated and has a perfect result. Rigidbodies interacts well with
each others.

To achieve physics accuracy, UpdatePhysics() is called a number of times
per frame. In a future, it should be changed to another thread and call
it without any target frame restriction.

Basic physics example has been redone (not finished) using the new
module functions. Forces examples will be redone so I removed it from
branch.
2016-03-05 17:05:02 +01:00
raysan5
0d911127d7 Split mesh generation from model loading 2016-03-05 16:17:54 +01:00
raysan5
5ea18b9426 Support 2d camera system -IN PROGRESS- 2016-03-05 15:40:08 +01:00
raysan5
d8bd8634ab 3d Camera: Added support for field-of-view Y 2016-03-05 13:05:45 +01:00
Ray
dcbf2a0e0c Replaced tabs by spaces 2016-03-03 13:24:56 +01:00
raysan5
fffbf48dec Added support for Nearest-Neighbor image scaling
Specially useful on default font scaling
2016-03-02 19:22:55 +01:00
raysan5
a167067cbd Security check for unsupported BMFonts
- Check if first character is the expected Space char (32)
- Check if characters are ordered in definition file (.fnt)
2016-03-02 18:35:30 +01:00
raysan5
4476a9e241 Review rlglUnproject() system 2016-03-02 17:13:31 +01:00
raysan5
4011c13d4b Updated BoundingBox collision detections 2016-03-01 20:54:02 +01:00
raysan5
6106ab8a2e Added color to DrawBoundigBox() 2016-03-01 20:26:01 +01:00
raysan5
1674465bdc Adjust buffers usage
- Removed DrawQuad() function
- DrawBillboard() uses DrawBillboardRec()
- DrawPlane() uses RL_TRIANGLES
- DrawRectangleV() uses RL_TRIANGLES, that way, [shapes] module uses
only TRIANGLES buffers.
2016-03-01 19:00:12 +01:00
raysan5
8ca6f8c6ec Do not free model mesh 2016-03-01 15:37:01 +01:00
raysan5
04caf1c262 Corrected memory leak 2016-03-01 15:36:45 +01:00
Ray
0dfc7fffff Removed a couple of TODOs 2016-02-23 00:57:50 +01:00
raysan5
d042ed52fa Updated 2016-02-21 16:19:40 +01:00
raysan5
2cc05e5e92 Corrected typo 2016-02-21 16:19:31 +01:00
raysan5
84252f9b70 Uploaded raylib bitcode library (PLATFORM_WEB) 2016-02-20 20:29:20 +01:00
raysan5
83459159f4 Corrected compiler complaint 2016-02-20 19:01:41 +01:00
Ray
954ced21a4 Merge branch 'master' into develop
# Conflicts:
#	src/gestures.c
#	src/makefile
2016-02-20 01:08:43 +01:00
Ray San
98c60838fe Reviewed RPI inputs 2016-02-19 19:57:25 +01:00
Ray
09f28d0f57 Working on RPI gamepad support 2016-02-19 00:16:16 +01:00
Ray San
8aab52aeda Redesigned RPI input system -IN PROGRESS- 2016-02-18 14:05:48 +01:00
Ray
afd2ffb74a Updated gestures module
Using normalized [0..1] input points
2016-02-17 13:00:48 +01:00
raysan5
0018522031 Updated show-logo and start reviewing RPI inputs 2016-02-13 19:14:22 +01:00
raysan5
30fafb77db Updated fullscreen issue comment 2016-02-13 17:39:38 +01:00
raysan5
ed19064405 Reviewed physics module
A deeper revision required, not clear enough for the user
Key: Create a PhysicObjects pool
2016-02-13 17:09:53 +01:00
raysan5
94c92a58a1 Some tweaks 2016-02-13 17:08:09 +01:00
raysan5
cbbe948529 Some code tweaks 2016-02-12 19:02:23 +01:00
raysan5
823abf666e Reviewed code TODOs 2016-02-12 12:22:56 +01:00
raysan5
685273675b Improved LoadHeightmap() 2016-02-11 15:51:04 +01:00
raysan5
9cbfcbb820 Add a note about an issue 2016-02-11 14:56:00 +01:00
raysan5
fca83c9ff8 Solve bug on matrix multiply order for scale and rotation 2016-02-11 14:27:18 +01:00
Ray
c69ce1d750 Updated comments 2016-02-10 13:54:32 +01:00
Ray
84a6724b33 Fixed a bug 2016-02-10 11:24:02 +01:00
Ray
a847df921f Reviewed gestures module 2016-02-10 10:31:06 +01:00
Ray
687fe2c3c7 Updated 2016-02-08 09:06:26 +01:00
Ray
e98ea900cf Reviewing gestures module (IN PROGRESS) 2016-02-08 09:06:23 +01:00
Ray
2ef9552454 WARNING message shortened 2016-02-08 09:06:20 +01:00
Ray
6a392f0eb2 GLAD not used on HTML5 2016-02-08 09:06:16 +01:00
raysan5
c00062655f GLAD only available on PLATFORM_DESKTOP 2016-02-07 11:35:36 +01:00
Ray
646f1c3f71 Some formating tweaks 2016-02-03 17:45:28 +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
Ray
65ecde1e75 Cleaned code a little bit 2016-02-02 17:59:13 +01:00
Ray
728e1715cc Redesigned gestures system...
...and improved mouse gestures support
Some testing still required...
2016-02-02 16:43:42 +01:00
Constantine Tarasenkov
13925f7bd4 Add functions to disable and enable cursor 2016-01-29 09:09:18 +03:00
Constantine Tarasenkov
e6ad166ae3 2016-01-29 08:02:53 +03:00
Constantine Tarasenkov
5d6475c93b Fix raylib compiling on Linux 2016-01-29 03:22:51 +03:00
raysan5
ac475f46b9 Added touch points id to gestures
Required by ProcessGestureEvent()
2016-01-28 10:03:37 +01:00
raysan5
99f99bea47 Simplified shader matrix uniforms 2016-01-25 13:54:09 +01:00
raysan5
d0ff78e7f4 Move Light struct to example 2016-01-25 13:39:23 +01:00
raysan5
3113a20390 Added bounding box calculation 2016-01-25 11:12:31 +01:00
raysan5
41959eeae1 Added support for mouse gestures (need testing)
Mouse input is interpreted as touches to allow mouse gestures
detection... and get an unified inputs system for all platforms!
2016-01-24 19:17:08 +01:00
raysan5
08da91047e Some code tweaks 2016-01-23 13:22:13 +01:00
raysan5
6e9d3eb0f9 Review comments 2016-01-23 12:37:42 +01:00
victorfisac
233f7611da Fixed hold gesture detection
- Fixed gestures hold detection.
- Improved hold state detection for little touch position increments
(sensitivity).
2016-01-22 17:07:54 +01:00
raysan5
4e57bd1f18 Replaced GLEW by GLAD
Removed GLEW external dependency, now it works with GLAD
Kept GLEW path, just in case... detected weird behaviour when testing
with gDEBugger
2016-01-22 01:22:45 +01:00
raysan5
455be7f6f6 Try to implement GLAD support 2016-01-21 13:52:09 +01:00
raysan5
23d66e9b6f Move extensions loading to core module 2016-01-21 12:24:35 +01:00
raysan5
882e2abee1 Corrected bug 2016-01-21 12:24:12 +01:00
raysan5
68ba34c17b Updated struct types 2016-01-21 01:03:43 +01:00
victorfisac
fcd30c5649 Added ray-sphere collision detection 2016-01-20 19:28:47 +01:00
raysan5
cf6c6fefd7 Review some function names for consistency with raymath 2016-01-20 19:23:58 +01:00
raysan5
c5663ca015 Some formatting tweaks 2016-01-20 19:09:48 +01:00
raysan5
51c0b61a43 Updated to latest version of stb libs 2016-01-20 18:48:52 +01:00
raysan5
634f8f0d0f Adapted easings as single header and inline functions 2016-01-20 18:20:36 +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
Joshua Reisenauer
ae87a35f6e standalone raymath
look over for errors
2016-01-19 15:00:48 -08:00
raysan5
29c618a35e Added some functions (incomplete) 2016-01-19 20:27:41 +01:00
raysan5
fd05d3e353 Rename VertexData struct to Mesh
Reviewed vertex type variables
2016-01-18 13:36:18 +01:00
raysan5
f24fd14814 Note on RPI inputs 2016-01-18 12:05:10 +01:00
raysan5
f98c4dc82b Corrected bug on fonts loading 2016-01-18 12:04:54 +01:00
Ray San
91e00431d4 Corrected some bugs 2016-01-14 09:19:56 +01:00
raysan5
3b4d8442e0 Corrected some float values 2016-01-13 19:30:35 +01:00
raysan5
fb6ef2c2f4 Vertex shaders optimization 2016-01-13 17:13:28 +01:00
victorfisac
4cc394c376 Added world to screen conversion
- Added function WorldToScreen(...).
- Added world to screen example.
- Review GetMouseRay() comment.
- Removed deprecated lighting functions from raylib header.
2016-01-11 15:59:26 +01:00
raysan5
5e7686695f Review Light/Material system
Simplified for the user (more intuitive and clear)
Removed lighting module dependency
2016-01-11 13:29:55 +01:00
raysan5
e5a56fa985 Change drawing order to avoid artifacts with...
... transparent elements
2016-01-11 11:59:15 +01:00
victorfisac
a5e79b7663 Fixed small glitch on zoom-in with mouse wheel
It seems that now works. Tested all free camera features with some
directions and positions and no unexpected behaviours detected. I don't
know if those lines are really indispensable.
2016-01-08 02:53:26 +01:00
victorfisac
1793f2c3b8 Added collision check between ray and box
- Added CheckCollisionRayBox() function.
- Updated and improved core 3d picking example (currently working as
expected).
2016-01-07 16:18:24 +01:00
victorfisac
4a637191f2 Implemented ray trace from mouse position
- Fixed GetMouseRay() function.
- rlglUnproject() unused.
2016-01-07 15:34:49 +01:00
raysan5
7f2e67e924 Simplified MatrixMultiply() function 2016-01-06 17:22:24 +01:00
victorfisac
fe0cf8f9a9 Added some comments and fixed spaces 2016-01-05 13:58:20 +01:00
victorfisac
32508f6db1 Fixed Android lock screen bug
- Fixed Android locking screen bug. OnDestroy() was called when locking
screen.
- Power button input must be handled by OS.
- AndroidManifest.xml is affected by configChanges="screenSize".
- Updated library header for android template.
2016-01-05 12:21:40 +01:00
victorfisac
1c23edd1e5 Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop 2016-01-04 21:03:30 +01:00
victorfisac
ea50092356 Add Android physic buttons input detection
- Added functions for detect when pressed, during down and when
released.
- Added defines for back, menu, volume up and down button numbers.
2016-01-04 21:00:20 +01:00
raysan5
891c4a458a Matrix variables renaming 2016-01-04 20:02:57 +01:00
raysan5
70d405b41b Added functionality: Storage values
Two new functions added to save/load values as binary data:
- StorageSaveValue()
- StorageLoadValue()
2016-01-04 15:12:34 +01:00
raysan5
95da97fa74 Fixed bug: rlglGenerateMipmaps() 2016-01-04 15:09:44 +01:00
victorfisac
a299bc289b Improved and added functions to physac engine module
- Improved physics calculations.
- Added AddForceAtPosition function (added to all enabled rigidbodies).
- Updated raylib header.
2016-01-03 17:53:29 +01:00
victorfisac
e0d8cceb65 Fixed lighting engine module newlines at end of file 2016-01-03 17:52:18 +01:00
raysan5
d32feaa668 Reviewed Android inputs and gestures system
Corrected Android processing for some inputs (BACK button, VOLUME
buttons)
Redesigned Gestures system (some work still required)
SetEnabledGestures() - Only support desired gestures (requires some
review)
2016-01-03 13:01:21 +01:00
raysan5
fa057f512f Improved fonts support
Added LoadBMFont() to load AngelCode fonts (.fnt)
Implemented LoadTTF() to load .ttf fonts (crappy packaging)
2016-01-02 10:45:51 +01:00
raysan5
55f0abbe99 Updated to latest version 2016-01-02 10:44:03 +01:00
raysan5
9f5c5dfff4 Added module: easings (header only) 2016-01-02 10:43:17 +01:00
raysan5
802f29fb0e Eat Android Back key to avoid crash 2016-01-02 10:42:43 +01:00
raysan5
b804f38150 Small code tweaks 2016-01-02 10:41:37 +01:00
Ray
8c8e5bb7c8 Update and rename physics.c to physac.c 2015-12-30 13:43:53 +01:00
Ray
59cf0f6a42 Update and rename physics.h to physac.h 2015-12-30 13:42:59 +01:00
raysan5
5659249dfa Some tweaks and details review 2015-12-30 13:35:03 +01:00
raysan5
b894a78385 Reviewed function GetCurrentTime() on WIN32 2015-12-30 13:34:45 +01:00
raysan5
3b45336929 Reviewed function: CheckCollisionCircleRec() 2015-12-30 13:34:00 +01:00
raysan5
da28cff0f6 Added function: SubText()
Useful to get a piece of text, could be used for text typing animations
2015-12-30 13:33:26 +01:00
raysan5
5dbb93dbb4 Added function: ImageDither()
Corrected some code details
2015-12-30 13:32:41 +01:00
victorfisac
e683fe88b9 Added physics engine-module and example
- Added new physics engine-module with four new data types: Physics,
Transform, Rigidbody and Collider. This library contains functions to
apply physics calculations to a position vector calculating collisions
automatically.

- Fixed some writing mistakes of lighting module.
2015-12-21 21:12:35 +01:00
victorfisac
1bcb5ddd50 Added lighting engine module
- New lighting engine module which contains new data types Light and
Material. These data types and functions facilitates making a basic 3D
iluminated program with a light and a model.

- Added lighting engine module example (currently included in raylib.h;
it might be compiled by separate and include lighting.h in game source C
file).

- Corrected some opengl defines control structures and added some TODO
to fix raylib-opengl 1.1 source build (note: now source can be compiled
without errors, but rlglReadPixels() won't work properly).

Note: most of functions of phong version 330 shader are not in v100
shaders, so I couldn't write a version 100 phong shader. These functions
are included from version 150.
2015-12-21 17:25:22 +01:00