Merge branch 'raysan5:master' into master

This commit is contained in:
Hamza RAHAL 2025-08-28 20:55:16 +02:00 committed by GitHub
commit c74aa74731
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
138 changed files with 1503 additions and 642 deletions

View File

@ -11,7 +11,7 @@ on:
jobs: jobs:
build: build:
runs-on: windows-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
@ -23,48 +23,50 @@ jobs:
version: 'latest' version: 'latest'
actions-cache-folder: 'emsdk-cache' actions-cache-folder: 'emsdk-cache'
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: Clone raylib.com repo to update files - name: Clone raylib.com repo to update files
run: |
git clone https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/raysan5/raylib.com.git
shell: bash
- name: Build and run rexm tool (requires GNU Makefile)
# "rexm update" validates and updates all required examples in raylib and even raylib.com repos,
# note that it calls examples/Makefile.Web internally, so it requires [make] tool available
run: |
sudo apt-get update && sudo apt-get install -y libopengl0 libglu1-mesa libx11-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libgl1-mesa-dev libglu1-mesa-dev
cd "${{ github.workspace }}/src"
make PLATFORM=PLATFORM_DESKTOP
sudo make install
make clean
make PLATFORM=PLATFORM_WEB
cd ../tools/rexm/
make
export REXM_EXAMPLES_BASE_PATH="${{ github.workspace }}/examples"
export REXM_EXAMPLES_WEB_PATH="${{ github.workspace }}/raylib.com/examples"
export REXM_EXAMPLES_TEMPLATE_FILE_PATH="${{ github.workspace }}/examples/examples_template.c"
export REXM_EXAMPLES_TEMPLATE_SCREENSHOT_PATH="${{ github.workspace }}/examples/examples_template.png"
export REXM_EXAMPLES_COLLECTION_FILE_PATH="${{ github.workspace }}/examples/examples_list.txt"
export REXM_EXAMPLES_VS2022_SLN_FILE="${{ github.workspace }}/projects/VS2022/raylib.sln"
export EMSDK_PATH="${{ github.workspace }}/emsdk-cache/emsdk-main"
./rexm update
shell: bash
- name: Commit changes to raylib repo (DISABLED)
if: github.event_name == 'push' && false
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
git clone https://x-access-token:${GITHUB_TOKEN}@github.com/raysan5/raylib.com.git git config --global user.name "github-actions[bot]"
shell: cmd git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git commit -m "Update examples collection" || echo "git exited with code 1, nothing changed"
git push
shell: bash
- name: Build and run rexm tool (VS2022 solution) - name: Push changes to raylib.com repo (DISABLED)
# rexm should update all required files in raylib and even raylib.com repo, if: github.event_name == 'push' && false
# but not sure if it can do that from an Action, maybe it requires manual copy
run: | run: |
cd tools/rexm/VS2022 cd raylib.com
msbuild.exe rexm.sln /target:rexm /property:Configuration=Release /property:Platform=x64 git add -A
cd ../../.. git commit -m "Update web examples" || echo "git exited with code 1, nothing changed"
set REXM_EXAMPLES_BASE_PATH="examples" git push origin
set REXM_EXAMPLES_WEB_PATH="../raylib.com/examples" shell: bash
set REXM_EXAMPLES_TEMPLATE_FILE_PATH="examples/examples_template.c"
set REXM_EXAMPLES_TEMPLATE_SCREENSHOT_PATH="examples/examples_template.png"
set REXM_EXAMPLES_COLLECTION_FILE_PATH="examples/examples_list.txt"
set REXM_EXAMPLES_VS2022_SLN_FILE="projects/VS2022/raylib.sln"
set EMSDK_PATH="D:/a/raylib/raylib/emsdk-cache/emsdk-main"
.\tools\rexm\VS2022\build\rexm\bin\x64\Release\rexm.exe update
cd ../..
shell: cmd
- name: Commit changes to raylib repo
run: |
#git config user.name "github-actions[bot]"
#git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
#git add -A
#git commit -m "Update examples collection"
#git push
- name: Push changes to raylib.com repo
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
#git config --global user.name "github-actions[bot]"
#git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
#git add examples
#git commit -m "Update web examples"
#git push origin

3
.gitignore vendored
View File

@ -116,3 +116,6 @@ tools/parser/raylib_parser
tools/rexm/rexm.exe tools/rexm/rexm.exe
tools/rexm/rexm tools/rexm/rexm
# CI
emsdk-cache/
raylib.com/

