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:
build:
runs-on: windows-latest
runs-on: ubuntu-latest
steps:
- name: Checkout
@ -23,48 +23,50 @@ jobs:
version: 'latest'
actions-cache-folder: 'emsdk-cache'
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- 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:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git clone https://x-access-token:${GITHUB_TOKEN}@github.com/raysan5/raylib.com.git
shell: cmd
git config --global user.name "github-actions[bot]"
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)
# rexm should update all required files in raylib and even raylib.com repo,
# but not sure if it can do that from an Action, maybe it requires manual copy
- name: Push changes to raylib.com repo (DISABLED)
if: github.event_name == 'push' && false
run: |
cd tools/rexm/VS2022
msbuild.exe rexm.sln /target:rexm /property:Configuration=Release /property:Platform=x64
cd ../../..
set REXM_EXAMPLES_BASE_PATH="examples"
set REXM_EXAMPLES_WEB_PATH="../raylib.com/examples"
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
cd raylib.com
git add -A
git commit -m "Update web examples" || echo "git exited with code 1, nothing changed"
git push origin
shell: bash

3
.gitignore vendored
View File

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

View File

@ -99,7 +99,7 @@ const config_h_flags = outer: {
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;
defer raylib_flags_arr.deinit(b.allocator);

View File

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

View File

@ -507,7 +507,7 @@ CORE = \
core/core_3d_camera_free \
core/core_3d_camera_mode \
core/core_3d_camera_split_screen \
core/core_3d_fps_controller \
core/core_3d_camera_fps \
core/core_3d_picking \
core/core_automation_events \
core/core_basic_screen_manager \
@ -599,6 +599,7 @@ TEXT = \
text/text_raylib_fonts \
text/text_rectangle_bounds \
text/text_unicode \
text/text_unicode_ranges \
text/text_writing_anim
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
$(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)
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
$(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/fonts/pixelplay.png@resources/fonts/pixelplay.png \
--preload-file text/resources/fonts/mecha.png@resources/fonts/mecha.png \
--preload-file text/resources/fonts/setback.png@resources/fonts/setback.png \
--preload-file text/resources/fonts/romulus.png@resources/fonts/romulus.png \
--preload-file text/resources/fonts/pixantiqua.png@resources/fonts/pixantiqua.png \
--preload-file text/resources/fonts/alpha_beta.png@resources/fonts/alpha_beta.png \
--preload-file text/resources/fonts/jupiter_crash.png@resources/fonts/jupiter_crash.png
--preload-file text/resources/sprite_fonts/alagard.png@resources/sprite_fonts/alagard.png \
--preload-file text/resources/sprite_fonts/pixelplay.png@resources/sprite_fonts/pixelplay.png \
--preload-file text/resources/sprite_fonts/mecha.png@resources/sprite_fonts/mecha.png \
--preload-file text/resources/sprite_fonts/setback.png@resources/sprite_fonts/setback.png \
--preload-file text/resources/sprite_fonts/romulus.png@resources/sprite_fonts/romulus.png \
--preload-file text/resources/sprite_fonts/pixantiqua.png@resources/sprite_fonts/pixantiqua.png \
--preload-file text/resources/sprite_fonts/alpha_beta.png@resources/sprite_fonts/alpha_beta.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
$(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/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
$(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 [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]
@ -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_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_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_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) |
@ -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_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.
@ -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_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_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]

View File

@ -55,7 +55,7 @@ int main(void)
const int screenWidth = 800;
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

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [audio] example - Module playing (streaming)
* raylib [audio] example - module playing (streaming)
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [audio] example - Raw audio streaming
* raylib [audio] example - raw audio streaming
*
* 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
*

View File

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

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [audio] example - Music stream processing effects
* raylib [audio] example - stream effects
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - 2D Camera platformer
* raylib [core] example - 2d camera platformer
*
* Example complexity rating: [] 3/4
*
@ -54,7 +54,7 @@ int main(void)
const int screenWidth = 800;
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.position = (Vector2){ 400, 280 };

View File

@ -106,9 +106,9 @@ int main(void)
{
// Update
//----------------------------------------------------------------------------------
Vector2 mouse_delta = GetMouseDelta();
lookRotation.x -= mouse_delta.x*sensitivity.x;
lookRotation.y += mouse_delta.y*sensitivity.y;
Vector2 mouseDelta = GetMouseDelta();
lookRotation.x -= mouseDelta.x*sensitivity.x;
lookRotation.y += mouseDelta.y*sensitivity.y;
char sideway = (IsKeyDown(KEY_D) - IsKeyDown(KEY_A));
char forward = (IsKeyDown(KEY_W) - IsKeyDown(KEY_S));
@ -261,7 +261,10 @@ static void UpdateCameraAngle(Camera *camera)
Vector3 right = Vector3Normalize(Vector3CrossProduct(yaw, up));
// 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
// 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Initialize 3d camera mode
* raylib [core] example - 3d camera mode
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Picking in 3d mode
* raylib [core] example - 3d picking
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Basic window
* raylib [core] example - basic window
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Custom logging
* raylib [core] example - custom logging
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - HighDPI
* raylib [core] example - high dpi
*
* Example complexity rating: [] e/4
*
@ -29,7 +29,7 @@ int main(void)
const int screenHeight = 450;
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);
int logicalGridDescY = 120;

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Gamepad input
* raylib [core] example - gamepad input
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Input Gestures for Web
* raylib [core] example - input gestures web
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Mouse input
* raylib [core] example - mouse input
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Input multitouch
* raylib [core] example - input multitouch
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - Scissor test
* raylib [core] example - scissor test
*
* 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
*

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
*

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
*

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
*
@ -27,12 +27,12 @@
//------------------------------------------------------------------------------------
int main(void)
{
const int windowWidth = 800;
const int windowHeight = 450;
const int screenWidth = 800;
const int screenHeight = 450;
// Enable config flags for resizable window and vertical synchro
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);
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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [core] example - World to screen
* raylib [core] example - core world screen
*
* 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_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_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_world_screen;⭐️⭐️☆☆;1.3;1.4;"Ramon Santamaria";@raysan5
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;embedded_files_loading;⭐️⭐️☆☆;3.0;3.5;"Kristian Holmgren";@defutura
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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [models] example - Drawing billboards
* raylib [models] example - billboard render
*
* Example complexity rating: [] 3/4
*
@ -26,7 +26,7 @@ int main(void)
const int screenWidth = 800;
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
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
*

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
*

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
*
@ -25,7 +25,7 @@ int main(void)
const int screenWidth = 800;
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
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
*

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
*

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
*
@ -37,7 +37,7 @@ int main(void)
const int screenWidth = 800;
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
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
*
@ -25,7 +25,7 @@ int main(void)
const int screenWidth = 800;
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
Camera camera = { 0 };

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [models] example - Models loading
* raylib [models] example - models loading
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [models] example - Load models M3D
* raylib [models] example - model loading m3d
*
* Example complexity rating: [] 2/4
*
@ -31,7 +31,7 @@ int main(void)
const int screenWidth = 800;
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
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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [models] example - procedural mesh generation
* raylib [models] example - mesh generation
*
* 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
*

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
*
@ -30,7 +30,7 @@ int main(void)
const int screenWidth = 800;
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
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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [models] example - Skybox loading and drawing
* raylib [models] example - skybox rendering
*
* Example complexity rating: [] 2/4
*
@ -37,7 +37,7 @@ int main(void)
const int screenWidth = 800;
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
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?)
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [models] example - Waving cubes
* raylib [models] example - waving cubes
*
* 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
*

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
*

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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - OpenGL point particle system
* raylib [others] example - OpenGL interoperatibility
*
* Example complexity rating: [] 4/4
*
@ -71,7 +71,7 @@ int main(void)
const int screenWidth = 800;
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),
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
*

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,
* 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)
varying vec2 fragTexCoord;

View File

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

View File

@ -1,4 +1,4 @@
#version 100
#version 120
#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
*

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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - deferred rendering
* raylib [shaders] example - deferred render
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Julia sets
* raylib [shaders] example - julia sets
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Model shader
* raylib [shaders] example - model shader
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Color palette switch
* raylib [shaders] example - color palette switch
*
* 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
*

View File

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

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Shadowmap
* raylib [shaders] example - shadowmap
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Simple shader mask
* raylib [shaders] example - simple shader mask
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Texture drawing
* raylib [shaders] example - texture drawing
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shaders] example - Vertex displacement
* raylib [shaders] example - vertex displacement
*
* 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
*

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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shapes] example - Colors palette
* raylib [shapes] example - colors palette
*
* 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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shapes] example - Double Pendulum
* raylib [shapes] example - double pendulum
*
* 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
*

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
*

View File

@ -1,6 +1,6 @@
/*******************************************************************************************
*
* raylib [shapes] example - draw ring (with gui options)
* raylib [shapes] example - draw ring
*
* 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
*

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
*

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