diff --git a/BINDINGS.md b/BINDINGS.md
index 6f96103c7..df53bb0ed 100644
--- a/BINDINGS.md
+++ b/BINDINGS.md
@@ -71,7 +71,7 @@ Some people ported raylib to other languages in the form of bindings or wrappers
| [raylib-rs](https://github.com/raylib-rs/raylib-rs) | **5.5** | [Rust](https://www.rust-lang.org) | Zlib |
| [raylib-ruby](https://github.com/wilsonsilva/raylib-ruby) | 4.5 | [Ruby](https://www.ruby-lang.org) | Zlib |
| [Relib](https://github.com/RedCubeDev-ByteSpace/Relib) | 3.5 | [ReCT](https://github.com/RedCubeDev-ByteSpace/ReCT) | **???** |
-| [racket-raylib](https://github.com/eutro/racket-raylib) | 4.0 | [Racket](https://racket-lang.org) | MIT/Apache-2.0 |
+| [racket-raylib](https://github.com/eutro/racket-raylib) | **5.5** | [Racket](https://racket-lang.org) | MIT/Apache-2.0 |
| [raylib-swift](https://github.com/STREGAsGate/Raylib) | 4.0 | [Swift](https://swift.org) | MIT |
| [raylib-scopes](https://github.com/salotz/raylib-scopes) | auto | [Scopes](http://scopes.rocks) | MIT |
| [raylib-SmallBASIC](https://github.com/smallbasic/smallbasic.plugins/tree/master/raylib) | **5.5** | [SmallBASIC](https://github.com/smallbasic/SmallBASIC) | GPLv3 |
diff --git a/ROADMAP.md b/ROADMAP.md
index 87ca2e1c8..9a8111133 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -3,16 +3,18 @@
Here is a wishlist with features and ideas to improve the library. Note that features listed here are usually long term improvements or just describe a route to follow for the library. There are also some additional places to look for raylib improvements and ideas:
- [GitHub Issues](https://github.com/raysan5/raylib/issues) has several open issues for possible improvements or bugs to fix.
+ - [GitHub PRs](https://github.com/raysan5/raylib/pulls) open with improvements to be reviewed.
- [raylib source code](https://github.com/raysan5/raylib/tree/master/src) has multiple *TODO* comments around code with pending things to review or improve.
- raylib wishlists discussions are open to everyone to ask for improvements, feel free to check and comment:
- - [raylib wishlist 2021](https://github.com/raysan5/raylib/discussions/1502)
- - [raylib wishlist 2022](https://github.com/raysan5/raylib/discussions/2272)
+ - [raylib 6.0 wishlist](https://github.com/raysan5/raylib/discussions/4660)
- [raylib 5.0 wishlist](https://github.com/raysan5/raylib/discussions/2952)
-
+ - [raylib wishlist 2022](https://github.com/raysan5/raylib/discussions/2272)
+ - [raylib wishlist 2021](https://github.com/raysan5/raylib/discussions/1502)
+
_Current version of raylib is complete and functional but there is always room for improvements._
**raylib 5.x**
- - [ ] `rcore`: Support additional platforms: iOS, Xbox Series S|X
+ - [ ] `rcore`: Support additional platforms: iOS, consoles?
- [ ] `rcore_web`: Avoid GLFW dependency, functionality can be directly implemented using emscripten SDK
- [ ] `rlgl`: Review GLSL shaders naming conventions for consistency
- [ ] `textures`: Improve compressed textures support, loading and saving
diff --git a/build.zig b/build.zig
index d7d118003..b3da65984 100644
--- a/build.zig
+++ b/build.zig
@@ -192,7 +192,6 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
setDesktopPlatform(raylib, options.platform);
},
.linux => {
-
if (options.platform == .drm) {
if (options.opengl_version == .auto) {
raylib.linkSystemLibrary("GLESv2");
@@ -209,34 +208,32 @@ fn compileRaylib(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.
} else if (target.result.abi == .android) {
//these are the only tag options per https://developer.android.com/ndk/guides/other_build_systems
- const hostTuple = switch(builtin.target.os.tag) {
- .linux => "linux-x86_64",
+ const hostTuple = switch (builtin.target.os.tag) {
+ .linux => "linux-x86_64",
.windows => "windows-x86_64",
- .macos => "darwin-x86_64",
- else => {
- @panic("unsupported host OS");
- }
+ .macos => "darwin-x86_64",
+ else => @panic("unsupported host OS"),
};
const androidTriple = try target.result.linuxTriple(b.allocator);
const androidNdkPathString: []const u8 = options.android_ndk;
- if(androidNdkPathString.len < 1) @panic("no ndk path provided and ANDROID_NDK_HOME is not set");
+ if (androidNdkPathString.len < 1) @panic("no ndk path provided and ANDROID_NDK_HOME is not set");
const androidApiLevel: []const u8 = options.android_api_version;
- const androidSysroot = try std.fs.path.join(b.allocator, &.{androidNdkPathString, "/toolchains/llvm/prebuilt/", hostTuple, "/sysroot"});
- const androidLibPath = try std.fs.path.join(b.allocator, &.{androidSysroot, "/usr/lib/", androidTriple});
- const androidApiSpecificPath = try std.fs.path.join(b.allocator, &.{androidLibPath, androidApiLevel});
- const androidIncludePath = try std.fs.path.join(b.allocator, &.{androidSysroot, "/usr/include"});
- const androidArchIncludePath = try std.fs.path.join(b.allocator, &.{androidIncludePath, androidTriple});
- const androidAsmPath = try std.fs.path.join(b.allocator, &.{androidIncludePath, "/asm-generic"});
- const androidGluePath = try std.fs.path.join(b.allocator, &.{androidNdkPathString, "/sources/android/native_app_glue/"});
+ const androidSysroot = try std.fs.path.join(b.allocator, &.{ androidNdkPathString, "/toolchains/llvm/prebuilt/", hostTuple, "/sysroot" });
+ const androidLibPath = try std.fs.path.join(b.allocator, &.{ androidSysroot, "/usr/lib/", androidTriple });
+ const androidApiSpecificPath = try std.fs.path.join(b.allocator, &.{ androidLibPath, androidApiLevel });
+ const androidIncludePath = try std.fs.path.join(b.allocator, &.{ androidSysroot, "/usr/include" });
+ const androidArchIncludePath = try std.fs.path.join(b.allocator, &.{ androidIncludePath, androidTriple });
+ const androidAsmPath = try std.fs.path.join(b.allocator, &.{ androidIncludePath, "/asm-generic" });
+ const androidGluePath = try std.fs.path.join(b.allocator, &.{ androidNdkPathString, "/sources/android/native_app_glue/" });
- raylib.addLibraryPath(.{ .cwd_relative = androidLibPath});
+ raylib.addLibraryPath(.{ .cwd_relative = androidLibPath });
raylib.root_module.addLibraryPath(.{ .cwd_relative = androidApiSpecificPath });
raylib.addSystemIncludePath(.{ .cwd_relative = androidIncludePath });
- raylib.addSystemIncludePath(.{ .cwd_relative = androidArchIncludePath});
- raylib.addSystemIncludePath( .{ .cwd_relative = androidAsmPath});
- raylib.addSystemIncludePath(.{ .cwd_relative = androidGluePath});
+ raylib.addSystemIncludePath(.{ .cwd_relative = androidArchIncludePath });
+ raylib.addSystemIncludePath(.{ .cwd_relative = androidAsmPath });
+ raylib.addSystemIncludePath(.{ .cwd_relative = androidGluePath });
var libcData = std.ArrayList(u8).init(b.allocator);
const writer = libcData.writer();
@@ -442,7 +439,7 @@ pub const PlatformBackend = enum {
rgfw,
sdl,
drm,
- android
+ android,
};
pub fn build(b: *std.Build) !void {
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index f77ece4c0..135db49f5 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -90,13 +90,14 @@ if (${PLATFORM} MATCHES "Android")
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_custom_uniform.c)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_model_shader.c)
+ list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_view_depth.c)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_postprocessing.c)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_raymarching.c)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_palette_switch.c)
list(REMOVE_ITEM example_sources ${CMAKE_CURRENT_SOURCE_DIR}/shaders/shaders_basic_lighting.c)
elseif (${PLATFORM} MATCHES "Web")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os")
# Since WASM is used, ALLOW_MEMORY_GROWTH has no extra overheads
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s WASM=1 -s ASYNCIFY -s ALLOW_MEMORY_GROWTH=1 --shell-file ${CMAKE_SOURCE_DIR}/src/shell.html")
set(CMAKE_EXECUTABLE_SUFFIX ".html")
diff --git a/examples/Makefile b/examples/Makefile
index 5f2a18c6f..548e869c2 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -232,7 +232,7 @@ CFLAGS = -Wall -std=c99 -D_DEFAULT_SOURCE -Wno-missing-braces -Wunused-result
ifeq ($(BUILD_MODE),DEBUG)
CFLAGS += -g -D_DEBUG
-else
+else
ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),PLATFORM_WEB PLATFORM_WEB_RGFW))
ifeq ($(BUILD_WEB_ASYNCIFY),TRUE)
CFLAGS += -O3
@@ -341,12 +341,12 @@ ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),PLATFORM_WEB PLATFORM_WEB_R
# --source-map-base # allow debugging in browser with source map
# --shell-file shell.html # define a custom shell .html and output extension
LDFLAGS += -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 -sMINIFY_HTML=0
-
+
# Using GLFW3 library (instead of RGFW)
ifeq ($(TARGET_PLATFORM),PLATFORM_WEB)
LDFLAGS += -sUSE_GLFW=3
endif
-
+
# Build using asyncify
ifeq ($(BUILD_WEB_ASYNCIFY),TRUE)
LDFLAGS += -sASYNCIFY
@@ -642,6 +642,7 @@ SHADERS = \
shaders/shaders_texture_outline \
shaders/shaders_texture_tiling \
shaders/shaders_texture_waves \
+ shaders/shaders_view_depth \
shaders/shaders_write_depth \
shaders/shaders_vertex_displacement
@@ -652,6 +653,7 @@ AUDIO = \
audio/audio_raw_stream \
audio/audio_sound_loading \
audio/audio_sound_multi \
+ audio/audio_sound_positioning \
audio/audio_stream_effects
OTHERS = \
diff --git a/examples/Makefile.Web b/examples/Makefile.Web
index 7ec6868e2..04fbe927a 100644
--- a/examples/Makefile.Web
+++ b/examples/Makefile.Web
@@ -278,7 +278,7 @@ ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_WEB PLATFORM_WEB_RGFW))
# --source-map-base # allow debugging in browser with source map
# --shell-file shell.html # define a custom shell .html and output extension
LDFLAGS += -sTOTAL_MEMORY=$(BUILD_WEB_HEAP_SIZE) -sFORCE_FILESYSTEM=1 -sEXPORTED_RUNTIME_METHODS=ccall -sMINIFY_HTML=0
-
+
# Using GLFW3 library (instead of RGFW)
ifeq ($(PLATFORM),PLATFORM_WEB)
LDFLAGS += -sUSE_GLFW=3
@@ -525,6 +525,7 @@ SHADERS = \
shaders/shaders_texture_tiling \
shaders/shaders_texture_waves \
shaders/shaders_vertex_displacement \
+ shaders/shaders_view_depth \
shaders/shaders_write_depth
AUDIO = \
@@ -534,6 +535,7 @@ AUDIO = \
audio/audio_raw_stream \
audio/audio_sound_loading \
audio/audio_sound_multi \
+ audio/audio_sound_positioning \
audio/audio_stream_effects
OTHERS = \
@@ -1150,6 +1152,10 @@ shaders/shaders_texture_waves: shaders/shaders_texture_waves.c
--preload-file shaders/resources/space.png@resources/space.png \
--preload-file shaders/resources/shaders/glsl100/wave.fs@resources/shaders/glsl100/wave.fs
+shaders/shaders_view_depth: shaders/shaders_view_depth.c
+ $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \
+ --preload-file shaders/resources/shaders/glsl100/write_depth.fs@resources/shaders/glsl100/write_depth.fs
+
shaders/shaders_write_depth: shaders/shaders_write_depth.c
$(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) -D$(PLATFORM) \
--preload-file shaders/resources/shaders/glsl100/write_depth.fs@resources/shaders/glsl100/write_depth.fs
@@ -1235,4 +1241,3 @@ ifeq ($(PLATFORM),$(filter $(PLATFORM),PLATFORM_WEB PLATFORM_WEB_RGFW))
del *.o *.html *.js
endif
@echo Cleaning done
-
diff --git a/examples/README.md b/examples/README.md
index 38daad717..9982c2001 100644
--- a/examples/README.md
+++ b/examples/README.md
@@ -201,6 +201,7 @@ Examples using raylib shaders functionality, including shaders loading, paramete
| 139 | [shaders_basic_pbr](shaders/shaders_basic_pbr.c) |
| ⭐️⭐️⭐️⭐️ | 5.0 | 5.1-dev | [Afan OLOVCIC](https://github.com/_DevDad) |
| 140 | [shaders_lightmap](shaders/shaders_lightmap.c) |
| ⭐️⭐️⭐️☆ | 4.5 | 4.5 | [Jussi Viitala](https://github.com/nullstare) |
| 141 | [shaders_rounded_rectangle](shaders/shaders_rounded_rectangle.c) |
| ⭐️⭐️⭐️☆ | 5.5 | 5.5 | [Anstro Pleuton](https://github.com/anstropleuton) |
+| 142 | [shaders_view_depth](shaders/shaders_view_depth.c) |
| ⭐️⭐️⭐️☆ | 5.6-dev | 5.6-dev | [Luís Almeida](https://github.com/luis605) |
### category: audio
@@ -215,6 +216,7 @@ Examples using raylib audio functionality, including sound/music loading and pla
| 146 | [audio_mixed_processor](audio/audio_mixed_processor.c) |
| ⭐️⭐️⭐️⭐️ | 4.2 | 4.2 | [hkc](https://github.com/hatkidchan) |
| 147 | [audio_stream_effects](audio/audio_stream_effects.c) |
| ⭐️⭐️⭐️⭐️ | 4.2 | 5.0 | [Ray](https://github.com/raysan5) |
| 148 | [audio_sound_multi](audio/audio_sound_multi.c) |
| ⭐️⭐️☆☆ | 4.6 | 4.6 | [Jeffery Myers](https://github.com/JeffM2501) |
+| 149 | [audio_sound_positioning](audio/audio_sound_positioning.c) |
| ⭐️⭐️☆☆ | 5.5 | 5.5 | [Le Juez Victor](https://github.com/Bigfoot71) |
### category: others
@@ -222,12 +224,11 @@ Examples showing raylib misc functionality that does not fit in other categories
| ## | example | image | difficulty
level | version
created | last version
updated | original
developer |
|----|----------|--------|:-------------------:|:------------------:|:-----------------------:|:----------------------|
-| 149 | [rlgl_standalone](others/rlgl_standalone.c) |
| ⭐️⭐️⭐️⭐️ | 1.6 | 4.0 | [Ray](https://github.com/raysan5) |
-| 150 | [rlgl_compute_shader](others/rlgl_compute_shader.c) |
| ⭐️⭐️⭐️⭐️ | 4.0 | 4.0 | [Teddy Astie](https://github.com/tsnake41) |
-| 151 | [easings_testbed](others/easings_testbed.c) |
| ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) |
-| 152 | [raylib_opengl_interop](others/raylib_opengl_interop.c) |
| ⭐️⭐️⭐️⭐️ | 3.8 | 4.0 | [Stephan Soller](https://github.com/arkanis) |
-| 153 | [embedded_files_loading](others/embedded_files_loading.c) |
| ⭐️⭐️☆☆ | 3.0 | 3.5 | [Kristian Holmgren](https://github.com/defutura) |
-| 154 | [raymath_vector_angle](others/raymath_vector_angle.c) |
| ⭐️⭐️☆☆ | 1.0 | 4.6 | [Ray](https://github.com/raysan5) |
+| 150 | [rlgl_standalone](others/rlgl_standalone.c) |
| ⭐️⭐️⭐️⭐️ | 1.6 | 4.0 | [Ray](https://github.com/raysan5) |
+| 151 | [rlgl_compute_shader](others/rlgl_compute_shader.c) |
| ⭐️⭐️⭐️⭐️ | 4.0 | 4.0 | [Teddy Astie](https://github.com/tsnake41) |
+| 152 | [easings_testbed](others/easings_testbed.c) |
| ⭐️⭐️⭐️☆ | 2.5 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) |
+| 153 | [raylib_opengl_interop](others/raylib_opengl_interop.c) |
| ⭐️⭐️⭐️⭐️ | 3.8 | 4.0 | [Stephan Soller](https://github.com/arkanis) |
+| 154 | [embedded_files_loading](others/embedded_files_loading.c) |
| ⭐️⭐️☆☆ | 3.0 | 3.5 | [Kristian Holmgren](https://github.com/defutura) |
+| 155 | [raymath_vector_angle](others/raymath_vector_angle.c) |
| ⭐️⭐️☆☆ | 1.0 | 4.6 | [Ray](https://github.com/raysan5) |
As always contributions are welcome, feel free to send new examples! Here is an [examples template](examples_template.c) to start with!
-
diff --git a/examples/audio/audio_sound_positioning.c b/examples/audio/audio_sound_positioning.c
new file mode 100644
index 000000000..45f211ec4
--- /dev/null
+++ b/examples/audio/audio_sound_positioning.c
@@ -0,0 +1,123 @@
+/*******************************************************************************************
+*
+* raylib [audio] example - Playing spatialized 3D sound
+*
+* Example complexity rating: [★★☆☆] 2/4
+*
+* Example originally created with raylib 5.5, last time updated with raylib 5.5
+*
+* Example contributed by Le Juez Victor (@Bigfoot71) and reviewed by Ramon Santamaria (@raysan5)
+*
+* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+* BSD-like license that allows static linking with closed source software
+*
+* Copyright (c) 2025 Le Juez Victor (@Bigfoot71)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+
+#include "raymath.h"
+
+// Sound positioning function
+static void SetSoundPosition(Camera listener, Sound sound, Vector3 position, float maxDist);
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(void)
+{
+ // Initialization
+ //--------------------------------------------------------------------------------------
+ const int screenWidth = 800;
+ const int screenHeight = 450;
+
+ InitWindow(screenWidth, screenHeight, "raylib [audio] example - Playing spatialized 3D sound");
+
+ InitAudioDevice();
+
+ Sound sound = LoadSound("resources/coin.wav");
+
+ Camera camera = {
+ .position = (Vector3) { 0, 5, 5 },
+ .target = (Vector3) { 0, 0, 0 },
+ .up = (Vector3) { 0, 1, 0 },
+ .fovy = 60,
+ .projection = CAMERA_PERSPECTIVE
+ };
+
+ DisableCursor();
+
+ SetTargetFPS(60);
+ //--------------------------------------------------------------------------------------
+
+ // Main game loop
+ while (!WindowShouldClose())
+ {
+ // Update
+ //----------------------------------------------------------------------------------
+ UpdateCamera(&camera, CAMERA_FREE);
+
+ float th = GetTime();
+
+ Vector3 spherePos = {
+ .x = 5.0f*cosf(th),
+ .y = 0.0f,
+ .z = 5.0f*sinf(th)
+ };
+
+ SetSoundPosition(camera, sound, spherePos, 20.0f);
+ if (!IsSoundPlaying(sound)) PlaySound(sound);
+ //----------------------------------------------------------------------------------
+
+ // Draw
+ //----------------------------------------------------------------------------------
+ BeginDrawing();
+
+ ClearBackground(RAYWHITE);
+
+ BeginMode3D(camera);
+ DrawGrid(10, 2);
+ DrawSphere(spherePos, 0.5f, RED);
+ EndMode3D();
+
+ EndDrawing();
+ //----------------------------------------------------------------------------------
+ }
+
+ // De-Initialization
+ //--------------------------------------------------------------------------------------
+ UnloadSound(sound);
+ CloseAudioDevice(); // Close audio device
+
+ CloseWindow(); // Close window and OpenGL context
+ //--------------------------------------------------------------------------------------
+}
+
+// Sound positioning function
+static void SetSoundPosition(Camera listener, Sound sound, Vector3 position, float maxDist)
+{
+ // Calculate direction vector and distance between listener and sound source
+ Vector3 direction = Vector3Subtract(position, listener.position);
+ float distance = Vector3Length(direction);
+
+ // Apply logarithmic distance attenuation and clamp between 0-1
+ float attenuation = 1.0f/(1.0f + (distance/maxDist));
+ attenuation = Clamp(attenuation, 0.0f, 1.0f);
+
+ // Calculate normalized vectors for spatial positioning
+ Vector3 normalizedDirection = Vector3Normalize(direction);
+ Vector3 forward = Vector3Normalize(Vector3Subtract(listener.target, listener.position));
+ Vector3 right = Vector3Normalize(Vector3CrossProduct(forward, listener.up));
+
+ // Reduce volume for sounds behind the listener
+ float dotProduct = Vector3DotProduct(forward, normalizedDirection);
+ if (dotProduct < 0.0f) attenuation *= (1.0f + dotProduct*0.5f);
+
+ // Set stereo panning based on sound position relative to listener
+ float pan = 0.5f + 0.5f*Vector3DotProduct(normalizedDirection, right);
+
+ // Apply final sound properties
+ SetSoundVolume(sound, attenuation);
+ SetSoundPan(sound, pan);
+}
\ No newline at end of file
diff --git a/examples/audio/audio_sound_positioning.png b/examples/audio/audio_sound_positioning.png
new file mode 100644
index 000000000..6feaf7e4c
Binary files /dev/null and b/examples/audio/audio_sound_positioning.png differ
diff --git a/examples/core/core_high_dpi.c b/examples/core/core_high_dpi.c
index db0d6e9e6..b9417bd63 100644
--- a/examples/core/core_high_dpi.c
+++ b/examples/core/core_high_dpi.c
@@ -15,9 +15,9 @@
static void DrawTextCenter(const char *text, int x, int y, int fontSize, Color color)
{
- Vector2 size = MeasureTextEx(GetFontDefault(), text, fontSize, 3);
+ Vector2 size = MeasureTextEx(GetFontDefault(), text, (float)fontSize, 3);
Vector2 pos = (Vector2){x - size.x/2, y - size.y/2 };
- DrawTextEx(GetFontDefault(), text, pos, fontSize, 3, color);
+ DrawTextEx(GetFontDefault(), text, pos, (float)fontSize, 3, color);
}
//------------------------------------------------------------------------------------
@@ -86,11 +86,11 @@ int main(void)
const int minTextSpace = 30;
int last_text_x = -minTextSpace;
for (int i = cellSize; i < GetRenderWidth(); i += cellSize, odd = !odd) {
- int x = ((float)i) / dpiScale.x;
+ int x = (int)(((float)i) / dpiScale.x);
if (odd) {
- DrawRectangle(x, pixelGridTop, cellSizePx, pixelGridBottom-pixelGridTop, CLITERAL(Color){ 0, 121, 241, 100 });
+ DrawRectangle(x, pixelGridTop, (int)cellSizePx, pixelGridBottom-pixelGridTop, CLITERAL(Color){ 0, 121, 241, 100 });
}
- DrawLine(x, pixelGridTop, ((float)i) / dpiScale.x, pixelGridLabelY - 10, GRAY);
+ DrawLine(x, pixelGridTop, (int)(((float)i) / dpiScale.x), pixelGridLabelY - 10, GRAY);
if (x - last_text_x >= minTextSpace) {
DrawTextCenter(TextFormat("%d", i), x, pixelGridLabelY, 12, LIGHTGRAY);
last_text_x = x;
diff --git a/examples/examples.rc b/examples/examples.rc
index e5024b731..14938ae9d 100644
--- a/examples/examples.rc
+++ b/examples/examples.rc
@@ -1,27 +1,27 @@
GLFW_ICON ICON "raylib.ico"
1 VERSIONINFO
-FILEVERSION 1,0,0,0
-PRODUCTVERSION 1,0,0,0
+FILEVERSION 5,5,0,0
+PRODUCTVERSION 5,5,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
- //BLOCK "080904E4" // English UK
- BLOCK "040904E4" // English US
+ //BLOCK "080904E4" // English UK
+ BLOCK "040904E4" // English US
BEGIN
- VALUE "CompanyName", "raylib technologies"
- VALUE "FileDescription", "raylib example"
- VALUE "FileVersion", "1.0"
+ VALUE "CompanyName", "raylib technologies"
+ VALUE "FileDescription", "raylib application (www.raylib.com)"
+ VALUE "FileVersion", "5.5.0"
VALUE "InternalName", "raylib-example"
- VALUE "LegalCopyright", "(c) 2025 raylib technologies (@raylibtech)"
- //VALUE "OriginalFilename", "raylib_app.exe"
+ VALUE "LegalCopyright", "(c) 2025 Ramon Santamaria (@raysan5)"
+ VALUE "OriginalFilename", "raylib-example"
VALUE "ProductName", "raylib-example"
- VALUE "ProductVersion", "1.0"
+ VALUE "ProductVersion", "5.5.0"
END
END
BLOCK "VarFileInfo"
BEGIN
- //VALUE "Translation", 0x809, 1252 // English UK
- VALUE "Translation", 0x409, 1252 // English US
+ //VALUE "Translation", 0x809, 1252 // English UK
+ VALUE "Translation", 0x409, 1252 // English US
END
END
diff --git a/examples/shaders/resources/shaders/glsl100/depth.fs b/examples/shaders/resources/shaders/glsl100/depth.fs
index e638e81d1..b330bd9c6 100644
--- a/examples/shaders/resources/shaders/glsl100/depth.fs
+++ b/examples/shaders/resources/shaders/glsl100/depth.fs
@@ -1,26 +1,28 @@
#version 100
-precision mediump float;
-
// Input vertex attributes (from vertex shader)
varying vec2 fragTexCoord;
-varying vec4 fragColor;
// Input uniform values
-uniform sampler2D texture0; // Depth texture
-uniform vec4 colDiffuse;
+uniform sampler2D depthTexture;
+uniform bool flipY;
-// NOTE: Add your custom variables here
+float nearPlane = 0.1;
+float farPlane = 100.0;
void main()
{
- float zNear = 0.01; // camera z near
- float zFar = 10.0; // camera z far
- float z = texture2D(texture0, fragTexCoord).x;
+ // Handle potential Y-flipping
+ vec2 texCoord = fragTexCoord;
+ if (flipY)
+ texCoord.y = 1.0 - texCoord.y;
- // Linearize depth value
- float depth = (2.0*zNear)/(zFar + zNear - z*(zFar - zNear));
+ // Sample depth texture
+ float depth = texture2D(depthTexture, texCoord).r;
- // Calculate final fragment color
- gl_FragColor = vec4(depth, depth, depth, 1.0);
+ // Linearize depth
+ float linearDepth = (2.0*nearPlane)/(farPlane + nearPlane - depth*(farPlane - nearPlane));
+
+ // Output final color
+ gl_FragColor = vec4(vec3(linearDepth), 1.0);
}
\ No newline at end of file
diff --git a/examples/shaders/resources/shaders/glsl330/depth.fs b/examples/shaders/resources/shaders/glsl330/depth.fs
index 43e30f9be..65592c83f 100644
--- a/examples/shaders/resources/shaders/glsl330/depth.fs
+++ b/examples/shaders/resources/shaders/glsl330/depth.fs
@@ -2,26 +2,29 @@
// Input vertex attributes (from vertex shader)
in vec2 fragTexCoord;
-in vec4 fragColor;
// Input uniform values
-uniform sampler2D texture0; // Depth texture
-uniform vec4 colDiffuse;
+uniform sampler2D depthTexture;
+uniform bool flipY;
+
+const float nearPlane = 0.1;
+const float farPlane = 100.0;
// Output fragment color
out vec4 finalColor;
-// NOTE: Add your custom variables here
-
void main()
{
- float zNear = 0.01; // camera z near
- float zFar = 10.0; // camera z far
- float z = texture(texture0, fragTexCoord).x;
+ // Handle potential Y-flipping
+ vec2 texCoord = fragTexCoord;
+ if (flipY) texCoord.y = 1.0 - texCoord.y;
+
+ // Sample depth
+ float depth = texture(depthTexture, texCoord).r;
// Linearize depth value
- float depth = (2.0*zNear)/(zFar + zNear - z*(zFar - zNear));
+ float linearDepth = (2.0*nearPlane)/(farPlane + nearPlane - depth*(farPlane - nearPlane));
- // Calculate final fragment color
- finalColor = vec4(depth, depth, depth, 1.0);
+ // Output final color
+ finalColor = vec4(vec3(linearDepth), 1.0);
}
\ No newline at end of file
diff --git a/examples/shaders/shaders_rounded_rectangle.c b/examples/shaders/shaders_rounded_rectangle.c
index 754110d92..2256db6c3 100644
--- a/examples/shaders/shaders_rounded_rectangle.c
+++ b/examples/shaders/shaders_rounded_rectangle.c
@@ -108,8 +108,8 @@ int main(void)
// Draw rectangle box with rounded corners using shader
Rectangle rec = { 50, 70, 110, 60 };
- DrawRectangleLines(rec.x - 20, rec.y - 20, rec.width + 40, rec.height + 40, DARKGRAY);
- DrawText("Rounded rectangle", rec.x - 20, rec.y - 35, 10, DARKGRAY);
+ DrawRectangleLines((int)rec.x - 20, (int)rec.y - 20, (int)rec.width + 40, (int)rec.height + 40, DARKGRAY);
+ DrawText("Rounded rectangle", (int)rec.x - 20, (int)rec.y - 35, 10, DARKGRAY);
// Flip Y axis to match shader coordinate system
rec.y = screenHeight - rec.y - rec.height;
@@ -128,8 +128,8 @@ int main(void)
// Draw rectangle shadow using shader
rec = (Rectangle){ 50, 200, 110, 60 };
- DrawRectangleLines(rec.x - 20, rec.y - 20, rec.width + 40, rec.height + 40, DARKGRAY);
- DrawText("Rounded rectangle shadow", rec.x - 20, rec.y - 35, 10, DARKGRAY);
+ DrawRectangleLines((int)rec.x - 20, (int)rec.y - 20, (int)rec.width + 40, (int)rec.height + 40, DARKGRAY);
+ DrawText("Rounded rectangle shadow", (int)rec.x - 20, (int)rec.y - 35, 10, DARKGRAY);
rec.y = screenHeight - rec.y - rec.height;
SetShaderValue(shader, roundedRectangle.rectangleLoc, (float[]){ rec.x, rec.y, rec.width, rec.height }, SHADER_UNIFORM_VEC4);
@@ -147,8 +147,8 @@ int main(void)
// Draw rectangle's border using shader
rec = (Rectangle){ 50, 330, 110, 60 };
- DrawRectangleLines(rec.x - 20, rec.y - 20, rec.width + 40, rec.height + 40, DARKGRAY);
- DrawText("Rounded rectangle border", rec.x - 20, rec.y - 35, 10, DARKGRAY);
+ DrawRectangleLines((int)rec.x - 20, (int)rec.y - 20, (int)rec.width + 40, (int)rec.height + 40, DARKGRAY);
+ DrawText("Rounded rectangle border", (int)rec.x - 20, (int)rec.y - 35, 10, DARKGRAY);
rec.y = screenHeight - rec.y - rec.height;
SetShaderValue(shader, roundedRectangle.rectangleLoc, (float[]){ rec.x, rec.y, rec.width, rec.height }, SHADER_UNIFORM_VEC4);
@@ -166,8 +166,8 @@ int main(void)
// Draw one more rectangle with all three colors
rec = (Rectangle){ 240, 80, 500, 300 };
- DrawRectangleLines(rec.x - 30, rec.y - 30, rec.width + 60, rec.height + 60, DARKGRAY);
- DrawText("Rectangle with all three combined", rec.x - 30, rec.y - 45, 10, DARKGRAY);
+ DrawRectangleLines((int)rec.x - 30, (int)rec.y - 30, (int)rec.width + 60, (int)rec.height + 60, DARKGRAY);
+ DrawText("Rectangle with all three combined", (int)rec.x - 30, (int)rec.y - 45, 10, DARKGRAY);
rec.y = screenHeight - rec.y - rec.height;
SetShaderValue(shader, roundedRectangle.rectangleLoc, (float[]){ rec.x, rec.y, rec.width, rec.height }, SHADER_UNIFORM_VEC4);
diff --git a/examples/shaders/shaders_view_depth.c b/examples/shaders/shaders_view_depth.c
new file mode 100644
index 000000000..4f141acb9
--- /dev/null
+++ b/examples/shaders/shaders_view_depth.c
@@ -0,0 +1,153 @@
+/*******************************************************************************************
+*
+* raylib [shader] example - render depth texture
+*
+* Example complexity rating: [★★★☆] 3/4
+*
+* Example originally created with raylib 5.6-dev, last time updated with raylib 5.6-dev
+*
+* Example contributed by Luís Almeida (@luis605)
+*
+* Example licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+* BSD-like license that allows static linking with closed source software
+*
+* Copyright (c) 2025 Luís Almeida (@luis605)
+*
+********************************************************************************************/
+
+#include "raylib.h"
+#include "rlgl.h"
+
+#if defined(PLATFORM_DESKTOP)
+ #define GLSL_VERSION 330
+#else // PLATFORM_ANDROID, PLATFORM_WEB
+ #define GLSL_VERSION 100
+#endif
+
+RenderTexture2D LoadRenderTextureWithDepth(int width, int height);
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(void)
+{
+ // Initialization
+ //--------------------------------------------------------------------------------------
+ const int screenWidth = 800;
+ const int screenHeight = 450;
+
+ InitWindow(screenWidth, screenHeight, "raylib [shader] example - render depth texture");
+
+ // Init camera
+ Camera camera = { 0 };
+ camera.position = (Vector3){ 4.0f, 1.0f, 5.0f };
+ camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };
+ camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };
+ camera.fovy = 45.0f;
+ camera.projection = CAMERA_PERSPECTIVE;
+
+ // Load an empty render texture with a depth texture
+ RenderTexture2D target = LoadRenderTextureWithDepth(screenWidth, screenHeight);
+
+ // Load depth shader and get depth texture shader location
+ Shader depthShader = LoadShader(0, TextFormat("resources/shaders/glsl%i/depth.fs", GLSL_VERSION));
+ int depthLoc = GetShaderLocation(depthShader, "depthTexture");
+ int flipTextureLoc = GetShaderLocation(depthShader, "flipY");
+ SetShaderValue(depthShader, flipTextureLoc, (int[]){ 1 }, SHADER_UNIFORM_INT); // Flip Y texture
+
+ // Load models
+ Model cube = LoadModelFromMesh(GenMeshCube(1.0f, 1.0f, 1.0f));
+ Model floor = LoadModelFromMesh(GenMeshPlane(20.0f, 20.0f, 1, 1));
+
+ DisableCursor(); // Limit cursor to relative movement inside the window
+
+ SetTargetFPS(60); // Set our game to run at 60 frames-per-second
+ //--------------------------------------------------------------------------------------
+
+ // Main game loop
+ while (!WindowShouldClose()) // Detect window close button or ESC key
+ {
+ // Update
+ //----------------------------------------------------------------------------------
+ UpdateCamera(&camera, CAMERA_FREE);
+ //----------------------------------------------------------------------------------
+
+ // Draw
+ //----------------------------------------------------------------------------------
+ BeginTextureMode(target);
+ ClearBackground(WHITE);
+
+ BeginMode3D(camera);
+ DrawModel(cube, (Vector3){ 0.0f, 0.0f, 0.0f }, 3.0f, YELLOW);
+ DrawModel(floor, (Vector3){ 10.0f, 0.0f, 2.0f }, 2.0f, RED);
+ EndMode3D();
+ EndTextureMode();
+
+ BeginDrawing();
+
+ BeginShaderMode(depthShader);
+ SetShaderValueTexture(depthShader, depthLoc, target.depth);
+ DrawTexture(target.depth, 0, 0, WHITE);
+ EndShaderMode();
+
+ DrawRectangle( 10, 10, 320, 93, Fade(SKYBLUE, 0.5f));
+ DrawRectangleLines( 10, 10, 320, 93, BLUE);
+
+ DrawText("Camera Controls:", 20, 20, 10, BLACK);
+ DrawText("- WASD to move", 40, 40, 10, DARKGRAY);
+ DrawText("- Mouse Wheel Pressed to Pan", 40, 60, 10, DARKGRAY);
+ DrawText("- Z to zoom to (0, 0, 0)", 40, 80, 10, DARKGRAY);
+
+ EndDrawing();
+ //----------------------------------------------------------------------------------
+ }
+
+ // De-Initialization
+ //--------------------------------------------------------------------------------------
+ UnloadModel(cube); // Unload model
+ UnloadModel(floor); // Unload model
+ UnloadRenderTexture(target); // Unload render texture
+ UnloadShader(depthShader); // Unload shader
+
+ CloseWindow(); // Close window and OpenGL context
+ //--------------------------------------------------------------------------------------
+ return 0;
+}
+
+RenderTexture2D LoadRenderTextureWithDepth(int width, int height)
+{
+ RenderTexture2D target = {0};
+
+ target.id = rlLoadFramebuffer(); // Load an empty framebuffer
+
+ if (target.id > 0)
+ {
+ rlEnableFramebuffer(target.id);
+
+ // Create color texture (default to RGBA)
+ target.texture.id = rlLoadTexture(0, width, height, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, 1);
+ target.texture.width = width;
+ target.texture.height = height;
+ target.texture.format = PIXELFORMAT_UNCOMPRESSED_R8G8B8A8;
+ target.texture.mipmaps = 1;
+
+ // Create depth texture
+ target.depth.id = rlLoadTextureDepth(width, height, false);
+ target.depth.width = width;
+ target.depth.height = height;
+ target.depth.format = 19; //DEPTH_COMPONENT_24BIT? THIS DOESN'T EXIST IN RAYLIB
+ target.depth.mipmaps = 1;
+
+ // Attach color texture and depth texture to FBO
+ rlFramebufferAttach(target.id, target.texture.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_TEXTURE2D, 0);
+ rlFramebufferAttach(target.id, target.depth.id, RL_ATTACHMENT_DEPTH, RL_ATTACHMENT_TEXTURE2D, 0);
+
+ // Check if fbo is complete with attachments (valid)
+ if (rlFramebufferComplete(target.id)) TRACELOG(LOG_INFO, "FBO: [ID %i] Framebuffer object created successfully", target.id);
+
+ rlDisableFramebuffer();
+ }
+ else TRACELOG(LOG_WARNING, "FBO: Framebuffer object can not be created");
+
+ return target;
+}
\ No newline at end of file
diff --git a/examples/shaders/shaders_view_depth.png b/examples/shaders/shaders_view_depth.png
new file mode 100644
index 000000000..ae4c84502
Binary files /dev/null and b/examples/shaders/shaders_view_depth.png differ
diff --git a/examples/shaders/shaders_write_depth.c b/examples/shaders/shaders_write_depth.c
index d47ea1ae3..2d24dcaed 100644
--- a/examples/shaders/shaders_write_depth.c
+++ b/examples/shaders/shaders_write_depth.c
@@ -74,7 +74,6 @@ int main(void)
// Draw
//----------------------------------------------------------------------------------
-
// Draw into our custom render texture (framebuffer)
BeginTextureMode(target);
ClearBackground(WHITE);
@@ -93,7 +92,6 @@ int main(void)
// Draw into screen our custom render texture
BeginDrawing();
ClearBackground(RAYWHITE);
-
DrawTextureRec(target.texture, (Rectangle) { 0, 0, (float)screenWidth, (float)-screenHeight }, (Vector2) { 0, 0 }, WHITE);
DrawFPS(10, 10);
EndDrawing();
diff --git a/projects/VS2022/examples/audio_mixed_processor.vcxproj b/projects/VS2022/examples/audio_mixed_processor.vcxproj
index 9adf33344..9efacd72f 100644
--- a/projects/VS2022/examples/audio_mixed_processor.vcxproj
+++ b/projects/VS2022/examples/audio_mixed_processor.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/audio_module_playing.vcxproj b/projects/VS2022/examples/audio_module_playing.vcxproj
index 32535ada7..c13247e6b 100644
--- a/projects/VS2022/examples/audio_module_playing.vcxproj
+++ b/projects/VS2022/examples/audio_module_playing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/audio_music_stream.vcxproj b/projects/VS2022/examples/audio_music_stream.vcxproj
index 1507a8458..afa3b1b65 100644
--- a/projects/VS2022/examples/audio_music_stream.vcxproj
+++ b/projects/VS2022/examples/audio_music_stream.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/audio_raw_stream.vcxproj b/projects/VS2022/examples/audio_raw_stream.vcxproj
index 48da2c9a0..3c39abf1a 100644
--- a/projects/VS2022/examples/audio_raw_stream.vcxproj
+++ b/projects/VS2022/examples/audio_raw_stream.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/audio_sound_loading.vcxproj b/projects/VS2022/examples/audio_sound_loading.vcxproj
index 65af71240..9f189225b 100644
--- a/projects/VS2022/examples/audio_sound_loading.vcxproj
+++ b/projects/VS2022/examples/audio_sound_loading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/audio_sound_multi.vcxproj b/projects/VS2022/examples/audio_sound_multi.vcxproj
index ca4eb2b38..ae53a0a72 100644
--- a/projects/VS2022/examples/audio_sound_multi.vcxproj
+++ b/projects/VS2022/examples/audio_sound_multi.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/audio_stream_effects.vcxproj b/projects/VS2022/examples/audio_stream_effects.vcxproj
index b9ac9c4df..a6e1b789c 100644
--- a/projects/VS2022/examples/audio_stream_effects.vcxproj
+++ b/projects/VS2022/examples/audio_stream_effects.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_2d_camera.vcxproj b/projects/VS2022/examples/core_2d_camera.vcxproj
index fc2a75b2d..f82685b09 100644
--- a/projects/VS2022/examples/core_2d_camera.vcxproj
+++ b/projects/VS2022/examples/core_2d_camera.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj b/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj
index 30df1d318..f3a568d0a 100644
--- a/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj
+++ b/projects/VS2022/examples/core_2d_camera_mouse_zoom.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_2d_camera_platformer.vcxproj b/projects/VS2022/examples/core_2d_camera_platformer.vcxproj
index 789998f1c..287d52594 100644
--- a/projects/VS2022/examples/core_2d_camera_platformer.vcxproj
+++ b/projects/VS2022/examples/core_2d_camera_platformer.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_2d_camera_split_screen.vcxproj b/projects/VS2022/examples/core_2d_camera_split_screen.vcxproj
index 7e63a4589..734f3789d 100644
--- a/projects/VS2022/examples/core_2d_camera_split_screen.vcxproj
+++ b/projects/VS2022/examples/core_2d_camera_split_screen.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_3d_camera_first_person.vcxproj b/projects/VS2022/examples/core_3d_camera_first_person.vcxproj
index 9831a3f6d..39f971318 100644
--- a/projects/VS2022/examples/core_3d_camera_first_person.vcxproj
+++ b/projects/VS2022/examples/core_3d_camera_first_person.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_3d_camera_free.vcxproj b/projects/VS2022/examples/core_3d_camera_free.vcxproj
index d2640f751..638f8123c 100644
--- a/projects/VS2022/examples/core_3d_camera_free.vcxproj
+++ b/projects/VS2022/examples/core_3d_camera_free.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_3d_camera_mode.vcxproj b/projects/VS2022/examples/core_3d_camera_mode.vcxproj
index 552d7fb73..fc6ec60ab 100644
--- a/projects/VS2022/examples/core_3d_camera_mode.vcxproj
+++ b/projects/VS2022/examples/core_3d_camera_mode.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_3d_camera_split_screen.vcxproj b/projects/VS2022/examples/core_3d_camera_split_screen.vcxproj
index 529aff1f1..dba830c87 100644
--- a/projects/VS2022/examples/core_3d_camera_split_screen.vcxproj
+++ b/projects/VS2022/examples/core_3d_camera_split_screen.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_3d_picking.vcxproj b/projects/VS2022/examples/core_3d_picking.vcxproj
index b38ef71d9..e0d216235 100644
--- a/projects/VS2022/examples/core_3d_picking.vcxproj
+++ b/projects/VS2022/examples/core_3d_picking.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_automation_events.vcxproj b/projects/VS2022/examples/core_automation_events.vcxproj
index 275d39c98..71bbb0730 100644
--- a/projects/VS2022/examples/core_automation_events.vcxproj
+++ b/projects/VS2022/examples/core_automation_events.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_basic_screen_manager.vcxproj b/projects/VS2022/examples/core_basic_screen_manager.vcxproj
index 8794ef92f..c741f89a9 100644
--- a/projects/VS2022/examples/core_basic_screen_manager.vcxproj
+++ b/projects/VS2022/examples/core_basic_screen_manager.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_basic_window.vcxproj b/projects/VS2022/examples/core_basic_window.vcxproj
index baec0bf2b..c8c7879ba 100644
--- a/projects/VS2022/examples/core_basic_window.vcxproj
+++ b/projects/VS2022/examples/core_basic_window.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_custom_frame_control.vcxproj b/projects/VS2022/examples/core_custom_frame_control.vcxproj
index e37b43ca1..5b69e0aaf 100644
--- a/projects/VS2022/examples/core_custom_frame_control.vcxproj
+++ b/projects/VS2022/examples/core_custom_frame_control.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_custom_logging.vcxproj b/projects/VS2022/examples/core_custom_logging.vcxproj
index 373671308..dbdd74c59 100644
--- a/projects/VS2022/examples/core_custom_logging.vcxproj
+++ b/projects/VS2022/examples/core_custom_logging.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_drop_files.vcxproj b/projects/VS2022/examples/core_drop_files.vcxproj
index 6936f2806..512681f5e 100644
--- a/projects/VS2022/examples/core_drop_files.vcxproj
+++ b/projects/VS2022/examples/core_drop_files.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_high_dpi.vcxproj b/projects/VS2022/examples/core_high_dpi.vcxproj
index 9e4fa1406..11e1b41c0 100644
--- a/projects/VS2022/examples/core_high_dpi.vcxproj
+++ b/projects/VS2022/examples/core_high_dpi.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_gamepad.vcxproj b/projects/VS2022/examples/core_input_gamepad.vcxproj
index 8b5e0274e..bdc31509b 100644
--- a/projects/VS2022/examples/core_input_gamepad.vcxproj
+++ b/projects/VS2022/examples/core_input_gamepad.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_gestures.vcxproj b/projects/VS2022/examples/core_input_gestures.vcxproj
index 56485cea3..36c5ec228 100644
--- a/projects/VS2022/examples/core_input_gestures.vcxproj
+++ b/projects/VS2022/examples/core_input_gestures.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_keys.vcxproj b/projects/VS2022/examples/core_input_keys.vcxproj
index efdf5e9cc..8b1838a00 100644
--- a/projects/VS2022/examples/core_input_keys.vcxproj
+++ b/projects/VS2022/examples/core_input_keys.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_mouse.vcxproj b/projects/VS2022/examples/core_input_mouse.vcxproj
index ab8964094..abdeca101 100644
--- a/projects/VS2022/examples/core_input_mouse.vcxproj
+++ b/projects/VS2022/examples/core_input_mouse.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_mouse_wheel.vcxproj b/projects/VS2022/examples/core_input_mouse_wheel.vcxproj
index 41ffebd82..e7975abcf 100644
--- a/projects/VS2022/examples/core_input_mouse_wheel.vcxproj
+++ b/projects/VS2022/examples/core_input_mouse_wheel.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_multitouch.vcxproj b/projects/VS2022/examples/core_input_multitouch.vcxproj
index b3b18a8bd..fb57bca70 100644
--- a/projects/VS2022/examples/core_input_multitouch.vcxproj
+++ b/projects/VS2022/examples/core_input_multitouch.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_input_virtual_controls.vcxproj b/projects/VS2022/examples/core_input_virtual_controls.vcxproj
index 63d6a6cc6..8a86ba29a 100644
--- a/projects/VS2022/examples/core_input_virtual_controls.vcxproj
+++ b/projects/VS2022/examples/core_input_virtual_controls.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_loading_thread.vcxproj b/projects/VS2022/examples/core_loading_thread.vcxproj
index 57d68768c..f9c5203cf 100644
--- a/projects/VS2022/examples/core_loading_thread.vcxproj
+++ b/projects/VS2022/examples/core_loading_thread.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_random_sequence.vcxproj b/projects/VS2022/examples/core_random_sequence.vcxproj
index de86d3f2b..5afdebe91 100644
--- a/projects/VS2022/examples/core_random_sequence.vcxproj
+++ b/projects/VS2022/examples/core_random_sequence.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_random_values.vcxproj b/projects/VS2022/examples/core_random_values.vcxproj
index 0567c4d7b..822d8c741 100644
--- a/projects/VS2022/examples/core_random_values.vcxproj
+++ b/projects/VS2022/examples/core_random_values.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_scissor_test.vcxproj b/projects/VS2022/examples/core_scissor_test.vcxproj
index 3f5a5a6e1..69b72776b 100644
--- a/projects/VS2022/examples/core_scissor_test.vcxproj
+++ b/projects/VS2022/examples/core_scissor_test.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_smooth_pixelperfect.vcxproj b/projects/VS2022/examples/core_smooth_pixelperfect.vcxproj
index 61870fac4..8abffabc0 100644
--- a/projects/VS2022/examples/core_smooth_pixelperfect.vcxproj
+++ b/projects/VS2022/examples/core_smooth_pixelperfect.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_storage_values.vcxproj b/projects/VS2022/examples/core_storage_values.vcxproj
index 14c9e07e8..782f6c89c 100644
--- a/projects/VS2022/examples/core_storage_values.vcxproj
+++ b/projects/VS2022/examples/core_storage_values.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_vr_simulator.vcxproj b/projects/VS2022/examples/core_vr_simulator.vcxproj
index eaa45c83f..a47bf5d10 100644
--- a/projects/VS2022/examples/core_vr_simulator.vcxproj
+++ b/projects/VS2022/examples/core_vr_simulator.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_window_flags.vcxproj b/projects/VS2022/examples/core_window_flags.vcxproj
index cd8fbbfea..188c2ab98 100644
--- a/projects/VS2022/examples/core_window_flags.vcxproj
+++ b/projects/VS2022/examples/core_window_flags.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_window_letterbox.vcxproj b/projects/VS2022/examples/core_window_letterbox.vcxproj
index f2678eed1..c589d623d 100644
--- a/projects/VS2022/examples/core_window_letterbox.vcxproj
+++ b/projects/VS2022/examples/core_window_letterbox.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_window_should_close.vcxproj b/projects/VS2022/examples/core_window_should_close.vcxproj
index 4135ed8c7..30c18941b 100644
--- a/projects/VS2022/examples/core_window_should_close.vcxproj
+++ b/projects/VS2022/examples/core_window_should_close.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/core_world_screen.vcxproj b/projects/VS2022/examples/core_world_screen.vcxproj
index 241e67008..8a04dc873 100644
--- a/projects/VS2022/examples/core_world_screen.vcxproj
+++ b/projects/VS2022/examples/core_world_screen.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/easings_testbed.vcxproj b/projects/VS2022/examples/easings_testbed.vcxproj
index 38736ddd1..44cd894f1 100644
--- a/projects/VS2022/examples/easings_testbed.vcxproj
+++ b/projects/VS2022/examples/easings_testbed.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/embedded_files_loading.vcxproj b/projects/VS2022/examples/embedded_files_loading.vcxproj
index 8f717a619..73c603a25 100644
--- a/projects/VS2022/examples/embedded_files_loading.vcxproj
+++ b/projects/VS2022/examples/embedded_files_loading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_animation.vcxproj b/projects/VS2022/examples/models_animation.vcxproj
index 434dea9bf..5b9399265 100644
--- a/projects/VS2022/examples/models_animation.vcxproj
+++ b/projects/VS2022/examples/models_animation.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_billboard.vcxproj b/projects/VS2022/examples/models_billboard.vcxproj
index 62eb6539c..7ee85637c 100644
--- a/projects/VS2022/examples/models_billboard.vcxproj
+++ b/projects/VS2022/examples/models_billboard.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_bone_socket.vcxproj b/projects/VS2022/examples/models_bone_socket.vcxproj
index 481b4efc3..85ccf99a4 100644
--- a/projects/VS2022/examples/models_bone_socket.vcxproj
+++ b/projects/VS2022/examples/models_bone_socket.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_box_collisions.vcxproj b/projects/VS2022/examples/models_box_collisions.vcxproj
index fc5176cd0..870e8400b 100644
--- a/projects/VS2022/examples/models_box_collisions.vcxproj
+++ b/projects/VS2022/examples/models_box_collisions.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_cubicmap.vcxproj b/projects/VS2022/examples/models_cubicmap.vcxproj
index cd92efc26..1ef1738a0 100644
--- a/projects/VS2022/examples/models_cubicmap.vcxproj
+++ b/projects/VS2022/examples/models_cubicmap.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_draw_cube_texture.vcxproj b/projects/VS2022/examples/models_draw_cube_texture.vcxproj
index d44ddabc9..a2ca31eb2 100644
--- a/projects/VS2022/examples/models_draw_cube_texture.vcxproj
+++ b/projects/VS2022/examples/models_draw_cube_texture.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_first_person_maze.vcxproj b/projects/VS2022/examples/models_first_person_maze.vcxproj
index c963da561..c3b7eb803 100644
--- a/projects/VS2022/examples/models_first_person_maze.vcxproj
+++ b/projects/VS2022/examples/models_first_person_maze.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_geometric_shapes.vcxproj b/projects/VS2022/examples/models_geometric_shapes.vcxproj
index 7c3784ac9..190ec51ab 100644
--- a/projects/VS2022/examples/models_geometric_shapes.vcxproj
+++ b/projects/VS2022/examples/models_geometric_shapes.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_gpu_skinning.vcxproj b/projects/VS2022/examples/models_gpu_skinning.vcxproj
index 7d58012e0..25b94488f 100644
--- a/projects/VS2022/examples/models_gpu_skinning.vcxproj
+++ b/projects/VS2022/examples/models_gpu_skinning.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_heightmap.vcxproj b/projects/VS2022/examples/models_heightmap.vcxproj
index 5875f0ee3..734d68565 100644
--- a/projects/VS2022/examples/models_heightmap.vcxproj
+++ b/projects/VS2022/examples/models_heightmap.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_loading.vcxproj b/projects/VS2022/examples/models_loading.vcxproj
index c0d83f258..e81631339 100644
--- a/projects/VS2022/examples/models_loading.vcxproj
+++ b/projects/VS2022/examples/models_loading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_loading_gltf.vcxproj b/projects/VS2022/examples/models_loading_gltf.vcxproj
index a9989ef3b..29b14abcd 100644
--- a/projects/VS2022/examples/models_loading_gltf.vcxproj
+++ b/projects/VS2022/examples/models_loading_gltf.vcxproj
@@ -558,9 +558,6 @@
-
-
-
{e89d61ac-55de-4482-afd4-df7242ebc859}
diff --git a/projects/VS2022/examples/models_loading_m3d.vcxproj b/projects/VS2022/examples/models_loading_m3d.vcxproj
index d6110af04..61e647ffb 100644
--- a/projects/VS2022/examples/models_loading_m3d.vcxproj
+++ b/projects/VS2022/examples/models_loading_m3d.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_loading_vox.vcxproj b/projects/VS2022/examples/models_loading_vox.vcxproj
index 60b961c05..3490fd377 100644
--- a/projects/VS2022/examples/models_loading_vox.vcxproj
+++ b/projects/VS2022/examples/models_loading_vox.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_mesh_generation.vcxproj b/projects/VS2022/examples/models_mesh_generation.vcxproj
index 42dbb3e6a..67fe94609 100644
--- a/projects/VS2022/examples/models_mesh_generation.vcxproj
+++ b/projects/VS2022/examples/models_mesh_generation.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_mesh_picking.vcxproj b/projects/VS2022/examples/models_mesh_picking.vcxproj
index 937d7756f..689816721 100644
--- a/projects/VS2022/examples/models_mesh_picking.vcxproj
+++ b/projects/VS2022/examples/models_mesh_picking.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_orthographic_projection.vcxproj b/projects/VS2022/examples/models_orthographic_projection.vcxproj
index 0a001c1bf..fad2e9786 100644
--- a/projects/VS2022/examples/models_orthographic_projection.vcxproj
+++ b/projects/VS2022/examples/models_orthographic_projection.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_rlgl_solar_system.vcxproj b/projects/VS2022/examples/models_rlgl_solar_system.vcxproj
index 0386214ba..6d0fa7cfd 100644
--- a/projects/VS2022/examples/models_rlgl_solar_system.vcxproj
+++ b/projects/VS2022/examples/models_rlgl_solar_system.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_skybox.vcxproj b/projects/VS2022/examples/models_skybox.vcxproj
index 55856ab2c..3fbdc170e 100644
--- a/projects/VS2022/examples/models_skybox.vcxproj
+++ b/projects/VS2022/examples/models_skybox.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_waving_cubes.vcxproj b/projects/VS2022/examples/models_waving_cubes.vcxproj
index f7b927290..6b1d7e748 100644
--- a/projects/VS2022/examples/models_waving_cubes.vcxproj
+++ b/projects/VS2022/examples/models_waving_cubes.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj b/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj
index d4f9f16a0..26b1a9c6f 100644
--- a/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj
+++ b/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/rlgl_compute_shaders.vcxproj b/projects/VS2022/examples/rlgl_compute_shaders.vcxproj
index 0dc6301c7..48e5b20f6 100644
--- a/projects/VS2022/examples/rlgl_compute_shaders.vcxproj
+++ b/projects/VS2022/examples/rlgl_compute_shaders.vcxproj
@@ -557,7 +557,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_basic_lighting.vcxproj b/projects/VS2022/examples/shaders_basic_lighting.vcxproj
index febc38190..b0941b092 100644
--- a/projects/VS2022/examples/shaders_basic_lighting.vcxproj
+++ b/projects/VS2022/examples/shaders_basic_lighting.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_custom_uniform.vcxproj b/projects/VS2022/examples/shaders_custom_uniform.vcxproj
index 03b0a292f..3cf7a092e 100644
--- a/projects/VS2022/examples/shaders_custom_uniform.vcxproj
+++ b/projects/VS2022/examples/shaders_custom_uniform.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_deferred_render.vcxproj b/projects/VS2022/examples/shaders_deferred_render.vcxproj
index b9750389c..1ac650091 100644
--- a/projects/VS2022/examples/shaders_deferred_render.vcxproj
+++ b/projects/VS2022/examples/shaders_deferred_render.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_eratosthenes.vcxproj b/projects/VS2022/examples/shaders_eratosthenes.vcxproj
index 1efb47922..a8050804c 100644
--- a/projects/VS2022/examples/shaders_eratosthenes.vcxproj
+++ b/projects/VS2022/examples/shaders_eratosthenes.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_fog.vcxproj b/projects/VS2022/examples/shaders_fog.vcxproj
index eddd00e7f..0c00c5124 100644
--- a/projects/VS2022/examples/shaders_fog.vcxproj
+++ b/projects/VS2022/examples/shaders_fog.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_hot_reloading.vcxproj b/projects/VS2022/examples/shaders_hot_reloading.vcxproj
index 29820341e..95e1842d1 100644
--- a/projects/VS2022/examples/shaders_hot_reloading.vcxproj
+++ b/projects/VS2022/examples/shaders_hot_reloading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_hybrid_render.vcxproj b/projects/VS2022/examples/shaders_hybrid_render.vcxproj
index 799e4e40b..4072e3988 100644
--- a/projects/VS2022/examples/shaders_hybrid_render.vcxproj
+++ b/projects/VS2022/examples/shaders_hybrid_render.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_julia_set.vcxproj b/projects/VS2022/examples/shaders_julia_set.vcxproj
index 21ca5d36b..c8027f0e5 100644
--- a/projects/VS2022/examples/shaders_julia_set.vcxproj
+++ b/projects/VS2022/examples/shaders_julia_set.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_mesh_instancing.vcxproj b/projects/VS2022/examples/shaders_mesh_instancing.vcxproj
index 00f3de055..e5727f629 100644
--- a/projects/VS2022/examples/shaders_mesh_instancing.vcxproj
+++ b/projects/VS2022/examples/shaders_mesh_instancing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_model_shader.vcxproj b/projects/VS2022/examples/shaders_model_shader.vcxproj
index a558602bc..bf8fe16fe 100644
--- a/projects/VS2022/examples/shaders_model_shader.vcxproj
+++ b/projects/VS2022/examples/shaders_model_shader.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_multi_sample2d.vcxproj b/projects/VS2022/examples/shaders_multi_sample2d.vcxproj
index 0dd3046a5..61be03f08 100644
--- a/projects/VS2022/examples/shaders_multi_sample2d.vcxproj
+++ b/projects/VS2022/examples/shaders_multi_sample2d.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_palette_switch.vcxproj b/projects/VS2022/examples/shaders_palette_switch.vcxproj
index c427b3c01..34ed5e7b3 100644
--- a/projects/VS2022/examples/shaders_palette_switch.vcxproj
+++ b/projects/VS2022/examples/shaders_palette_switch.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_postprocessing.vcxproj b/projects/VS2022/examples/shaders_postprocessing.vcxproj
index edb3a8869..4b15a06e2 100644
--- a/projects/VS2022/examples/shaders_postprocessing.vcxproj
+++ b/projects/VS2022/examples/shaders_postprocessing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_raymarching.vcxproj b/projects/VS2022/examples/shaders_raymarching.vcxproj
index 6845f7de4..c796134bc 100644
--- a/projects/VS2022/examples/shaders_raymarching.vcxproj
+++ b/projects/VS2022/examples/shaders_raymarching.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_rounded_rectangle.vcxproj b/projects/VS2022/examples/shaders_rounded_rectangle.vcxproj
index 6c1a215e2..d67b3ee2d 100644
--- a/projects/VS2022/examples/shaders_rounded_rectangle.vcxproj
+++ b/projects/VS2022/examples/shaders_rounded_rectangle.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_shadowmap.vcxproj b/projects/VS2022/examples/shaders_shadowmap.vcxproj
index 8c10615ed..48dbcb3e5 100644
--- a/projects/VS2022/examples/shaders_shadowmap.vcxproj
+++ b/projects/VS2022/examples/shaders_shadowmap.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_shapes_textures.vcxproj b/projects/VS2022/examples/shaders_shapes_textures.vcxproj
index e27f2f944..6d1dc545e 100644
--- a/projects/VS2022/examples/shaders_shapes_textures.vcxproj
+++ b/projects/VS2022/examples/shaders_shapes_textures.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_simple_mask.vcxproj b/projects/VS2022/examples/shaders_simple_mask.vcxproj
index bed9ea8de..b4f402694 100644
--- a/projects/VS2022/examples/shaders_simple_mask.vcxproj
+++ b/projects/VS2022/examples/shaders_simple_mask.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_spotlight.vcxproj b/projects/VS2022/examples/shaders_spotlight.vcxproj
index c137e618e..39545d2a6 100644
--- a/projects/VS2022/examples/shaders_spotlight.vcxproj
+++ b/projects/VS2022/examples/shaders_spotlight.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_texture_drawing.vcxproj b/projects/VS2022/examples/shaders_texture_drawing.vcxproj
index cebe69330..744642015 100644
--- a/projects/VS2022/examples/shaders_texture_drawing.vcxproj
+++ b/projects/VS2022/examples/shaders_texture_drawing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_texture_outline.vcxproj b/projects/VS2022/examples/shaders_texture_outline.vcxproj
index ceb3be8f8..8d608b2a6 100644
--- a/projects/VS2022/examples/shaders_texture_outline.vcxproj
+++ b/projects/VS2022/examples/shaders_texture_outline.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_texture_tiling.vcxproj b/projects/VS2022/examples/shaders_texture_tiling.vcxproj
index 5c733ae99..18220515b 100644
--- a/projects/VS2022/examples/shaders_texture_tiling.vcxproj
+++ b/projects/VS2022/examples/shaders_texture_tiling.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_texture_waves.vcxproj b/projects/VS2022/examples/shaders_texture_waves.vcxproj
index b7510fcd2..d9cfa3e6d 100644
--- a/projects/VS2022/examples/shaders_texture_waves.vcxproj
+++ b/projects/VS2022/examples/shaders_texture_waves.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_vertex_displacement.vcxproj b/projects/VS2022/examples/shaders_vertex_displacement.vcxproj
index 44d6deeaa..0a770afa5 100644
--- a/projects/VS2022/examples/shaders_vertex_displacement.vcxproj
+++ b/projects/VS2022/examples/shaders_vertex_displacement.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shaders_view_depth.vcxproj b/projects/VS2022/examples/shaders_view_depth.vcxproj
new file mode 100644
index 000000000..859628de8
--- /dev/null
+++ b/projects/VS2022/examples/shaders_view_depth.vcxproj
@@ -0,0 +1,569 @@
+
+
+
+
+ Debug.DLL
+ ARM64
+
+
+ Debug.DLL
+ Win32
+
+
+ Debug.DLL
+ x64
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release.DLL
+ ARM64
+
+
+ Release.DLL
+ Win32
+
+
+ Release.DLL
+ x64
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}
+ Win32Proj
+ shaders_view_depth
+ 10.0
+ shaders_view_depth
+
+
+
+ Application
+ true
+ $(DefaultPlatformToolset)
+ Unicode
+
+
+ Application
+ true
+ $(DefaultPlatformToolset)
+ Unicode
+
+
+ Application
+ true
+ $(DefaultPlatformToolset)
+ Unicode
+
+
+ Application
+ true
+ $(DefaultPlatformToolset)
+ Unicode
+
+
+ Application
+ true
+ $(DefaultPlatformToolset)
+ Unicode
+
+
+ Application
+ true
+ $(DefaultPlatformToolset)
+ Unicode
+
+
+ Application
+ false
+ $(DefaultPlatformToolset)
+ true
+ Unicode
+
+
+ Application
+ false
+ $(DefaultPlatformToolset)
+ true
+ Unicode
+
+
+ Application
+ false
+ $(DefaultPlatformToolset)
+ true
+ Unicode
+
+
+ Application
+ false
+ $(DefaultPlatformToolset)
+ true
+ Unicode
+
+
+ Application
+ false
+ $(DefaultPlatformToolset)
+ true
+ Unicode
+
+
+ Application
+ false
+ $(DefaultPlatformToolset)
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ true
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ true
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ true
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ true
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ true
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ false
+ $(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)\
+ $(SolutionDir)\build\$(ProjectName)\obj\$(Platform)\$(Configuration)\
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+ $(SolutionDir)..\..\examples\shaders
+ WindowsLocalDebugger
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+ CompileAsC
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+
+
+ Console
+ true
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+ CompileAsC
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ /FS %(AdditionalOptions)
+
+
+ Console
+ true
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+ CompileAsC
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ /FS %(AdditionalOptions)
+
+
+ Console
+ true
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+ CompileAsC
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+
+
+ Console
+ true
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+ Copy Debug DLL to output directory
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+ CompileAsC
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+
+
+ Console
+ true
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+ Copy Debug DLL to output directory
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;PLATFORM_DESKTOP;%(PreprocessorDefinitions)
+ CompileAsC
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+
+
+ Console
+ true
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+ Copy Debug DLL to output directory
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ CompileAsC
+ true
+
+
+ Console
+ true
+ true
+ true
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ CompileAsC
+ true
+
+
+ Console
+ true
+ true
+ true
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ CompileAsC
+ true
+
+
+ Console
+ true
+ true
+ true
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ CompileAsC
+ true
+
+
+ Console
+ true
+ true
+ true
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+
+
+ xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+
+
+ Copy Release DLL to output directory
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ CompileAsC
+ true
+
+
+ Console
+ true
+ true
+ true
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+
+
+ xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+
+
+ Copy Release DLL to output directory
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);PLATFORM_DESKTOP
+ $(SolutionDir)..\..\src;%(AdditionalIncludeDirectories)
+ CompileAsC
+ true
+
+
+ Console
+ true
+ true
+ true
+ raylib.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winmm.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+ $(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\
+
+
+ xcopy /y /d "$(SolutionDir)\build\raylib\bin\$(Platform)\$(Configuration)\raylib.dll" "$(SolutionDir)\build\$(ProjectName)\bin\$(Platform)\$(Configuration)"
+
+
+ Copy Release DLL to output directory
+
+
+
+
+
+
+
+
+
+
+ {e89d61ac-55de-4482-afd4-df7242ebc859}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/projects/VS2022/examples/shaders_write_depth.vcxproj b/projects/VS2022/examples/shaders_write_depth.vcxproj
index 836ab1a5c..4c19cd4b2 100644
--- a/projects/VS2022/examples/shaders_write_depth.vcxproj
+++ b/projects/VS2022/examples/shaders_write_depth.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_basic_shapes.vcxproj b/projects/VS2022/examples/shapes_basic_shapes.vcxproj
index ba3805967..6e30a1fca 100644
--- a/projects/VS2022/examples/shapes_basic_shapes.vcxproj
+++ b/projects/VS2022/examples/shapes_basic_shapes.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_bouncing_ball.vcxproj b/projects/VS2022/examples/shapes_bouncing_ball.vcxproj
index 542a62165..162427c53 100644
--- a/projects/VS2022/examples/shapes_bouncing_ball.vcxproj
+++ b/projects/VS2022/examples/shapes_bouncing_ball.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_collision_area.vcxproj b/projects/VS2022/examples/shapes_collision_area.vcxproj
index 45230ca39..5088493ec 100644
--- a/projects/VS2022/examples/shapes_collision_area.vcxproj
+++ b/projects/VS2022/examples/shapes_collision_area.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_colors_palette.vcxproj b/projects/VS2022/examples/shapes_colors_palette.vcxproj
index 6f9234444..97b7f262f 100644
--- a/projects/VS2022/examples/shapes_colors_palette.vcxproj
+++ b/projects/VS2022/examples/shapes_colors_palette.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj b/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj
index 6a2278000..7189288fd 100644
--- a/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj
+++ b/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj b/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj
index 9ad7fd3e1..4317cb1cb 100644
--- a/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj
+++ b/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_draw_ring.vcxproj b/projects/VS2022/examples/shapes_draw_ring.vcxproj
index 526006f3d..a22feb5e4 100644
--- a/projects/VS2022/examples/shapes_draw_ring.vcxproj
+++ b/projects/VS2022/examples/shapes_draw_ring.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj b/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj
index c85bb7493..682d29c96 100644
--- a/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj
+++ b/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_easings_box_anim.vcxproj b/projects/VS2022/examples/shapes_easings_box_anim.vcxproj
index e9fbdbec3..27b85b82b 100644
--- a/projects/VS2022/examples/shapes_easings_box_anim.vcxproj
+++ b/projects/VS2022/examples/shapes_easings_box_anim.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj b/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj
index 71ec5198e..cf14665b8 100644
--- a/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj
+++ b/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_following_eyes.vcxproj b/projects/VS2022/examples/shapes_following_eyes.vcxproj
index c4ff36235..1527bb0ae 100644
--- a/projects/VS2022/examples/shapes_following_eyes.vcxproj
+++ b/projects/VS2022/examples/shapes_following_eyes.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_lines_bezier.vcxproj b/projects/VS2022/examples/shapes_lines_bezier.vcxproj
index b07622ac2..86af34f5a 100644
--- a/projects/VS2022/examples/shapes_lines_bezier.vcxproj
+++ b/projects/VS2022/examples/shapes_lines_bezier.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_logo_raylib.vcxproj b/projects/VS2022/examples/shapes_logo_raylib.vcxproj
index 86f4d161f..c325c6ea3 100644
--- a/projects/VS2022/examples/shapes_logo_raylib.vcxproj
+++ b/projects/VS2022/examples/shapes_logo_raylib.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj b/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj
index a1553a422..9b6841c0b 100644
--- a/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj
+++ b/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_rectangle_advanced.vcxproj b/projects/VS2022/examples/shapes_rectangle_advanced.vcxproj
index 809254c83..8f46e7360 100644
--- a/projects/VS2022/examples/shapes_rectangle_advanced.vcxproj
+++ b/projects/VS2022/examples/shapes_rectangle_advanced.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj b/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj
index fadd78ae8..d632f7eef 100644
--- a/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj
+++ b/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_splines_drawing.vcxproj b/projects/VS2022/examples/shapes_splines_drawing.vcxproj
index 249b40d22..d4f29e67c 100644
--- a/projects/VS2022/examples/shapes_splines_drawing.vcxproj
+++ b/projects/VS2022/examples/shapes_splines_drawing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/shapes_top_down_lights.vcxproj b/projects/VS2022/examples/shapes_top_down_lights.vcxproj
index d8b1817f7..1eb11724e 100644
--- a/projects/VS2022/examples/shapes_top_down_lights.vcxproj
+++ b/projects/VS2022/examples/shapes_top_down_lights.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_codepoints_loading.vcxproj b/projects/VS2022/examples/text_codepoints_loading.vcxproj
index f56507a90..f92d39c61 100644
--- a/projects/VS2022/examples/text_codepoints_loading.vcxproj
+++ b/projects/VS2022/examples/text_codepoints_loading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_draw_3d.vcxproj b/projects/VS2022/examples/text_draw_3d.vcxproj
index f21549544..c3dd4a37d 100644
--- a/projects/VS2022/examples/text_draw_3d.vcxproj
+++ b/projects/VS2022/examples/text_draw_3d.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_font_filters.vcxproj b/projects/VS2022/examples/text_font_filters.vcxproj
index 80dc4a786..962695d9f 100644
--- a/projects/VS2022/examples/text_font_filters.vcxproj
+++ b/projects/VS2022/examples/text_font_filters.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_font_loading.vcxproj b/projects/VS2022/examples/text_font_loading.vcxproj
index 1cdd7413f..0a7f20d93 100644
--- a/projects/VS2022/examples/text_font_loading.vcxproj
+++ b/projects/VS2022/examples/text_font_loading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_font_sdf.vcxproj b/projects/VS2022/examples/text_font_sdf.vcxproj
index 967273ee7..3bc5d8a59 100644
--- a/projects/VS2022/examples/text_font_sdf.vcxproj
+++ b/projects/VS2022/examples/text_font_sdf.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_font_spritefont.vcxproj b/projects/VS2022/examples/text_font_spritefont.vcxproj
index 4c73d87cd..7ea74daa8 100644
--- a/projects/VS2022/examples/text_font_spritefont.vcxproj
+++ b/projects/VS2022/examples/text_font_spritefont.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_format_text.vcxproj b/projects/VS2022/examples/text_format_text.vcxproj
index 5ca406ef8..2b7d250e4 100644
--- a/projects/VS2022/examples/text_format_text.vcxproj
+++ b/projects/VS2022/examples/text_format_text.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_input_box.vcxproj b/projects/VS2022/examples/text_input_box.vcxproj
index 6655dff57..6e1db62f6 100644
--- a/projects/VS2022/examples/text_input_box.vcxproj
+++ b/projects/VS2022/examples/text_input_box.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_raylib_fonts.vcxproj b/projects/VS2022/examples/text_raylib_fonts.vcxproj
index 29847ed58..4ca414afd 100644
--- a/projects/VS2022/examples/text_raylib_fonts.vcxproj
+++ b/projects/VS2022/examples/text_raylib_fonts.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_rectangle_bounds.vcxproj b/projects/VS2022/examples/text_rectangle_bounds.vcxproj
index 9c379294d..3175bd09b 100644
--- a/projects/VS2022/examples/text_rectangle_bounds.vcxproj
+++ b/projects/VS2022/examples/text_rectangle_bounds.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_unicode.vcxproj b/projects/VS2022/examples/text_unicode.vcxproj
index 4dbc45524..26a679de1 100644
--- a/projects/VS2022/examples/text_unicode.vcxproj
+++ b/projects/VS2022/examples/text_unicode.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/text_writing_anim.vcxproj b/projects/VS2022/examples/text_writing_anim.vcxproj
index 0b685a32b..2920eaf5b 100644
--- a/projects/VS2022/examples/text_writing_anim.vcxproj
+++ b/projects/VS2022/examples/text_writing_anim.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_background_scrolling.vcxproj b/projects/VS2022/examples/textures_background_scrolling.vcxproj
index 2004a1338..ab8cf2248 100644
--- a/projects/VS2022/examples/textures_background_scrolling.vcxproj
+++ b/projects/VS2022/examples/textures_background_scrolling.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_blend_modes.vcxproj b/projects/VS2022/examples/textures_blend_modes.vcxproj
index c7aaeaa00..4ada1c3cd 100644
--- a/projects/VS2022/examples/textures_blend_modes.vcxproj
+++ b/projects/VS2022/examples/textures_blend_modes.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_bunnymark.vcxproj b/projects/VS2022/examples/textures_bunnymark.vcxproj
index d3c1ee256..0c230fd13 100644
--- a/projects/VS2022/examples/textures_bunnymark.vcxproj
+++ b/projects/VS2022/examples/textures_bunnymark.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_draw_tiled.vcxproj b/projects/VS2022/examples/textures_draw_tiled.vcxproj
index 2566985d7..209a12091 100644
--- a/projects/VS2022/examples/textures_draw_tiled.vcxproj
+++ b/projects/VS2022/examples/textures_draw_tiled.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_fog_of_war.vcxproj b/projects/VS2022/examples/textures_fog_of_war.vcxproj
index 46377acc1..9ab2544c0 100644
--- a/projects/VS2022/examples/textures_fog_of_war.vcxproj
+++ b/projects/VS2022/examples/textures_fog_of_war.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_gif_player.vcxproj b/projects/VS2022/examples/textures_gif_player.vcxproj
index 89c7a37f6..96b028a03 100644
--- a/projects/VS2022/examples/textures_gif_player.vcxproj
+++ b/projects/VS2022/examples/textures_gif_player.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_image_drawing.vcxproj b/projects/VS2022/examples/textures_image_drawing.vcxproj
index 27bba85ef..8aca17c08 100644
--- a/projects/VS2022/examples/textures_image_drawing.vcxproj
+++ b/projects/VS2022/examples/textures_image_drawing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_image_generation.vcxproj b/projects/VS2022/examples/textures_image_generation.vcxproj
index a780b82de..1f32eaabe 100644
--- a/projects/VS2022/examples/textures_image_generation.vcxproj
+++ b/projects/VS2022/examples/textures_image_generation.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_image_loading.vcxproj b/projects/VS2022/examples/textures_image_loading.vcxproj
index c772c064e..2d7f98faf 100644
--- a/projects/VS2022/examples/textures_image_loading.vcxproj
+++ b/projects/VS2022/examples/textures_image_loading.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_image_processing.vcxproj b/projects/VS2022/examples/textures_image_processing.vcxproj
index 604926e8b..f91f8d70c 100644
--- a/projects/VS2022/examples/textures_image_processing.vcxproj
+++ b/projects/VS2022/examples/textures_image_processing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_image_text.vcxproj b/projects/VS2022/examples/textures_image_text.vcxproj
index 6c20b084c..97f17cb22 100644
--- a/projects/VS2022/examples/textures_image_text.vcxproj
+++ b/projects/VS2022/examples/textures_image_text.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_logo_raylib.vcxproj b/projects/VS2022/examples/textures_logo_raylib.vcxproj
index d68b61d23..0b97aeb4a 100644
--- a/projects/VS2022/examples/textures_logo_raylib.vcxproj
+++ b/projects/VS2022/examples/textures_logo_raylib.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_mouse_painting.vcxproj b/projects/VS2022/examples/textures_mouse_painting.vcxproj
index dc9546e62..a164c5cc7 100644
--- a/projects/VS2022/examples/textures_mouse_painting.vcxproj
+++ b/projects/VS2022/examples/textures_mouse_painting.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_npatch_drawing.vcxproj b/projects/VS2022/examples/textures_npatch_drawing.vcxproj
index e7482f90c..0759bc180 100644
--- a/projects/VS2022/examples/textures_npatch_drawing.vcxproj
+++ b/projects/VS2022/examples/textures_npatch_drawing.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_particles_blending.vcxproj b/projects/VS2022/examples/textures_particles_blending.vcxproj
index 8b3d96fe9..9d9dfb414 100644
--- a/projects/VS2022/examples/textures_particles_blending.vcxproj
+++ b/projects/VS2022/examples/textures_particles_blending.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_polygon.vcxproj b/projects/VS2022/examples/textures_polygon.vcxproj
index f655da8c0..3c15bc8f3 100644
--- a/projects/VS2022/examples/textures_polygon.vcxproj
+++ b/projects/VS2022/examples/textures_polygon.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_raw_data.vcxproj b/projects/VS2022/examples/textures_raw_data.vcxproj
index 705cdd93f..8040d5fe6 100644
--- a/projects/VS2022/examples/textures_raw_data.vcxproj
+++ b/projects/VS2022/examples/textures_raw_data.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_sprite_anim.vcxproj b/projects/VS2022/examples/textures_sprite_anim.vcxproj
index ef69ed173..ee2259dfa 100644
--- a/projects/VS2022/examples/textures_sprite_anim.vcxproj
+++ b/projects/VS2022/examples/textures_sprite_anim.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_sprite_button.vcxproj b/projects/VS2022/examples/textures_sprite_button.vcxproj
index 058bad757..ae15d9aec 100644
--- a/projects/VS2022/examples/textures_sprite_button.vcxproj
+++ b/projects/VS2022/examples/textures_sprite_button.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_sprite_explosion.vcxproj b/projects/VS2022/examples/textures_sprite_explosion.vcxproj
index 066965dc5..0ceb1e3af 100644
--- a/projects/VS2022/examples/textures_sprite_explosion.vcxproj
+++ b/projects/VS2022/examples/textures_sprite_explosion.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj b/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj
index f3150aea7..d0ddbdf66 100644
--- a/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj
+++ b/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_svg_loading.vcxproj b/projects/VS2022/examples/textures_svg_loading.vcxproj
index 8b59d9526..fc2375aff 100644
--- a/projects/VS2022/examples/textures_svg_loading.vcxproj
+++ b/projects/VS2022/examples/textures_svg_loading.vcxproj
@@ -377,7 +377,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_textured_curve.vcxproj b/projects/VS2022/examples/textures_textured_curve.vcxproj
index f8b720335..cd87a0536 100644
--- a/projects/VS2022/examples/textures_textured_curve.vcxproj
+++ b/projects/VS2022/examples/textures_textured_curve.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/examples/textures_to_image.vcxproj b/projects/VS2022/examples/textures_to_image.vcxproj
index 41e7faf71..07271a554 100644
--- a/projects/VS2022/examples/textures_to_image.vcxproj
+++ b/projects/VS2022/examples/textures_to_image.vcxproj
@@ -556,7 +556,7 @@
-
+
diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln
index 66c385ff1..4f8c3beea 100644
--- a/projects/VS2022/raylib.sln
+++ b/projects/VS2022/raylib.sln
@@ -271,6 +271,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_loading_m3d", "examp
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_write_depth", "examples\shaders_write_depth.vcxproj", "{70B35F59-AFC2-4D8F-8833-5314D2047A81}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_view_depth", "examples\shaders_view_depth.vcxproj", "{DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}"
+EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_hybrid_render", "examples\shaders_hybrid_render.vcxproj", "{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "audio_sound_multi", "examples\audio_sound_multi.vcxproj", "{F81C5819-85B4-4D2E-B6DC-104A7634461B}"
@@ -759,6 +761,30 @@ Global
{0199E349-0701-40BC-8A7F-06A54FFA3E7C}.Release|x64.Build.0 = Release|x64
{0199E349-0701-40BC-8A7F-06A54FFA3E7C}.Release|x86.ActiveCfg = Release|Win32
{0199E349-0701-40BC-8A7F-06A54FFA3E7C}.Release|x86.Build.0 = Release|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug|ARM64.Build.0 = Debug|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug|x64.ActiveCfg = Debug|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug|x64.Build.0 = Debug|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug|x86.ActiveCfg = Debug|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Debug|x86.Build.0 = Debug|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release.DLL|x64.Build.0 = Release.DLL|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release.DLL|x86.Build.0 = Release.DLL|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release|ARM64.ActiveCfg = Release|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release|ARM64.Build.0 = Release|ARM64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release|x64.ActiveCfg = Release|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release|x64.Build.0 = Release|x64
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release|x86.ActiveCfg = Release|Win32
+ {BCB71111-8505-4B35-8CEF-EC6115DC9D4D}.Release|x86.Build.0 = Release|Win32
{8F19E3DA-8929-4000-87B5-3CA6929636CC}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
{8F19E3DA-8929-4000-87B5-3CA6929636CC}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
{8F19E3DA-8929-4000-87B5-3CA6929636CC}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
@@ -3291,6 +3317,30 @@ Global
{70B35F59-AFC2-4D8F-8833-5314D2047A81}.Release|x64.Build.0 = Release|x64
{70B35F59-AFC2-4D8F-8833-5314D2047A81}.Release|x86.ActiveCfg = Release|Win32
{70B35F59-AFC2-4D8F-8833-5314D2047A81}.Release|x86.Build.0 = Release|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug.DLL|x64.Build.0 = Debug.DLL|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug.DLL|x86.ActiveCfg = Debug.DLL|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug.DLL|x86.Build.0 = Debug.DLL|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug|ARM64.Build.0 = Debug|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug|x64.ActiveCfg = Debug|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug|x64.Build.0 = Debug|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug|x86.ActiveCfg = Debug|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Debug|x86.Build.0 = Debug|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release.DLL|ARM64.ActiveCfg = Release.DLL|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release.DLL|ARM64.Build.0 = Release.DLL|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release.DLL|x64.ActiveCfg = Release.DLL|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release.DLL|x64.Build.0 = Release.DLL|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release.DLL|x86.ActiveCfg = Release.DLL|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release.DLL|x86.Build.0 = Release.DLL|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release|ARM64.ActiveCfg = Release|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release|ARM64.Build.0 = Release|ARM64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release|x64.ActiveCfg = Release|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release|x64.Build.0 = Release|x64
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release|x86.ActiveCfg = Release|Win32
+ {DFDE29A7-4F54-455D-B20B-D2BF79D3B3F7}.Release|x86.Build.0 = Release|Win32
{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}.Debug.DLL|ARM64.ActiveCfg = Debug.DLL|ARM64
{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}.Debug.DLL|ARM64.Build.0 = Debug.DLL|ARM64
{3755E9F4-CB48-4EC3-B561-3B85964EBDEF}.Debug.DLL|x64.ActiveCfg = Debug.DLL|x64
diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c
index a08033a93..239df0657 100644
--- a/src/platforms/rcore_desktop_glfw.c
+++ b/src/platforms/rcore_desktop_glfw.c
@@ -307,6 +307,8 @@ void RestoreWindow(void)
// Set window configuration state using flags
void SetWindowState(unsigned int flags)
{
+ if (!CORE.Window.ready) TRACELOG(LOG_WARNING, "WINDOW: SetWindowState does nothing before window initialization, Use \"SetConfigFlags\" instead");
+
// Check previous state and requested state to apply required changes
// NOTE: In most cases the functions already change the flags internally
@@ -1759,7 +1761,7 @@ static void WindowSizeCallback(GLFWwindow *window, int width, int height)
width = (int)(width/GetWindowScaleDPI().x);
height = (int)(height/GetWindowScaleDPI().y);
}
-
+
// Set render size
CORE.Window.render.width = width;
CORE.Window.render.height = height;
diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c
index 9a5841c83..92e3def05 100644
--- a/src/platforms/rcore_desktop_rgfw.c
+++ b/src/platforms/rcore_desktop_rgfw.c
@@ -350,6 +350,8 @@ void RestoreWindow(void)
// Set window configuration state using flags
void SetWindowState(unsigned int flags)
{
+ if (!CORE.Window.ready) TRACELOG(LOG_WARNING, "WINDOW: SetWindowState does nothing before window initialization, Use \"SetConfigFlags\" instead");
+
CORE.Window.flags |= flags;
if (flags & FLAG_VSYNC_HINT)
diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c
index 517e43914..1621dd2a5 100644
--- a/src/platforms/rcore_desktop_sdl.c
+++ b/src/platforms/rcore_desktop_sdl.c
@@ -518,6 +518,8 @@ void RestoreWindow(void)
// Set window configuration state using flags
void SetWindowState(unsigned int flags)
{
+ if (!CORE.Window.ready) TRACELOG(LOG_WARNING, "WINDOW: SetWindowState does nothing before window initialization, Use \"SetConfigFlags\" instead");
+
CORE.Window.flags |= flags;
if (flags & FLAG_VSYNC_HINT)
@@ -1363,10 +1365,7 @@ void PollInputEvents(void)
for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.previousTouchState[i] = CORE.Input.Touch.currentTouchState[i];
// Map touch position to mouse position for convenience
- if (CORE.Input.Touch.pointCount == 0)
- {
- CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
- }
+ if (CORE.Input.Touch.pointCount == 0) CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE
bool realTouch = false; // Flag to differentiate real touch gestures from mouse ones
diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c
index b3bb43b5b..bf5a6ba5a 100644
--- a/src/platforms/rcore_web.c
+++ b/src/platforms/rcore_web.c
@@ -364,6 +364,8 @@ void RestoreWindow(void)
// Set window configuration state using flags
void SetWindowState(unsigned int flags)
{
+ if (!CORE.Window.ready) TRACELOG(LOG_WARNING, "WINDOW: SetWindowState does nothing before window initialization, Use \"SetConfigFlags\" instead");
+
// Check previous state and requested state to apply required changes
// NOTE: In most cases the functions already change the flags internally
diff --git a/src/raudio.c b/src/raudio.c
index 2b6628a24..66d337567 100644
--- a/src/raudio.c
+++ b/src/raudio.c
@@ -2104,8 +2104,12 @@ AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, un
// The size of a streaming buffer must be at least double the size of a period
unsigned int periodSize = AUDIO.System.device.playback.internalPeriodSizeInFrames;
- // If the buffer is not set, compute one that would give us a buffer good enough for a decent frame rate
- unsigned int subBufferSize = (AUDIO.Buffer.defaultSize == 0)? AUDIO.System.device.sampleRate/30 : AUDIO.Buffer.defaultSize;
+ // If the buffer is not set, compute one that would give us a buffer good enough for a decent frame rate at the device bit size/rate
+ int deviceBitsPerSample = AUDIO.System.device.playback.format;
+ if (deviceBitsPerSample > 4) deviceBitsPerSample = 4;
+ deviceBitsPerSample *= AUDIO.System.device.playback.channels;
+
+ unsigned int subBufferSize = (AUDIO.Buffer.defaultSize == 0) ? (AUDIO.System.device.sampleRate/30*deviceBitsPerSample) : AUDIO.Buffer.defaultSize;
if (subBufferSize < periodSize) subBufferSize = periodSize;
diff --git a/src/rcore.c b/src/rcore.c
index 65c37a23c..5b2679c95 100644
--- a/src/rcore.c
+++ b/src/rcore.c
@@ -1879,7 +1879,10 @@ void TakeScreenshot(const char *fileName)
// Security check to (partially) avoid malicious code
if (strchr(fileName, '\'') != NULL) { TRACELOG(LOG_WARNING, "SYSTEM: Provided fileName could be potentially malicious, avoid [\'] character"); return; }
- Vector2 scale = GetWindowScaleDPI();
+ // Apply a scale if we are doing HIGHDPI auto-scaling
+ Vector2 scale = { 1.0f, 1.0f };
+ if (IsWindowState(FLAG_WINDOW_HIGHDPI)) scale = GetWindowScaleDPI();
+
unsigned char *imgData = rlReadScreenPixels((int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y));
Image image = { imgData, (int)((float)CORE.Window.render.width*scale.x), (int)((float)CORE.Window.render.height*scale.y), 1, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 };
@@ -1902,6 +1905,8 @@ void TakeScreenshot(const char *fileName)
// To configure window states after creation, just use SetWindowState()
void SetConfigFlags(unsigned int flags)
{
+ if (CORE.Window.ready) TRACELOG(LOG_WARNING, "WINDOW: SetConfigFlags called after window initialization, Use \"SetWindowState\" to set flags instead");
+
// Selected flags are set but not evaluated at this point,
// flag evaluation happens at InitWindow() or SetWindowState()
CORE.Window.flags |= flags;
diff --git a/src/rmodels.c b/src/rmodels.c
index 73dba6aa7..a7f48fd11 100644
--- a/src/rmodels.c
+++ b/src/rmodels.c
@@ -2286,38 +2286,28 @@ void UpdateModelAnimationBones(Model model, ModelAnimation anim, int frame)
}
}
- // Update all bones and boneMatrices of first mesh with bones.
- for (int boneId = 0; boneId < anim.boneCount; boneId++)
- {
- Vector3 inTranslation = model.bindPose[boneId].translation;
- Quaternion inRotation = model.bindPose[boneId].rotation;
- Vector3 inScale = model.bindPose[boneId].scale;
-
- Vector3 outTranslation = anim.framePoses[frame][boneId].translation;
- Quaternion outRotation = anim.framePoses[frame][boneId].rotation;
- Vector3 outScale = anim.framePoses[frame][boneId].scale;
-
- Quaternion invRotation = QuaternionInvert(inRotation);
- Vector3 invTranslation = Vector3RotateByQuaternion(Vector3Negate(inTranslation), invRotation);
- Vector3 invScale = Vector3Divide((Vector3){ 1.0f, 1.0f, 1.0f }, inScale);
-
- Vector3 boneTranslation = Vector3Add(Vector3RotateByQuaternion(
- Vector3Multiply(outScale, invTranslation), outRotation), outTranslation);
- Quaternion boneRotation = QuaternionMultiply(outRotation, invRotation);
- Vector3 boneScale = Vector3Multiply(outScale, invScale);
-
- Matrix boneMatrix = MatrixMultiply(MatrixMultiply(
- QuaternionToMatrix(boneRotation),
- MatrixTranslate(boneTranslation.x, boneTranslation.y, boneTranslation.z)),
- MatrixScale(boneScale.x, boneScale.y, boneScale.z));
-
- model.meshes[firstMeshWithBones].boneMatrices[boneId] = boneMatrix;
- }
-
- // Update remaining meshes with bones
- // NOTE: Using deep copy because shallow copy results in double free with 'UnloadModel()'
if (firstMeshWithBones != -1)
{
+ // Update all bones and boneMatrices of first mesh with bones.
+ for (int boneId = 0; boneId < anim.boneCount; boneId++)
+ {
+ Transform *bindTransform = &model.bindPose[boneId];
+ Matrix bindMatrix = MatrixMultiply(MatrixMultiply(
+ MatrixScale(bindTransform->scale.x, bindTransform->scale.y, bindTransform->scale.z),
+ QuaternionToMatrix(bindTransform->rotation)),
+ MatrixTranslate(bindTransform->translation.x, bindTransform->translation.y, bindTransform->translation.z));
+
+ Transform *targetTransform = &anim.framePoses[frame][boneId];
+ Matrix targetMatrix = MatrixMultiply(MatrixMultiply(
+ MatrixScale(targetTransform->scale.x, targetTransform->scale.y, targetTransform->scale.z),
+ QuaternionToMatrix(targetTransform->rotation)),
+ MatrixTranslate(targetTransform->translation.x, targetTransform->translation.y, targetTransform->translation.z));
+
+ model.meshes[firstMeshWithBones].boneMatrices[boneId] = MatrixMultiply(MatrixInvert(bindMatrix), targetMatrix);
+ }
+
+ // Update remaining meshes with bones
+ // NOTE: Using deep copy because shallow copy results in double free with 'UnloadModel()'
for (int i = firstMeshWithBones + 1; i < model.meshCount; i++)
{
if (model.meshes[i].boneMatrices)
diff --git a/src/rtext.c b/src/rtext.c
index 0d06caa9a..e7bc341f1 100644
--- a/src/rtext.c
+++ b/src/rtext.c
@@ -1075,7 +1075,7 @@ bool ExportFontAsCode(Font font, const char *fileName)
byteCount += sprintf(txtData + byteCount, " Image imFont = { fontImageData_%s, %i, %i, 1, %i };\n\n", styleName, image.width, image.height, image.format);
#endif
byteCount += sprintf(txtData + byteCount, " // Load texture from image\n");
- byteCount += sprintf(txtData + byteCount, " if (isGpuReady) font.texture = LoadTextureFromImage(imFont);\n");
+ byteCount += sprintf(txtData + byteCount, " font.texture = LoadTextureFromImage(imFont);\n");
#if defined(SUPPORT_COMPRESSED_FONT_ATLAS)
byteCount += sprintf(txtData + byteCount, " UnloadImage(imFont); // Uncompressed data can be unloaded from memory\n\n");
#endif