Skip to content

Latest commit

 

History

History
 
 

examples

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_input_virtual_controls core_input_virtual_controls ⭐️⭐️☆☆ 5.0 5.0 oblerion
09 core_2d_camera core_2d_camera ⭐️⭐️☆☆ 1.5 3.0 Ray
10 core_2d_camera_mouse_zoom core_2d_camera_mouse_zoom ⭐️⭐️☆☆ 4.2 4.2 Jeffery Myers
11 core_2d_camera_platformer core_2d_camera_platformer ⭐️⭐️⭐️☆ 2.5 3.0 avyy
12 core_2d_camera_split_screen core_2d_camera_split_screen ⭐️⭐️⭐️⭐️ 4.5 4.5 Gabriel dos Santos Sanches
13 core_3d_camera_mode core_3d_camera_mode ⭐️☆☆☆ 1.0 1.0 Ray
14 core_3d_camera_free core_3d_camera_free ⭐️☆☆☆ 1.3 1.3 Ray
15 core_3d_camera_first_person core_3d_camera_first_person ⭐️⭐️☆☆ 1.3 1.3 Ray
16 core_3d_camera:split_screen core_3d_camera_split_screen ⭐️⭐️⭐️⭐️ 3.7 4.0 Jeffery Myers
17 core_3d_picking core_3d_picking ⭐️⭐️☆☆ 1.3 4.0 Ray
18 core_world_screen core_world_screen ⭐️⭐️☆☆ 1.3 1.4 Ray
19 core_custom_logging core_custom_logging ⭐️⭐️⭐️☆ 2.5 2.5 Pablo Marcos Oltra
20 core_window_flags core_window_flags ⭐️⭐️⭐️☆ 3.5 3.5 Ray
21 core_window_letterbox core_window_letterbox ⭐️⭐️☆☆ 2.5 4.0 Anata
22 core_window_should_close core_window_should_close ⭐️☆☆☆ 4.2 4.2 Ray
23 core_drop_files core_drop_files ⭐️⭐️☆☆ 1.3 4.2 Ray
24 core_random_values core_random_values ⭐️☆☆☆ 1.1 1.1 Ray
25 core_storage_values core_storage_values ⭐️⭐️☆☆ 1.4 4.2 Ray
26 core_vr_simulator core_vr_simulator ⭐️⭐️⭐️☆ 2.5 4.0 Ray
27 core_loading_thread core_loading_thread ⭐️⭐️⭐️☆ 2.5 3.0 Ray
28 core_scissor_test core_scissor_test ⭐️☆☆☆ 2.5 3.0 Chris Dill
29 core_basic_screen_manager core_basic_screen_manager ⭐️☆☆☆ 4.0 4.0 Ray
30 core_custom_frame_control core_custom_frame_control ⭐️⭐️⭐️⭐️ 4.0 4.0 Ray
31 core_smooth_pixelperfect core_smooth_pixelperfect ⭐️⭐️⭐️☆ 3.7 4.0 Giancamillo Alessandroni
32 core_window_should_close core_window_should_close ⭐️⭐️☆☆ 4.2 4.2 Ray
33 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
34 shapes_basic_shapes shapes_basic_shapes ⭐️☆☆☆ 1.0 4.0 Ray
35 shapes_bouncing_ball shapes_bouncing_ball ⭐️☆☆☆ 2.5 2.5 Ray
36 shapes_colors_palette shapes_colors_palette ⭐️⭐️☆☆ 1.0 2.5 Ray
37 shapes_logo_raylib shapes_logo_raylib ⭐️☆☆☆ 1.0 1.0 Ray
38 shapes_logo_raylib_anim shapes_logo_raylib_anim ⭐️⭐️☆☆ 2.5 4.0 Ray
39 shapes_rectangle_scaling shapes_rectangle_scaling ⭐️⭐️☆☆ 2.5 2.5 Vlad Adrian
40 shapes_lines_bezier shapes_lines_bezier ⭐️☆☆☆ 1.7 1.7 Ray
41 shapes_collision_area shapes_collision_area ⭐️⭐️☆☆ 2.5 2.5 Ray
42 shapes_following_eyes shapes_following_eyes ⭐️⭐️☆☆ 2.5 2.5 Ray
43 shapes_easings_ball_anim shapes_easings_ball_anim ⭐️⭐️☆☆ 2.5 2.5 Ray
44 shapes_easings_box_anim shapes_easings_box_anim ⭐️⭐️☆☆ 2.5 2.5 Ray
45 shapes_easings_rectangle_array shapes_easings_rectangle_array ⭐️⭐️⭐️☆ 2.5 2.5 Ray
46 shapes_draw_ring shapes_draw_ring ⭐️⭐️⭐️☆ 2.5 2.5 Vlad Adrian
47 shapes_draw_circle_sector shapes_draw_circle_sector ⭐️⭐️⭐️☆ 2.5 2.5 Vlad Adrian
48 shapes_draw_rectangle_rounded shapes_draw_rectangle_rounded ⭐️⭐️⭐️☆ 2.5 2.5 Vlad Adrian
49 shapes_top_down_lights shapes_top_down_lights ⭐️⭐️⭐️⭐️ 4.2 4.2 Jeffery Myers
50 shapes_rectangle_advanced shapes_rectangle_advanced ⭐️⭐️⭐️⭐️⭐️ 5.0 5.0 ExCyber

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
51 textures_logo_raylib textures_logo_raylib ⭐️☆☆☆ 1.0 1.0 Ray
52 textures_srcrec_dstrec textures_srcrec_dstrec ⭐️⭐️⭐️☆ 1.3 1.3 Ray
53 textures_image_drawing textures_image_drawing ⭐️⭐️☆☆ 1.4 1.4 Ray
54 textures_image_generation textures_image_generation ⭐️⭐️☆☆ 1.8 1.8 Ray
55 textures_image_loading textures_image_loading ⭐️☆☆☆ 1.3 1.3 Ray
56 textures_image_processing textures_image_processing ⭐️⭐️⭐️☆ 1.4 3.5 Ray
57 textures_image_text textures_image_text ⭐️⭐️☆☆ 1.8 4.0 Ray
58 textures_to_image textures_to_image ⭐️☆☆☆ 1.3 4.0 Ray
59 textures_raw_data textures_raw_data ⭐️⭐️⭐️☆ 1.3 3.5 Ray
60 textures_particles_blending textures_particles_blending ⭐️☆☆☆ 1.7 3.5 Ray
61 textures_npatch_drawing textures_npatch_drawing ⭐️⭐️⭐️☆ 2.0 2.5 Jorge A. Gomes
62 textures_background_scrolling textures_background_scrolling ⭐️☆☆☆ 2.0 2.5 Ray
63 textures_sprite_anim textures_sprite_anim ⭐️⭐️☆☆ 1.3 1.3 Ray
64 textures_sprite_button textures_sprite_button ⭐️⭐️☆☆ 2.5 2.5 Ray
65 textures_sprite_explosion textures_sprite_explosion ⭐️⭐️☆☆ 2.5 3.5 Ray
66 textures_bunnymark textures_bunnymark ⭐️⭐️⭐️☆ 1.6 2.5 Ray
67 textures_mouse_painting textures_mouse_painting ⭐️⭐️⭐️☆ 3.0 3.0 Chris Dill
68 textures_blend_modes textures_blend_modes ⭐️☆☆☆ 3.5 3.5 Karlo Licudine
69 textures_draw_tiled textures_draw_tiled ⭐️⭐️⭐️☆ 3.0 4.2 Vlad Adrian
70 textures_polygon textures_polygon ⭐️☆☆☆ 3.7 3.7 Chris Camacho
71 textures_fog_of_war textures_fog_of_war ⭐️⭐️⭐️☆ 4.2 4.2 Ray
72 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
73 text_raylib_fonts text_raylib_fonts ⭐️☆☆☆ 1.7 3.7 Ray
74 text_font_spritefont text_font_spritefont ⭐️☆☆☆ 1.0 1.0 Ray
75 text_font_filters text_font_filters ⭐️⭐️☆☆ 1.3 4.2 Ray
76 text_font_loading text_font_loading ⭐️☆☆☆ 1.4 3.0 Ray
77 text_font_sdf text_font_sdf ⭐️⭐️⭐️☆ 1.3 4.0 Ray
78 text_format_text text_format_text ⭐️☆☆☆ 1.1 3.0 Ray
79 text_input_box text_input_box ⭐️⭐️☆☆ 1.7 3.5 Ray
80 text_writing_anim text_writing_anim ⭐️⭐️☆☆ 1.4 1.4 Ray
81 text_rectangle_bounds text_rectangle_bounds ⭐️⭐️⭐️⭐️ 2.5 4.0 Vlad Adrian
82 text_unicode text_unicode ⭐️⭐️⭐️⭐️ 2.5 4.0 Vlad Adrian
83 text_draw_3d text_draw_3d ⭐️⭐️⭐️⭐️ 3.5 4.0 Vlad Adrian
84 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
85 models_animation models_animation ⭐️⭐️☆☆ 2.5 3.5 culacant
86 models_billboard models_billboard ⭐️⭐️⭐️☆ 1.3 3.5 Ray
87 models_box_collisions models_box_collisions ⭐️☆☆☆ 1.3 3.5 Ray
88 models_cubicmap models_cubicmap ⭐️⭐️☆☆ 1.8 3.5 Ray
89 models_first_person_maze models_first_person_maze ⭐️⭐️☆☆ 2.5 3.5 Ray
90 models_geometric_shapes models_geometric_shapes ⭐️☆☆☆ 1.0 3.5 Ray
91 models_mesh_generation models_mesh_generation ⭐️⭐️☆☆ 1.8 4.0 Ray
92 models_mesh_picking models_mesh_picking ⭐️⭐️⭐️☆ 1.7 4.0 Joel Davis
93 models_loading models_loading ⭐️☆☆☆ 2.5 4.0 Ray
94 models_loading_gltf models_loading_gltf ⭐️☆☆☆ 3.7 4.2 Ray
95 models_loading_vox models_loading_vox ⭐️☆☆☆ 4.0 4.0 Johann Nadalutti
96 models_loading_m3d models_loading_m3d ⭐️☆☆☆ 4.2 4.2 bzt
97 models_orthographic_projection models_orthographic_projection ⭐️☆☆☆ 2.0 3.7 Max Danielsson
98 models_point_rendering models_point_rendering ⭐️⭐️☆☆ 5.0 5.0 Reese Gallagher
99 models_rlgl_solar_system models_rlgl_solar_system ⭐️⭐️⭐️⭐️ 2.5 4.0 Ray
100 models_yaw_pitch_roll models_yaw_pitch_roll ⭐️⭐️☆☆ 1.8 4.0 Berni
101 models_waving_cubes models_waving_cubes ⭐️⭐️⭐️☆ 2.5 3.7 codecat
102 models_heightmap models_heightmap ⭐️☆☆☆ 1.8 3.5 Ray
103 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
104 shaders_basic_lighting shaders_basic_lighting ⭐️⭐️⭐️⭐️ 3.0 4.2 Chris Camacho
105 shaders_model_shader shaders_model_shader ⭐️⭐️☆☆ 1.3 3.7 Ray
106 shaders_shapes_textures shaders_shapes_textures ⭐️⭐️☆☆ 1.7 3.7 Ray
107 shaders_custom_uniform shaders_custom_uniform ⭐️⭐️☆☆ 1.3 4.0 Ray
108 shaders_postprocessing shaders_postprocessing ⭐️⭐️⭐️☆ 1.3 4.0 Ray
109 shaders_palette_switch shaders_palette_switch ⭐️⭐️⭐️☆ 2.5 3.7 Marco Lizza
110 shaders_raymarching shaders_raymarching ⭐️⭐️⭐️⭐️ 2.0 4.2 Ray
111 shaders_texture_drawing shaders_texture_drawing ⭐️⭐️☆☆ 2.0 3.7 Michał Ciesielski
112 shaders_texture_outline shaders_texture_outline ⭐️⭐️⭐️☆ 4.0 4.0 Samuel Skiff
113 shaders_texture_waves shaders_texture_waves ⭐️⭐️☆☆ 2.5 3.7 Anata
114 shaders_julia_set shaders_julia_set ⭐️⭐️⭐️☆ 2.5 4.0 eggmund
115 shaders_eratosthenes shaders_eratosthenes ⭐️⭐️⭐️☆ 2.5 4.0 ProfJski
116 shaders_fog shaders_fog ⭐️⭐️⭐️☆ 2.5 3.7 Chris Camacho
117 shaders_simple_mask shaders_simple_mask ⭐️⭐️☆☆ 2.5 3.7 Chris Camacho
118 shaders_hot_reloading shaders_hot_reloading ⭐️⭐️⭐️☆ 3.0 3.5 Ray
119 shaders_mesh_instancing shaders_mesh_instancing ⭐️⭐️⭐️⭐️ 3.7 4.2 seanpringle
120 shaders_multi_sample2d shaders_multi_sample2d ⭐️⭐️☆☆ 3.5 3.5 Ray
121 shaders_spotlight shaders_spotlight ⭐️⭐️☆☆ 2.5 3.7 Chris Camacho
122 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
123 audio_module_playing audio_module_playing ⭐️☆☆☆ 1.5 3.5 Ray
124 audio_music_stream audio_music_stream ⭐️☆☆☆ 1.3 4.2 Ray
125 audio_raw_stream audio_raw_stream ⭐️⭐️⭐️☆ 1.6 4.2 Ray
126 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
127 rlgl_standalone rlgl_standalone ⭐️⭐️⭐️⭐️ 1.6 4.0 Ray
128 rlgl_compute_shader rlgl_compute_shader ⭐️⭐️⭐️⭐️ 4.0 4.0 Teddy Astie
129 easings_testbed easings_testbed ⭐️⭐️⭐️☆ 3.0 3.0 Juan Miguel López
130 raylib_opengl_interop raylib_opengl_interop ⭐️⭐️⭐️⭐️ 4.0 4.0 Stephan Soller
131 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!