View File

@ -99,7 +99,7 @@ const config_h_flags = outer: {
break :outer flags[0..i].*; break :outer flags[0..i].*;
}; };
fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile { pub fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, options: Options) !*std.Build.Step.Compile {
var raylib_flags_arr: std.ArrayList([]const u8) = .empty; var raylib_flags_arr: std.ArrayList([]const u8) = .empty;
defer raylib_flags_arr.deinit(b.allocator); defer raylib_flags_arr.deinit(b.allocator);

View File

@ -507,7 +507,7 @@ CORE = \
core/core_3d_camera_free \ core/core_3d_camera_free \
core/core_3d_camera_mode \ core/core_3d_camera_mode \
core/core_3d_camera_split_screen \ core/core_3d_camera_split_screen \
core/core_3d_fps_controller \ core/core_3d_camera_fps \
core/core_3d_picking \ core/core_3d_picking \
core/core_automation_events \ core/core_automation_events \
core/core_basic_screen_manager \ core/core_basic_screen_manager \
@ -599,6 +599,7 @@ TEXT = \
text/text_raylib_fonts \ text/text_raylib_fonts \
text/text_rectangle_bounds \ text/text_rectangle_bounds \
text/text_unicode \ text/text_unicode \
text/text_unicode_ranges \
text/text_writing_anim text/text_writing_anim
MODELS = \ MODELS = \

View File

@ -507,7 +507,7 @@ CORE = \
core/core_3d_camera_free \ core/core_3d_camera_free \
core/core_3d_camera_mode \ core/core_3d_camera_mode \
core/core_3d_camera_split_screen \ core/core_3d_camera_split_screen \
core/core_3d_fps_controller \ core/core_3d_camera_fps \
core/core_3d_picking \ core/core_3d_picking \
core/core_automation_events \ core/core_automation_events \
core/core_basic_screen_manager \ core/core_basic_screen_manager \
@ -599,6 +599,7 @@ TEXT = \
text/text_raylib_fonts \ text/text_raylib_fonts \
text/text_rectangle_bounds \ text/text_rectangle_bounds \
text/text_unicode \ text/text_unicode \
text/text_unicode_ranges \
text/text_writing_anim text/text_writing_anim
MODELS = \ MODELS = \
@ -703,7 +704,7 @@ core/core_3d_camera_mode: core/core_3d_camera_mode.c
core/core_3d_camera_split_screen: core/core_3d_camera_split_screen.c core/core_3d_camera_split_screen: core/core_3d_camera_split_screen.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
core/core_3d_fps_controller: core/core_3d_fps_controller.c core/core_3d_camera_fps: core/core_3d_camera_fps.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
core/core_3d_picking: core/core_3d_picking.c core/core_3d_picking: core/core_3d_picking.c
@ -999,14 +1000,14 @@ text/text_input_box: text/text_input_box.c
text/text_raylib_fonts: text/text_raylib_fonts.c text/text_raylib_fonts: text/text_raylib_fonts.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \ $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \
--preload-file text/resources/fonts/alagard.png@resources/fonts/alagard.png \ --preload-file text/resources/sprite_fonts/alagard.png@resources/sprite_fonts/alagard.png \
--preload-file text/resources/fonts/pixelplay.png@resources/fonts/pixelplay.png \ --preload-file text/resources/sprite_fonts/pixelplay.png@resources/sprite_fonts/pixelplay.png \
--preload-file text/resources/fonts/mecha.png@resources/fonts/mecha.png \ --preload-file text/resources/sprite_fonts/mecha.png@resources/sprite_fonts/mecha.png \
--preload-file text/resources/fonts/setback.png@resources/fonts/setback.png \ --preload-file text/resources/sprite_fonts/setback.png@resources/sprite_fonts/setback.png \
--preload-file text/resources/fonts/romulus.png@resources/fonts/romulus.png \ --preload-file text/resources/sprite_fonts/romulus.png@resources/sprite_fonts/romulus.png \
--preload-file text/resources/fonts/pixantiqua.png@resources/fonts/pixantiqua.png \ --preload-file text/resources/sprite_fonts/pixantiqua.png@resources/sprite_fonts/pixantiqua.png \
--preload-file text/resources/fonts/alpha_beta.png@resources/fonts/alpha_beta.png \ --preload-file text/resources/sprite_fonts/alpha_beta.png@resources/sprite_fonts/alpha_beta.png \
--preload-file text/resources/fonts/jupiter_crash.png@resources/fonts/jupiter_crash.png --preload-file text/resources/sprite_fonts/jupiter_crash.png@resources/sprite_fonts/jupiter_crash.png
text/text_rectangle_bounds: text/text_rectangle_bounds.c text/text_rectangle_bounds: text/text_rectangle_bounds.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)
@ -1017,6 +1018,10 @@ text/text_unicode: text/text_unicode.c
--preload-file text/resources/noto_cjk.fnt@resources/noto_cjk.fnt \ --preload-file text/resources/noto_cjk.fnt@resources/noto_cjk.fnt \
--preload-file text/resources/symbola.fnt@resources/symbola.fnt --preload-file text/resources/symbola.fnt@resources/symbola.fnt
text/text_unicode_ranges: text/text_unicode_ranges.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \
--preload-file text/resources/NotoSansTC-Regular.ttf@resources/NotoSansTC-Regular.ttf
text/text_writing_anim: text/text_writing_anim.c text/text_writing_anim: text/text_writing_anim.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM)

