Skip to content

Commit 77558ee

Browse files
committed
Merge pull request #28 from raysan5/develop
Integrating Develop branch
2 parents 858ccb3 + d05acb1 commit 77558ee

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2100
-259
lines changed

CHANGELOG

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
changelog
22
---------
33

4-
Current Release: raylib 1.3.0 (01 September 2015)
4+
Current Release: raylib 1.3.0 (03 September 2015)
55

66
NOTE: Only versions marked as 'Release' are available in installer, updates are only available as source.
77
NOTE: Current Release includes all previous updates.
@@ -13,14 +13,14 @@ NOTE:
1313
This version supposed a big boost for raylib, new modules have been added with lots of features.
1414
Most of the modules have been completely reviewed to accomodate to the new features.
1515
Over 50 new functions have been added to previous raylib version.
16-
Most of the examples have been redone and 10 new advanced examples have been added.
16+
Most of the examples have been redone and +10 new advanced examples have been added.
1717

1818
BIG changes:
19+
[rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
20+
[textures] FORMATS: Support for multiple internal formats, including compressed formats
1921
[camera] NEW MODULE: Set of cameras for 3d view: Free, Orbital, 1st person, 3rd person
2022
[gestures] NEW MODULE: Gestures system for Android and HTML5 platforms
21-
[raygui] NEW MODULE: Set of IMGUI elements for tools development
22-
[rlgl] SHADERS: Support for model shaders and postprocessing shaders (multiple functions)
23-
[textures] FORMATS: Added support for multiple internal formats, including compressed formats
23+
[raygui] NEW MODULE: Set of IMGUI elements for tools development (experimental)
2424

2525
smaller changes:
2626
[rlgl] Added check for OpenGL supported extensions

README.md

+19-19
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ raylib is a simple and easy-to-use library to learn videogames programming.
88
raylib is highly inspired by Borland BGI graphics lib and by XNA framework.
99
Allegro and SDL have also been analyzed for reference.
1010

11-
NOTE for ADVENTURERS: raylib is a programming library to learn videogames programming; no fancy interface, no visual helpers, no auto-debugging... just coding in the most pure spartan-programmers way. Are you ready to learn? Jump to [code examples!](http://www.raylib.com/examples.htm)
12-
13-
Since version 1.2.2 raylib can compile directly for web (html5) using emscripten and asm.js,
14-
to see a demo of raylib features working on web, [check here!](http://www.raylib.com/raylib_demo.html)
11+
NOTE for ADVENTURERS: raylib is a programming library to learn videogames programming;
12+
no fancy interface, no visual helpers, no auto-debugging... just coding in the most
13+
pure spartan-programmers way. Are you ready to learn? Jump to [code examples!](http://www.raylib.com/examples.htm)
1514

1615
history
1716
-------
@@ -79,21 +78,24 @@ notes on raylib 1.3
7978
-------------------
8079

8180
On September 2015, after 1 year of raylib 1.2 release, arrives raylib 1.3. This version adds shaders functionality,
82-
improves textures module and provides some new modules (camera system, gestures system, IMGUI).
81+
improves tremendously textures module and also provides some new modules (camera system, gestures system, IMGUI).
82+
83+
Shaders support is the biggest addition to raylib 1.3, with support for easy shaders loading and use. Loaded shaders can be
84+
attached to 3d models or used as fullscreen postrocessing effects. A bunch of postprocessing shaders are also included
85+
in this release, check raylib/shaders folder.
8386

84-
Shaders, the biggest addition to raylib, with support for simple and easy shaders loading and use. Loaded shaders can be
85-
assigned to models or used as fullscreen postrocessing shaders.
87+
Textures module has grown to support most of the internal texture formats available in OpenGL (RGB565, RGB888, RGBA5551, RGBA4444, etc.),
88+
including compressed texture formats (DXT, ETC1, ETC2, ASTC, PVRT); raylib 1.3 can load .dds, .pkm, .ktx, .astc and .pvr files.
8689

87-
Textures module has been improved to support most of the internal texture formats available in OpenGL
88-
(RGB565, RGB888, RGBA5551, RGBA4444, etc.), including compressed texture formats (DXT, ETC1, ETC2, ASTC, PVRT).
90+
A brand new [camera](https://github.com/raysan5/raylib/blob/develop/src/camera.c) module offers to the user multiple preconfigured ready-to-use camera systems (free camera, 1st person, 3rd person).
91+
Camera modes are very easy to use, just check examples: [core_3d_camera_free.c](https://github.com/raysan5/raylib/blob/develop/examples/core_3d_camera_free.c) and [core_3d_camera_first_person.c](https://github.com/raysan5/raylib/blob/develop/examples/core_3d_camera_first_person.c).
8992

90-
New camera module offers to the user multiple preconfigured ready-to-use camera systems (free camera, 1st person, 3rd person).
91-
Camera modes are very easy to use, just calling functions: SetCameraMode() and UpdateCamera().
93+
New [gestures](https://github.com/raysan5/raylib/blob/develop/src/gestures.h) module simplifies gestures detection on Android and HTML5 programs.
9294

93-
New gestures module simplifies gestures detection on Android and HTML5 programs.
95+
[raygui](https://github.com/raysan5/raylib/blob/develop/src/raygui.h), the new IMGUI (Immediate Mode GUI) module offers a set of functions to create simple user interfaces,
96+
primary intended for tools development. It's still in experimental state but already fully functional.
9497

95-
New IMGUI (Immediate Mode GUI) module: raygui, offers a set of functions to create simple user interfaces,
96-
primary intended for tools development, still in experimental state but already fully functional.
98+
Most of the examples have been completely rewritten and +10 new examples have been added to show the new raylib features.
9799

98100
Lots of code changes and lot of testing have concluded in this amazing new raylib 1.3.
99101

@@ -102,13 +104,11 @@ features
102104

103105
* Written in plain C code (C99)
104106
* Uses C# PascalCase/camelCase notation
105-
* Hardware accelerated with OpenGL (1.1, 3.3+ or ES2)
106-
* Unique OpenGL abstraction layer: [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.c)
107107
* Hardware accelerated with OpenGL (1.1, 3.3 or ES2)
108-
* Unique OpenGL abstraction layer [rlgl]
108+
* Unique OpenGL abstraction layer: [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.c)
109109
* Powerful fonts module with SpriteFonts support
110-
* Multiple textures support, including DDS, PKM and mipmaps generation
111-
* Basic 3d support for Shapes, Models, Heightmaps and Billboards
110+
* Outstanding texture formats support, including compressed formats
111+
* Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps
112112
* Powerful math module for Vector and Matrix operations: [raymath](https://github.com/raysan5/raylib/blob/master/src/raymath.c)
113113
* Audio loading and playing with streaming support (WAV and OGG)
114114
* Custom color palette for fancy visuals on raywhite background

ROADMAP.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ raylib v1.4
1010

1111
- TTF fonts support (using stb_truetype)
1212
- Raycast system for 3D picking (including collisions detection)
13-
- Remove GLEW dependency (use another solution...)
13+
- Remove GLEW dependency (use another solution... glad?)
1414
- Floyd-Steinberg dithering on 16bit image format conversion
1515
- Basic image manipulation functions (crop, resize, draw...)
1616
- Basic image procedural generation (spot, gradient, noise...)
1717
- Basic GPU stats sytem (memory, draws, time...)
18+
- LUA scripting support (wrapper to lua lib)
1819

1920
Check [GITHUB ISSUES][issues] for further details on implementation status for this features!
2021

examples/audio_music_stream.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
*
55
* NOTE: This example requires OpenAL Soft library installed
66
*
7-
* This example has been created using raylib 1.1 (www.raylib.com)
7+
* This example has been created using raylib 1.3 (www.raylib.com)
88
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
99
*
10-
* Copyright (c) 2014 Ramon Santamaria (@raysan5)
10+
* Copyright (c) 2015 Ramon Santamaria (@raysan5)
1111
*
1212
********************************************************************************************/
1313

@@ -61,9 +61,9 @@ int main()
6161
if (IsWindowMinimized()) PauseMusicStream();
6262
else ResumeMusicStream();
6363

64-
timePlayed = GetMusicTimePlayed() / GetMusicTimeLength() * 100 * 4; // We scale by 4 to fit 400 pixels
64+
timePlayed = GetMusicTimePlayed()/GetMusicTimeLength()*100*4; // We scale by 4 to fit 400 pixels
6565

66-
UpdateMusicStream();
66+
UpdateMusicStream(); // Update music buffer with new stream data
6767
//----------------------------------------------------------------------------------
6868

6969
// Draw

examples/core_3d_camera_first_person.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ int main()
2727

2828
// Generates some random columns
2929
float heights[MAX_COLUMNS];
30-
Vector3 positions[MAX_COLUMNS] = { 0.0, 2.5, 0.0 };
30+
Vector3 positions[MAX_COLUMNS];
3131
Color colors[MAX_COLUMNS];
3232

3333
for (int i = 0; i < MAX_COLUMNS; i++)
@@ -76,7 +76,7 @@ int main()
7676

7777
DrawText("First person camera default controls:", 20, 20, 10, GRAY);
7878
DrawText("- Move with keys: W, A, S, D", 40, 50, 10, DARKGRAY);
79-
DrawText("- Mouse move to lokk around", 40, 70, 10, DARKGRAY);
79+
DrawText("- Mouse move to look around", 40, 70, 10, DARKGRAY);
8080

8181
EndDrawing();
8282
//----------------------------------------------------------------------------------

examples/core_3d_picking.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* This example has been created using raylib 1.3 (www.raylib.com)
66
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
77
*
8-
* Copyright (c) 2015 Ramon Santamaria (Ray San - [email protected])
8+
* Copyright (c) 2015 Ramon Santamaria (@raysan5)
99
*
1010
********************************************************************************************/
1111

examples/core_basic_window_web.c

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
/*******************************************************************************************
22
*
3-
* raylib [core] example - Basic window
3+
* raylib [core] example - Basic window (adapted for HTML5 platform)
44
*
5-
* Welcome to raylib!
5+
* This example is prepared to compile for PLATFORM_WEB, PLATFORM_DESKTOP and PLATFORM_RPI
6+
* As you will notice, code structure is slightly diferent to the other examples...
7+
* To compile it for PLATFORM_WEB just uncomment #define PLATFORM_WEB at beginning
68
*
7-
* To test examples, just press F6 and execute raylib_compile_execute script
8-
* Note that compiled executable is placed in the same folder as .c file
9-
*
10-
* You can find all basic examples on C:\raylib\raylib\examples folder or
11-
* raylib official webpage: www.raylib.com
12-
*
13-
* Enjoy using raylib. :)
14-
*
15-
* This example has been created using raylib 1.0 (www.raylib.com)
9+
* This example has been created using raylib 1.3 (www.raylib.com)
1610
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
1711
*
18-
* Copyright (c) 2014 Ramon Santamaria (@raysan5)
12+
* Copyright (c) 2015 Ramon Santamaria (@raysan5)
1913
*
2014
********************************************************************************************/
2115

2216
#include "raylib.h"
2317

18+
//#define PLATFORM_WEB
19+
2420
#if defined(PLATFORM_WEB)
2521
#include <emscripten/emscripten.h>
2622
#endif

examples/core_drop_files.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
*
33
* raylib [core] example - Windows drop files
44
*
5+
* This example only works on platforms that support drag & drop (Windows, Linux, OSX, Html5?)
6+
*
57
* This example has been created using raylib 1.3 (www.raylib.com)
68
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
79
*
8-
* Copyright (c) 2014 Ramon Santamaria (Ray San - [email protected])
10+
* Copyright (c) 2015 Ramon Santamaria (@raysan5)
911
*
1012
********************************************************************************************/
1113

examples/makefile

+74-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#
33
# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten)
44
#
5-
# Copyright (c) 2014 Ramon Santamaria (Ray San - [email protected])
5+
# Copyright (c) 2015 Ramon Santamaria (@raysan5)
66
#
77
# This software is provided "as-is", without any express or implied warranty. In no event
88
# will the authors be held liable for any damages arising from the use of this software.
@@ -154,9 +154,14 @@ EXAMPLES = \
154154
core_input_keys \
155155
core_input_mouse \
156156
core_mouse_wheel \
157+
core_input_gamepad \
157158
core_random_values \
158159
core_color_select \
160+
core_drop_files \
159161
core_3d_mode \
162+
core_3d_picking \
163+
core_3d_camera_free \
164+
core_3d_camera_first_person \
160165
shapes_logo_raylib \
161166
shapes_basic_shapes \
162167
shapes_colors_palette \
@@ -165,16 +170,24 @@ EXAMPLES = \
165170
textures_image_loading \
166171
textures_rectangle \
167172
textures_srcrec_dstrec \
173+
textures_to_image \
174+
textures_raw_data \
175+
textures_formats_loading \
176+
textures_particles_trail_blending \
168177
text_sprite_fonts \
169178
text_rbmf_fonts \
170179
text_format_text \
171180
text_font_select \
172181
models_geometric_shapes \
173-
models_planes \
182+
models_box_collisions \
174183
models_billboard \
175184
models_obj_loading \
176185
models_heightmap \
177186
models_cubicmap \
187+
shaders_model_shader \
188+
shaders_shapes_textures \
189+
shaders_custom_uniform \
190+
shaders_postprocessing \
178191
audio_sound_loading \
179192
audio_music_stream \
180193
fix_dylib \
@@ -201,16 +214,26 @@ core_input_keys: core_input_keys.c
201214
core_input_mouse: core_input_mouse.c
202215
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
203216

204-
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
205217
# compile [core] example - gamepad input
206218
core_input_gamepad: core_input_gamepad.c
219+
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
207220
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
221+
else
222+
@echo core_input_gamepad: Only supported on desktop platform
208223
endif
209224

210225
# compile [core] example - mouse wheel
211226
core_mouse_wheel: core_mouse_wheel.c
212227
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
213228

229+
# compile [core] example - drop files
230+
core_drop_files: core_drop_files.c
231+
ifeq ($(PLATFORM),PLATFORM_DESKTOP)
232+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
233+
else
234+
@echo core_drop_files: Only supported on desktop platform
235+
endif
236+
214237
# compile [core] example - generate random values
215238
core_random_values: core_random_values.c
216239
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
@@ -223,6 +246,18 @@ core_color_select: core_color_select.c
223246
core_3d_mode: core_3d_mode.c
224247
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
225248

249+
# compile [core] example - 3d picking
250+
core_3d_picking: core_3d_picking.c
251+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
252+
253+
# compile [core] example - 3d camera free
254+
core_3d_camera_free: core_3d_camera_free.c
255+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
256+
257+
# compile [core] example - 3d camera first person
258+
core_3d_camera_first_person: core_3d_camera_first_person.c
259+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
260+
226261
# compile [shapes] example - raylib logo (with basic shapes)
227262
shapes_logo_raylib: shapes_logo_raylib.c
228263
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
@@ -255,6 +290,22 @@ textures_rectangle: textures_rectangle.c
255290
textures_srcrec_dstrec: textures_srcrec_dstrec.c
256291
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
257292

293+
# compile [textures] example - texture to image
294+
textures_to_image: textures_to_image.c
295+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
296+
297+
# compile [textures] example - texture raw data
298+
textures_raw_data: textures_raw_data.c
299+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
300+
301+
# compile [textures] example - texture formats loading
302+
textures_formats_loading: textures_formats_loading.c
303+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
304+
305+
# compile [textures] example - texture particles trail blending
306+
textures_particles_trail_blending: textures_particles_trail_blending.c
307+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
308+
258309
# compile [text] example - sprite fonts loading
259310
text_sprite_fonts: text_sprite_fonts.c
260311
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
@@ -275,6 +326,10 @@ text_font_select: text_font_select.c
275326
models_geometric_shapes: models_geometric_shapes.c
276327
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
277328

329+
# compile [models] example - box collisions
330+
models_box_collisions: models_box_collisions.c
331+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
332+
278333
# compile [models] example - basic window
279334
models_planes: models_planes.c
280335
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
@@ -295,6 +350,22 @@ models_heightmap: models_heightmap.c
295350
models_cubicmap: models_cubicmap.c
296351
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
297352

353+
# compile [shaders] example - model shader
354+
shaders_model_shader: shaders_model_shader.c
355+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
356+
357+
# compile [shaders] example - shapes texture shader
358+
shaders_shapes_textures: shaders_shapes_textures.c
359+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
360+
361+
# compile [shaders] example - custom uniform in shader
362+
shaders_custom_uniform: shaders_custom_uniform.c
363+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
364+
365+
# compile [shaders] example - postprocessing shader
366+
shaders_postprocessing: shaders_postprocessing.c
367+
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)
368+
298369
# compile [audio] example - sound loading and playing (WAV and OGG)
299370
audio_sound_loading: audio_sound_loading.c
300371
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS)

0 commit comments

Comments
 (0)