raylib/examples
Tchan0 8dbf371244
Examples makefiles: align /usr/local with /src Makefile (#4286)
* align /usr/local with src Makefile

Align /usr/local with the /src Makefile, where it can be overriden.

* /usr/local: allow override

align /usr/local with the /src Makefile, where it can be overriden
2024-08-25 11:23:08 +02:00
..
audio Fix warnings (#4239) 2024-08-09 08:54:22 +02:00
core REVIEWED: Automation events mouse wheel #4263 2024-08-20 19:13:18 +02:00
models Update models_point_rendering.c 2024-08-24 18:56:06 +02:00
others Fix examples warnings for macos (#3842) 2024-02-27 22:15:09 +01:00
shaders update shaders basic pbr (#4225) 2024-08-09 09:15:07 +02:00
shapes update shapes bouncing ball (#4226) 2024-08-09 09:16:05 +02:00
text update text input box (#4229) 2024-08-09 09:18:00 +02:00
textures [Examples] set FPS to 60 (#4235) 2024-08-10 20:07:23 +02:00
CMakeLists.txt [build] Fix some warnings on web builds and remove some redundant flags. (#4069) 2024-06-16 10:42:50 +02:00
Makefile Examples makefiles: align /usr/local with /src Makefile (#4286) 2024-08-25 11:23:08 +02:00
Makefile.Android FIX: #3918 2024-04-17 19:12:47 +02:00
Makefile.Web Examples makefiles: align /usr/local with /src Makefile (#4286) 2024-08-25 11:23:08 +02:00
README.md [rmodels] More performant point cloud rendering with `DrawModelPoints()` (#4203) 2024-08-24 18:42:38 +02:00
build.zig zig: run examples from their directories (#4063) 2024-06-16 09:38:54 +02:00
examples.rc REVIEWED: Formatting, follow raylib coding conventions 2024-06-30 11:07:38 +02:00
examples_template.c Update examples creation requirements 2023-09-23 11:13:11 +02:00
raylib.ico REVIEWED: Formatting, follow raylib coding conventions 2024-06-30 11:07:38 +02:00
raylib_compile_execute.bat Correct the set paths in bat files in examples/ (#2870) 2023-01-20 16:07:43 +01:00
raylib_makefile_example.bat Correct the set paths in bat files in examples/ (#2870) 2023-01-20 16:07:43 +01:00

README.md

Building the Examples

The examples assume you have already built the raylib library in ../src.

With GNU make

  • make builds all examples
  • make [module] builds all examples for a particular module (e.g make core)

With Zig

The Zig toolchain can compile C and C++ in addition to Zig. You may find it easier to use than other toolchains, especially when it comes to cross-compiling.

  • zig build to compile all examples
  • zig build [module] to compile all examples for a module (e.g. zig build core)
  • zig build [example] to compile and run a particular example (e.g. zig build core_basic_window)

EXAMPLES LIST

category: core

Examples using raylib core platform functionality like window creation, inputs, drawing modes and system functionality.

## example image difficulty
level
version
created
last version
updated
original
developer
01 core_basic_window core_basic_window ️☆☆☆ 1.0 1.0 Ray
02 core_input_keys core_input_keys ️☆☆☆ 1.0 1.0 Ray
03 core_input_mouse core_input_mouse ️☆☆☆ 1.0 4.0 Ray
04 core_input_mouse_wheel core_input_mouse_wheel ️☆☆☆ 1.1 1.3 Ray
05 core_input_gamepad core_input_gamepad ️☆☆☆ 1.1 4.2 Ray
06 core_input_multitouch core_input_multitouch ️☆☆☆ 2.1 2.5 Berni
07 core_input_gestures core_input_gestures ️☆☆ 1.4 4.2 Ray
08 core_2d_camera core_2d_camera ️☆☆ 1.5 3.0 Ray
09 core_2d_camera_mouse_zoom core_2d_camera_mouse_zoom ️☆☆ 4.2 4.2 Jeffery Myers
10 core_2d_camera_platformer core_2d_camera_platformer ️☆ 2.5 3.0 avyy
11 core_2d_camera_split_screen core_2d_camera_split_screen 4.5 4.5 Gabriel dos Santos Sanches
12 core_3d_camera_mode core_3d_camera_mode ️☆☆☆ 1.0 1.0 Ray
13 core_3d_camera_free core_3d_camera_free ️☆☆☆ 1.3 1.3 Ray
14 core_3d_camera_first_person core_3d_camera_first_person ️☆☆ 1.3 1.3 Ray
15 core_3d_camera:split_screen core_3d_camera_split_screen 3.7 4.0 Jeffery Myers
16 core_3d_picking core_3d_picking ️☆☆ 1.3 4.0 Ray
17 core_world_screen core_world_screen ️☆☆ 1.3 1.4 Ray
18 core_custom_logging core_custom_logging ️☆ 2.5 2.5 Pablo Marcos Oltra
19 core_window_flags core_window_flags ️☆ 3.5 3.5 Ray
20 core_window_letterbox core_window_letterbox ️☆☆ 2.5 4.0 Anata
21 core_window_should_close core_window_should_close ️☆☆☆ 4.2 4.2 Ray
22 core_drop_files core_drop_files ️☆☆ 1.3 4.2 Ray
23 core_random_values core_random_values ️☆☆☆ 1.1 1.1 Ray
24 core_storage_values core_storage_values ️☆☆ 1.4 4.2 Ray
25 core_vr_simulator core_vr_simulator ️☆ 2.5 4.0 Ray
26 core_loading_thread core_loading_thread ️☆ 2.5 3.0 Ray
27 core_scissor_test core_scissor_test ️☆☆☆ 2.5 3.0 Chris Dill
28 core_basic_screen_manager core_basic_screen_manager ️☆☆☆ 4.0 4.0 Ray
29 core_custom_frame_control core_custom_frame_control 4.0 4.0 Ray
30 core_smooth_pixelperfect core_smooth_pixelperfect ️☆ 3.7 4.0 Giancamillo Alessandroni
31 core_window_should_close core_window_should_close ️☆☆ 4.2 4.2 Ray
32 core_random_sequence core_random_sequence ️☆☆☆ 5.0 5.0 REDl3east

category: shapes

Examples using raylib shapes drawing functionality, provided by raylib shapes module.

## example image difficulty
level
version
created
last version
updated
original
developer
31 shapes_basic_shapes shapes_basic_shapes ️☆☆☆ 1.0 4.0 Ray
32 shapes_bouncing_ball shapes_bouncing_ball ️☆☆☆ 2.5 2.5 Ray
33 shapes_colors_palette shapes_colors_palette ️☆☆ 1.0 2.5 Ray
34 shapes_logo_raylib shapes_logo_raylib ️☆☆☆ 1.0 1.0 Ray
35 shapes_logo_raylib_anim shapes_logo_raylib_anim ️☆☆ 2.5 4.0 Ray
36 shapes_rectangle_scaling shapes_rectangle_scaling ️☆☆ 2.5 2.5 Vlad Adrian
37 shapes_lines_bezier shapes_lines_bezier ️☆☆☆ 1.7 1.7 Ray
38 shapes_collision_area shapes_collision_area ️☆☆ 2.5 2.5 Ray
39 shapes_following_eyes shapes_following_eyes ️☆☆ 2.5 2.5 Ray
40 shapes_easings_ball_anim shapes_easings_ball_anim ️☆☆ 2.5 2.5 Ray
41 shapes_easings_box_anim shapes_easings_box_anim ️☆☆ 2.5 2.5 Ray
42 shapes_easings_rectangle_array shapes_easings_rectangle_array ️☆ 2.5 2.5 Ray
43 shapes_draw_ring shapes_draw_ring ️☆ 2.5 2.5 Vlad Adrian
44 shapes_draw_circle_sector shapes_draw_circle_sector ️☆ 2.5 2.5 Vlad Adrian
45 shapes_draw_rectangle_rounded shapes_draw_rectangle_rounded ️☆ 2.5 2.5 Vlad Adrian
46 shapes_top_down_lights shapes_top_down_lights 4.2 4.2 Jeffery Myers

category: textures

Examples using raylib textures functionality, including image/textures loading/generation and drawing, provided by raylib textures module.

## example image difficulty
level
version
created
last version
updated
original
developer
47 textures_logo_raylib textures_logo_raylib ️☆☆☆ 1.0 1.0 Ray
48 textures_srcrec_dstrec textures_srcrec_dstrec ️☆ 1.3 1.3 Ray
49 textures_image_drawing textures_image_drawing ️☆☆ 1.4 1.4 Ray
50 textures_image_generation textures_image_generation ️☆☆ 1.8 1.8 Ray
51 textures_image_loading textures_image_loading ️☆☆☆ 1.3 1.3 Ray
52 textures_image_processing textures_image_processing ️☆ 1.4 3.5 Ray
53 textures_image_text textures_image_text ️☆☆ 1.8 4.0 Ray
54 textures_to_image textures_to_image ️☆☆☆ 1.3 4.0 Ray
55 textures_raw_data textures_raw_data ️☆ 1.3 3.5 Ray
56 textures_particles_blending textures_particles_blending ️☆☆☆ 1.7 3.5 Ray
57 textures_npatch_drawing textures_npatch_drawing ️☆ 2.0 2.5 Jorge A. Gomes
58 textures_background_scrolling textures_background_scrolling ️☆☆☆ 2.0 2.5 Ray
59 textures_sprite_anim textures_sprite_anim ️☆☆ 1.3 1.3 Ray
60 textures_sprite_button textures_sprite_button ️☆☆ 2.5 2.5 Ray
61 textures_sprite_explosion textures_sprite_explosion ️☆☆ 2.5 3.5 Ray
62 textures_bunnymark textures_bunnymark ️☆ 1.6 2.5 Ray
63 textures_mouse_painting textures_mouse_painting ️☆ 3.0 3.0 Chris Dill
64 textures_blend_modes textures_blend_modes ️☆☆☆ 3.5 3.5 Karlo Licudine
65 textures_draw_tiled textures_draw_tiled ️☆ 3.0 4.2 Vlad Adrian
66 textures_polygon textures_polygon ️☆☆☆ 3.7 3.7 Chris Camacho
67 textures_fog_of_war textures_fog_of_war ️☆ 4.2 4.2 Ray
68 textures_gif_player textures_gif_player ️☆ 4.2 4.2 Ray

category: text

Examples using raylib text functionality, including sprite fonts loading/generation and text drawing, provided by raylib text module.

## example image difficulty
level
version
created
last version
updated
original
developer
69 text_raylib_fonts text_raylib_fonts ️☆☆☆ 1.7 3.7 Ray
70 text_font_spritefont text_font_spritefont ️☆☆☆ 1.0 1.0 Ray
71 text_font_filters text_font_filters ️☆☆ 1.3 4.2 Ray
72 text_font_loading text_font_loading ️☆☆☆ 1.4 3.0 Ray
73 text_font_sdf text_font_sdf ️☆ 1.3 4.0 Ray
74 text_format_text text_format_text ️☆☆☆ 1.1 3.0 Ray
75 text_input_box text_input_box ️☆☆ 1.7 3.5 Ray
76 text_writing_anim text_writing_anim ️☆☆ 1.4 1.4 Ray
77 text_rectangle_bounds text_rectangle_bounds 2.5 4.0 Vlad Adrian
78 text_unicode text_unicode 2.5 4.0 Vlad Adrian
79 text_draw_3d text_draw_3d 3.5 4.0 Vlad Adrian
80 text_codepoints_loading text_codepoints_loading ️☆ 4.2 4.2 Ray

category: models

Examples using raylib models functionality, including models loading/generation and drawing, provided by raylib models module.

## example image difficulty
level
version
created
last version
updated
original
developer
81 models_animation models_animation ️☆☆ 2.5 3.5 culacant
82 models_billboard models_billboard ️☆ 1.3 3.5 Ray
83 models_box_collisions models_box_collisions ️☆☆☆ 1.3 3.5 Ray
84 models_cubicmap models_cubicmap ️☆☆ 1.8 3.5 Ray
85 models_first_person_maze models_first_person_maze ️☆☆ 2.5 3.5 Ray
86 models_geometric_shapes models_geometric_shapes ️☆☆☆ 1.0 3.5 Ray
87 models_mesh_generation models_mesh_generation ️☆☆ 1.8 4.0 Ray
88 models_mesh_picking models_mesh_picking ️☆ 1.7 4.0 Joel Davis
89 models_loading models_loading ️☆☆☆ 2.5 4.0 Ray
90 models_loading_gltf models_loading_gltf ️☆☆☆ 3.7 4.2 Ray
91 models_loading_vox models_loading_vox ️☆☆☆ 4.0 4.0 Johann Nadalutti
92 models_loading_m3d models_loading_m3d ️☆☆☆ 4.2 4.2 bzt
93 models_orthographic_projection models_orthographic_projection ️☆☆☆ 2.0 3.7 Max Danielsson
94 models_point_rendering models_point_rendering ️☆☆ 5.0 5.0 Reese Gallagher
95 models_rlgl_solar_system models_rlgl_solar_system 2.5 4.0 Ray
96 models_yaw_pitch_roll models_yaw_pitch_roll ️☆☆ 1.8 4.0 Berni
97 models_waving_cubes models_waving_cubes ️☆ 2.5 3.7 codecat
98 models_heightmap models_heightmap ️☆☆☆ 1.8 3.5 Ray
99 models_skybox models_skybox ️☆☆ 1.8 4.0 Ray

category: shaders

Examples using raylib shaders functionality, including shaders loading, parameters configuration and drawing using them (model shaders and postprocessing shaders). This functionality is directly provided by raylib rlgl module.

## example image difficulty
level
version
created
last version
updated
original
developer
100 shaders_basic_lighting shaders_basic_lighting 3.0 4.2 Chris Camacho
101 shaders_model_shader shaders_model_shader ️☆☆ 1.3 3.7 Ray
102 shaders_shapes_textures shaders_shapes_textures ️☆☆ 1.7 3.7 Ray
103 shaders_custom_uniform shaders_custom_uniform ️☆☆ 1.3 4.0 Ray
104 shaders_postprocessing shaders_postprocessing ️☆ 1.3 4.0 Ray
105 shaders_palette_switch shaders_palette_switch ️☆ 2.5 3.7 Marco Lizza
106 shaders_raymarching shaders_raymarching 2.0 4.2 Ray
107 shaders_texture_drawing shaders_texture_drawing ️☆☆ 2.0 3.7 Michał Ciesielski
108 shaders_texture_outline shaders_texture_outline ️☆ 4.0 4.0 Samuel Skiff
109 shaders_texture_waves shaders_texture_waves ️☆☆ 2.5 3.7 Anata
110 shaders_julia_set shaders_julia_set ️☆ 2.5 4.0 eggmund
111 shaders_eratosthenes shaders_eratosthenes ️☆ 2.5 4.0 ProfJski
112 shaders_fog shaders_fog ️☆ 2.5 3.7 Chris Camacho
113 shaders_simple_mask shaders_simple_mask ️☆☆ 2.5 3.7 Chris Camacho
114 shaders_hot_reloading shaders_hot_reloading ️☆ 3.0 3.5 Ray
115 shaders_mesh_instancing shaders_mesh_instancing 3.7 4.2 seanpringle
116 shaders_multi_sample2d shaders_multi_sample2d ️☆☆ 3.5 3.5 Ray
117 shaders_spotlight shaders_spotlight ️☆☆ 2.5 3.7 Chris Camacho
118 shaders_deferred_render shaders_deferred_render 4.5 4.5 Justin Andreas Lacoste

category: audio

Examples using raylib audio functionality, including sound/music loading and playing. This functionality is provided by raylib raudio module. Note this module can be used standalone independently of raylib, check raudio_standalone example.

## example image difficulty
level
version
created
last version
updated
original
developer
119 audio_module_playing audio_module_playing ️☆☆☆ 1.5 3.5 Ray
120 audio_music_stream audio_music_stream ️☆☆☆ 1.3 4.2 Ray
121 audio_raw_stream audio_raw_stream ️☆ 1.6 4.2 Ray
122 audio_sound_loading audio_sound_loading ️☆☆☆ 1.1 3.5 Ray

category: others

Examples showing raylib misc functionality that does not fit in other categories, like standalone modules usage or examples integrating external libraries.

## example image difficulty
level
version
created
last version
updated
original
developer
123 rlgl_standalone rlgl_standalone 1.6 4.0 Ray
124 rlgl_compute_shader rlgl_compute_shader 4.0 4.0 Teddy Astie
125 easings_testbed easings_testbed ️☆ 3.0 3.0 Juan Miguel López
126 raylib_opengl_interop raylib_opengl_interop 4.0 4.0 Stephan Soller
127 embedded_files_loading embedded_files_loading ️☆☆ 3.5 3.5 Kristian Holmgren

As always contributions are welcome, feel free to send new examples! Here is an examples template to start with!