View File

@ -16,7 +16,7 @@ You may find it easier to use than other toolchains, especially when it comes to
- `zig build [module]` to compile all examples for a module (e.g. `zig build core`) - `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`) - `zig build [example]` to compile _and run_ a particular example (e.g. `zig build core_basic_window`)
## EXAMPLES COLLECTION [TOTAL: 161] ## EXAMPLES COLLECTION [TOTAL: 162]
### category: core [37] ### category: core [37]
@ -40,7 +40,7 @@ Examples using raylib[core](../src/rcore.c) platform functionality like window c
| [core_3d_camera_free](core/core_3d_camera_free.c) | <img src="core/core_3d_camera_free.png" alt="core_3d_camera_free" width="80"> | ⭐☆☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) | | [core_3d_camera_free](core/core_3d_camera_free.c) | <img src="core/core_3d_camera_free.png" alt="core_3d_camera_free" width="80"> | ⭐☆☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) |
| [core_3d_camera_first_person](core/core_3d_camera_first_person.c) | <img src="core/core_3d_camera_first_person.png" alt="core_3d_camera_first_person" width="80"> | ⭐⭐☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) | | [core_3d_camera_first_person](core/core_3d_camera_first_person.c) | <img src="core/core_3d_camera_first_person.png" alt="core_3d_camera_first_person" width="80"> | ⭐⭐☆☆ | 1.3 | 1.3 | [Ramon Santamaria](https://github.com/raysan5) |
| [core_3d_camera_split_screen](core/core_3d_camera_split_screen.c) | <img src="core/core_3d_camera_split_screen.png" alt="core_3d_camera_split_screen" width="80"> | ⭐⭐⭐☆ | 3.7 | 4.0 | [Jeffery Myers](https://github.com/JeffM2501) | | [core_3d_camera_split_screen](core/core_3d_camera_split_screen.c) | <img src="core/core_3d_camera_split_screen.png" alt="core_3d_camera_split_screen" width="80"> | ⭐⭐⭐☆ | 3.7 | 4.0 | [Jeffery Myers](https://github.com/JeffM2501) |
| [core_3d_fps_controller](core/core_3d_fps_controller.c) | <img src="core/core_3d_fps_controller.png" alt="core_3d_fps_controller" width="80"> | ⭐⭐⭐☆ | 5.5 | 5.5 | [Agnis Aldins](https://github.com/nezvers) | | [core_3d_camera_fps](core/core_3d_camera_fps.c) | <img src="core/core_3d_camera_fps.png" alt="core_3d_camera_fps" width="80"> | ⭐⭐⭐☆ | 5.5 | 5.5 | [Agnis Aldins](https://github.com/nezvers) |
| [core_3d_picking](core/core_3d_picking.c) | <img src="core/core_3d_picking.png" alt="core_3d_picking" width="80"> | ⭐⭐☆☆ | 1.3 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) | | [core_3d_picking](core/core_3d_picking.c) | <img src="core/core_3d_picking.png" alt="core_3d_picking" width="80"> | ⭐⭐☆☆ | 1.3 | 4.0 | [Ramon Santamaria](https://github.com/raysan5) |
| [core_world_screen](core/core_world_screen.c) | <img src="core/core_world_screen.png" alt="core_world_screen" width="80"> | ⭐⭐☆☆ | 1.3 | 1.4 | [Ramon Santamaria](https://github.com/raysan5) | | [core_world_screen](core/core_world_screen.c) | <img src="core/core_world_screen.png" alt="core_world_screen" width="80"> | ⭐⭐☆☆ | 1.3 | 1.4 | [Ramon Santamaria](https://github.com/raysan5) |
| [core_custom_logging](core/core_custom_logging.c) | <img src="core/core_custom_logging.png" alt="core_custom_logging" width="80"> | ⭐⭐⭐☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) | | [core_custom_logging](core/core_custom_logging.c) | <img src="core/core_custom_logging.png" alt="core_custom_logging" width="80"> | ⭐⭐⭐☆ | 2.5 | 2.5 | [Pablo Marcos Oltra](https://github.com/pamarcos) |
@ -122,7 +122,7 @@ Examples using raylib textures functionality, including image/textures loading/g
| [textures_image_rotate](textures/textures_image_rotate.c) | <img src="textures/textures_image_rotate.png" alt="textures_image_rotate" width="80"> | ⭐⭐☆☆ | 1.0 | 1.0 | [Ramon Santamaria](https://github.com/raysan5) | | [textures_image_rotate](textures/textures_image_rotate.c) | <img src="textures/textures_image_rotate.png" alt="textures_image_rotate" width="80"> | ⭐⭐☆☆ | 1.0 | 1.0 | [Ramon Santamaria](https://github.com/raysan5) |
| [textures_textured_curve](textures/textures_textured_curve.c) | <img src="textures/textures_textured_curve.png" alt="textures_textured_curve" width="80"> | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jeffery Myers](https://github.com/JeffM2501) | | [textures_textured_curve](textures/textures_textured_curve.c) | <img src="textures/textures_textured_curve.png" alt="textures_textured_curve" width="80"> | ⭐⭐⭐☆ | 4.5 | 4.5 | [Jeffery Myers](https://github.com/JeffM2501) |
### category: text [12] ### category: text [13]
Examples using raylib text functionality, including sprite fonts loading/generation and text drawing, provided by raylib [text](../src/rtext.c) module. Examples using raylib text functionality, including sprite fonts loading/generation and text drawing, provided by raylib [text](../src/rtext.c) module.
@ -140,6 +140,7 @@ Examples using raylib text functionality, including sprite fonts loading/generat
| [text_unicode](text/text_unicode.c) | <img src="text/text_unicode.png" alt="text_unicode" width="80"> | ⭐⭐⭐⭐️ | 2.5 | 4.0 | [Vlad Adrian](https://github.com/demizdor) | | [text_unicode](text/text_unicode.c) | <img src="text/text_unicode.png" alt="text_unicode" width="80"> | ⭐⭐⭐⭐️ | 2.5 | 4.0 | [Vlad Adrian](https://github.com/demizdor) |
| [text_draw_3d](text/text_draw_3d.c) | <img src="text/text_draw_3d.png" alt="text_draw_3d" width="80"> | ⭐⭐⭐⭐️ | 3.5 | 4.0 | [Vlad Adrian](https://github.com/demizdor) | | [text_draw_3d](text/text_draw_3d.c) | <img src="text/text_draw_3d.png" alt="text_draw_3d" width="80"> | ⭐⭐⭐⭐️ | 3.5 | 4.0 | [Vlad Adrian](https://github.com/demizdor) |
| [text_codepoints_loading](text/text_codepoints_loading.c) | <img src="text/text_codepoints_loading.png" alt="text_codepoints_loading" width="80"> | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) | | [text_codepoints_loading](text/text_codepoints_loading.c) | <img src="text/text_codepoints_loading.png" alt="text_codepoints_loading" width="80"> | ⭐⭐⭐☆ | 4.2 | 4.2 | [Ramon Santamaria](https://github.com/raysan5) |
| [text_unicode_ranges](text/text_unicode_ranges.c) | <img src="text/text_unicode_ranges.png" alt="text_unicode_ranges" width="80"> | ⭐⭐⭐⭐️ | 2.5 | 4.0 | [Vlad Adrian](https://github.com/demizdor) |
### category: models [23] ### category: models [23]

View File

@ -55,7 +55,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [audio] example - processing mixed output"); InitWindow(screenWidth, screenHeight, "raylib [audio] example - mixed audio processing");
InitAudioDevice(); // Initialize audio device InitAudioDevice(); // Initialize audio device

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [audio] example - Module playing (streaming) * raylib [audio] example - module playing (streaming)
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [audio] example - Music playing (streaming) * raylib [audio] example - music playing (streaming)
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [audio] example - Raw audio streaming * raylib [audio] example - raw audio streaming
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [audio] example - Sound loading and playing * raylib [audio] example - sound loading and playing
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [audio] example - spatialized 3D sound * raylib [audio] example - 3d sound positioning
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *
@ -32,7 +32,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [audio] example - spatialized 3D sound"); InitWindow(screenWidth, screenHeight, "raylib [audio] example - 3d sound positioning");
InitAudioDevice(); InitAudioDevice();

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [audio] example - Music stream processing effects * raylib [audio] example - stream effects
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - 2D Camera system * raylib [core] example - 2d camera
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - 2D Camera platformer * raylib [core] example - 2d camera platformer
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *
@ -54,7 +54,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [core] example - 2d camera"); InitWindow(screenWidth, screenHeight, "raylib [core] example - 2d camera platformer");
Player player = { 0 }; Player player = { 0 };
player.position = (Vector2){ 400, 280 }; player.position = (Vector2){ 400, 280 };

View File

@ -106,9 +106,9 @@ int main(void)
{ {
// Update // Update
//---------------------------------------------------------------------------------- //----------------------------------------------------------------------------------
Vector2 mouse_delta = GetMouseDelta(); Vector2 mouseDelta = GetMouseDelta();
lookRotation.x -= mouse_delta.x*sensitivity.x; lookRotation.x -= mouseDelta.x*sensitivity.x;
lookRotation.y += mouse_delta.y*sensitivity.y; lookRotation.y += mouseDelta.y*sensitivity.y;
char sideway = (IsKeyDown(KEY_D) - IsKeyDown(KEY_A)); char sideway = (IsKeyDown(KEY_D) - IsKeyDown(KEY_A));
char forward = (IsKeyDown(KEY_W) - IsKeyDown(KEY_S)); char forward = (IsKeyDown(KEY_W) - IsKeyDown(KEY_S));
@ -261,7 +261,10 @@ static void UpdateCameraAngle(Camera *camera)
Vector3 right = Vector3Normalize(Vector3CrossProduct(yaw, up)); Vector3 right = Vector3Normalize(Vector3CrossProduct(yaw, up));
// Rotate view vector around right axis // Rotate view vector around right axis
Vector3 pitch = Vector3RotateByAxisAngle(yaw, right, -lookRotation.y - lean.y); float pitchAngle = -lookRotation.y -
lean.y;
pitchAngle = Clamp(pitchAngle, -PI / 2 + 0.0001f, PI / 2 - 0.0001f); // Clamp angle so it doesn't go past straight up or straight down
Vector3 pitch = Vector3RotateByAxisAngle(yaw, right, pitchAngle);
// Head animation // Head animation
// Rotate up direction around forward axis // Rotate up direction around forward axis

View File

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Initialize 3d camera free * raylib [core] example - 3d camera free
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Initialize 3d camera mode * raylib [core] example - 3d camera mode
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - 3d cmaera split screen * raylib [core] example - 3d camera split screen
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Picking in 3d mode * raylib [core] example - 3d picking
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] examples - basic screen manager * raylib [core] example - basic screen manager
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Basic window * raylib [core] example - basic window
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Basic window (adapted for HTML5 platform) * raylib [core] example - basic window
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Custom logging * raylib [core] example - custom logging
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Windows drop files * raylib [core] example - drop files
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - HighDPI * raylib [core] example - high dpi
* *
* Example complexity rating: [] e/4 * Example complexity rating: [] e/4
* *
@ -29,7 +29,7 @@ int main(void)
const int screenHeight = 450; const int screenHeight = 450;
SetConfigFlags(FLAG_WINDOW_HIGHDPI | FLAG_WINDOW_RESIZABLE); SetConfigFlags(FLAG_WINDOW_HIGHDPI | FLAG_WINDOW_RESIZABLE);
InitWindow(screenWidth, screenHeight, "raylib [core] example - highdpi"); InitWindow(screenWidth, screenHeight, "raylib [core] example - high dpi");
SetWindowMinSize(450, 450); SetWindowMinSize(450, 450);
int logicalGridDescY = 120; int logicalGridDescY = 120;

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Gamepad input * raylib [core] example - gamepad input
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Input Gestures Detection * raylib [core] example - input gestures
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Input Gestures for Web * raylib [core] example - input gestures web
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Keyboard input * raylib [core] example - keyboard input
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Mouse input * raylib [core] example - mouse input
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] examples - Mouse wheel input * raylib [core] example - input mouse wheel
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Input multitouch * raylib [core] example - input multitouch
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Generate random values * raylib [core] example - generate random values
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Scissor test * raylib [core] example - scissor test
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Smooth Pixel-perfect camera * raylib [core] example - smooth pixel-perfect camera
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Storage save/load values * raylib [core] example - storage save/load values
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - VR Simulator (Oculus Rift CV1 parameters) * raylib [core] example - vr simulator
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - window scale letterbox (and virtual mouse) * raylib [core] example - window scale letterbox
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *
@ -27,12 +27,12 @@
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
int main(void) int main(void)
{ {
const int windowWidth = 800; const int screenWidth = 800;
const int windowHeight = 450; const int screenHeight = 450;
// Enable config flags for resizable window and vertical synchro // Enable config flags for resizable window and vertical synchro
SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT); SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT);
InitWindow(windowWidth, windowHeight, "raylib [core] example - window scale letterbox"); InitWindow(screenWidth, screenHeight, "raylib [core] example - window scale letterbox");
SetWindowMinSize(320, 240); SetWindowMinSize(320, 240);
int gameScreenWidth = 640; int gameScreenWidth = 640;

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Window should close * raylib [core] example - window should close
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - World to screen * raylib [core] example - core world screen
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -23,7 +23,7 @@ core;core_3d_camera_mode;⭐️☆☆☆;1.0;1.0;"Ramon Santamaria";@raysan5
core;core_3d_camera_free;⭐️☆☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 core;core_3d_camera_free;⭐️☆☆☆;1.3;1.3;"Ramon Santamaria";@raysan5
core;core_3d_camera_first_person;⭐️⭐️☆☆;1.3;1.3;"Ramon Santamaria";@raysan5 core;core_3d_camera_first_person;⭐️⭐️☆☆;1.3;1.3;"Ramon Santamaria";@raysan5
core;core_3d_camera_split_screen;⭐️⭐️⭐️☆;3.7;4.0;"Jeffery Myers";@JeffM2501 core;core_3d_camera_split_screen;⭐️⭐️⭐️☆;3.7;4.0;"Jeffery Myers";@JeffM2501
core;core_3d_fps_controller;⭐️⭐️⭐️☆;5.5;5.5;"Agnis Aldins";@nezvers core;core_3d_camera_fps;⭐️⭐️⭐️☆;5.5;5.5;"Agnis Aldins";@nezvers
core;core_3d_picking;⭐️⭐️☆☆;1.3;4.0;"Ramon Santamaria";@raysan5 core;core_3d_picking;⭐️⭐️☆☆;1.3;4.0;"Ramon Santamaria";@raysan5
core;core_world_screen;⭐️⭐️☆☆;1.3;1.4;"Ramon Santamaria";@raysan5 core;core_world_screen;⭐️⭐️☆☆;1.3;1.4;"Ramon Santamaria";@raysan5
core;core_custom_logging;⭐️⭐️⭐️☆;2.5;2.5;"Pablo Marcos Oltra";@pamarcos core;core_custom_logging;⭐️⭐️⭐️☆;2.5;2.5;"Pablo Marcos Oltra";@pamarcos
@ -168,3 +168,4 @@ others;easings_testbed;⭐️⭐️⭐️☆;2.5;3.0;"Juan Miguel López";@flash
others;raylib_opengl_interop;⭐️⭐️⭐️⭐️;3.8;4.0;"Stephan Soller";@arkanis others;raylib_opengl_interop;⭐️⭐️⭐️⭐️;3.8;4.0;"Stephan Soller";@arkanis
others;embedded_files_loading;⭐️⭐️☆☆;3.0;3.5;"Kristian Holmgren";@defutura others;embedded_files_loading;⭐️⭐️☆☆;3.0;3.5;"Kristian Holmgren";@defutura
others;raymath_vector_angle;⭐️⭐️☆☆;1.0;4.6;"Ramon Santamaria";@raysan5 others;raymath_vector_angle;⭐️⭐️☆☆;1.0;4.6;"Ramon Santamaria";@raysan5
text;text_unicode_ranges;⭐⭐⭐⭐️;2.5;4.0;"Vlad Adrian";@demizdor

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Load 3d model with animations and play them * raylib [models] example - model animation
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Drawing billboards * raylib [models] example - billboard render
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *
@ -26,7 +26,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - drawing billboards"); InitWindow(screenWidth, screenHeight, "raylib [models] example - billboard render");
// Define the camera to look into our 3d world // Define the camera to look into our 3d world
Camera camera = { 0 }; Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Using bones as socket for calculating the positioning of something * raylib [models] example - bone socket
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Detect basic 3d collisions (box vs sphere vs box) * raylib [models] example - box collisions
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Cubicmap loading and drawing * raylib [models] example - cubicmap loading and drawing
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *
@ -25,7 +25,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - cubesmap loading and drawing"); InitWindow(screenWidth, screenHeight, "raylib [models] example - cubicmap loading and drawing");
// Define the camera to look into our 3d world // Define the camera to look into our 3d world
Camera camera = { 0 }; Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Draw textured cube * raylib [models] example - draw cube texture
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Draw some basic geometric shapes (cube, sphere, cylinder...) * raylib [models] example - geometric shapes
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [core] example - Doing skinning on the gpu using a vertex shader * raylib [models] example - gpu skinning
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *
@ -37,7 +37,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - GPU skinning"); InitWindow(screenWidth, screenHeight, "raylib [models] example - gpu skinning");
// Define the camera to look into our 3d world // Define the camera to look into our 3d world
Camera camera = { 0 }; Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Heightmap loading and drawing * raylib [models] example - heightmap terrain
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *
@ -25,7 +25,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap loading and drawing"); InitWindow(screenWidth, screenHeight, "raylib [models] example - heightmap terrain");
// Define our custom camera to look into our 3d world // Define our custom camera to look into our 3d world
Camera camera = { 0 }; Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Models loading * raylib [models] example - models loading
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - loading gltf with animations * raylib [models] example - loading gltf animations
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Load models M3D * raylib [models] example - model loading m3d
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *
@ -31,7 +31,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - M3D model loading"); InitWindow(screenWidth, screenHeight, "raylib [models] example - model loading m3d");
// Define the camera to look into our 3d world // Define the camera to look into our 3d world
Camera camera = { 0 }; Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Load models vox (MagicaVoxel) * raylib [models] example - magicavoxel loading
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - procedural mesh generation * raylib [models] example - mesh generation
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Mesh picking in 3d mode, ground plane, triangle, mesh * raylib [models] example - mesh picking
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Show the difference between perspective and orthographic projection * raylib [models] example - orthographic projection
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *
@ -30,7 +30,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - geometric shapes"); InitWindow(screenWidth, screenHeight, "raylib [models] example - orthographic projection");
// Define the camera to look into our 3d world // Define the camera to look into our 3d world
Camera camera = { { 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, FOVY_PERSPECTIVE, CAMERA_PERSPECTIVE }; Camera camera = { { 0.0f, 10.0f, 10.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f }, FOVY_PERSPECTIVE, CAMERA_PERSPECTIVE };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib example - point rendering * raylib [models] example - point rendering
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Skybox loading and drawing * raylib [models] example - skybox rendering
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *
@ -37,7 +37,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [models] example - skybox loading and drawing"); InitWindow(screenWidth, screenHeight, "raylib [models] example - skybox rendering");
// Define the camera to look into our 3d world // Define the camera to look into our 3d world
Camera camera = { 0 }; Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Tesseract view * raylib [models] example - tesseract view
* *
* NOTE: This example only works on platforms that support drag & drop (Windows, Linux, OSX, Html5?) * NOTE: This example only works on platforms that support drag & drop (Windows, Linux, OSX, Html5?)
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Waving cubes * raylib [models] example - waving cubes
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [models] example - Plane rotations (yaw, pitch, roll) * raylib [models] example - plane rotations (yaw, pitch, roll)
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [easings] example - Easings Testbed * raylib [easings] example - easings testbed
* *
* Example originally created with raylib 2.5, last time updated with raylib 2.5 * Example originally created with raylib 2.5, last time updated with raylib 2.5
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [others] example - Embedded files loading (Wave and Image) * raylib [others] example - embedded files loading
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - OpenGL point particle system * raylib [others] example - OpenGL interoperatibility
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *
@ -71,7 +71,7 @@ int main(void)
const int screenWidth = 800; const int screenWidth = 800;
const int screenHeight = 450; const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [shaders] example - point particles"); InitWindow(screenWidth, screenHeight, "raylib [others] example - OpenGL interoperatibility");
Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/point_particle.vs", GLSL_VERSION), Shader shader = LoadShader(TextFormat("resources/shaders/glsl%i/point_particle.vs", GLSL_VERSION),
TextFormat("resources/shaders/glsl%i/point_particle.fs", GLSL_VERSION)); TextFormat("resources/shaders/glsl%i/point_particle.fs", GLSL_VERSION));

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - Vector Angle * raylib [math] example - vector angle
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [rlgl] example - compute shader - Conway's Game of Life * raylib [rlgl] example - compute shader - game of life
* *
* NOTE: This example requires raylib OpenGL 4.3 versions for compute shaders support, * NOTE: This example requires raylib OpenGL 4.3 versions for compute shaders support,
* shaders used in this example are #version 430 (OpenGL 4.3) * shaders used in this example are #version 430 (OpenGL 4.3)

View File

@ -1,4 +1,6 @@
#version 120 #version 100
precision mediump float;
// Input vertex attributes (from vertex shader) // Input vertex attributes (from vertex shader)
varying vec2 fragTexCoord; varying vec2 fragTexCoord;

View File

@ -1,4 +1,6 @@
#version 120 #version 100
precision mediump float;
// Input vertex attributes (from vertex shader) // Input vertex attributes (from vertex shader)
varying vec2 fragTexCoord; varying vec2 fragTexCoord;

View File

@ -1,4 +1,4 @@
#version 100 #version 120
#extension GL_EXT_frag_depth : enable #extension GL_EXT_frag_depth : enable

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Basic PBR * raylib [shaders] example - basic pbr
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Postprocessing with custom uniform variable * raylib [shaders] example - custom uniform variable
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - deferred rendering * raylib [shaders] example - deferred render
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - hybrid rendering * raylib [shaders] example - write depth buffer
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Julia sets * raylib [shaders] example - julia sets
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Mesh instancing * raylib [shaders] example - mesh instancing
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Model shader * raylib [shaders] example - model shader
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - normalmap * raylib [shaders] example - normal map
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Color palette switch * raylib [shaders] example - color palette switch
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Apply a postprocessing shader to a scene * raylib [shaders] example - postprocessing shader
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Raymarching shapes generation * raylib [shaders] example - raymarching shapes
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Shadowmap * raylib [shaders] example - shadowmap
* *
* Example complexity rating: [] 4/4 * Example complexity rating: [] 4/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Apply a shader to some shape or texture * raylib [shaders] example - shapes and texture shaders
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Simple shader mask * raylib [shaders] example - simple shader mask
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Simple shader mask * raylib [shaders] example - shader spotlight
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Texture drawing * raylib [shaders] example - texture drawing
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Texture Waves * raylib [shaders] example - texture waves
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - Vertex displacement * raylib [shaders] example - vertex displacement
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shaders] example - depth buffer writing * raylib [shaders] example - write depth buffer
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - Draw basic shapes 2d (rectangle, circle, line...) * raylib [shapes] example - basic shapes drawing
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - Colors palette * raylib [shapes] example - colors palette
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - fancy clock using basic shapes * raylib [shapes] example - digital clock
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - Double Pendulum * raylib [shapes] example - double pendulum
* *
* Example complexity rating: [] 2/4 * Example complexity rating: [] 2/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - draw circle sector (with gui options) * raylib [shapes] example - draw circle sector
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - draw rectangle rounded (with gui options) * raylib [shapes] example - draw rectangle rounded
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - draw ring (with gui options) * raylib [shapes] example - draw ring
* *
* Example complexity rating: [] 3/4 * Example complexity rating: [] 3/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - Cubic-bezier lines * raylib [shapes] example - cubic-bezier lines
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

View File

@ -1,6 +1,6 @@
/******************************************************************************************* /*******************************************************************************************
* *
* raylib [shapes] example - draw raylib logo using basic shapes * raylib [shapes] example - raylib logo using shapes
* *
* Example complexity rating: [] 1/4 * Example complexity rating: [] 1/4
* *

Some files were not shown because too many files have changed in this diff Show More