From bf85ba59f7bef3018c7efcd55021610d5b077c3b Mon Sep 17 00:00:00 2001 From: Kirandeep-Singh-Khehra Date: Sun, 8 Dec 2024 11:43:30 +0530 Subject: [PATCH] [rmodels] Updated build information for animation blending example Signed-off-by: Kirandeep-Singh-Khehra --- examples/Makefile | 1 + examples/Makefile.Web | 1 + examples/README.md | 93 ++--- examples/models/models_animation_blending.png | Bin 0 -> 24735 bytes .../models_animation_blending.vcxproj | 387 ++++++++++++++++++ projects/VS2022/raylib.sln | 2 + 6 files changed, 438 insertions(+), 46 deletions(-) create mode 100644 examples/models/models_animation_blending.png create mode 100644 projects/VS2022/examples/models_animation_blending.vcxproj diff --git a/examples/Makefile b/examples/Makefile index a65a4961e..9428c295f 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -584,6 +584,7 @@ TEXT = \ MODELS = \ models/models_animation \ + models/models_animation_blending \ models/models_billboard \ models/models_bone_socket \ models/models_box_collisions \ diff --git a/examples/Makefile.Web b/examples/Makefile.Web index dd5dc6881..8e20f0b05 100644 --- a/examples/Makefile.Web +++ b/examples/Makefile.Web @@ -472,6 +472,7 @@ TEXT = \ MODELS = \ models/models_animation \ + models/models_animation_blending \ models/models_gpu_skinning \ models/models_billboard \ models/models_bone_socket \ diff --git a/examples/README.md b/examples/README.md index d25ad10cc..f6ad6ff27 100644 --- a/examples/README.md +++ b/examples/README.md @@ -137,24 +137,25 @@ Examples using raylib models functionality, including models loading/generation | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| | 85 | [models_animation](models/models_animation.c) | models_animation | ⭐️⭐️☆☆ | 2.5 | 3.5 | [culacant](https://github.com/culacant) | -| 86 | [models_billboard](models/models_billboard.c) | models_billboard | ⭐️⭐️⭐️☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | -| 87 | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐️☆☆☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | -| 88 | [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐️⭐️☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | -| 89 | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 90 | [models_geometric_shapes](models/models_geometric_shapes.c) | models_geometric_shapes | ⭐️☆☆☆ | 1.0 | 3.5 | [Ray](https://github.com/raysan5) | -| 91 | [models_mesh_generation](models/models_mesh_generation.c) | models_mesh_generation | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | -| 92 | [models_mesh_picking](models/models_mesh_picking.c) | models_mesh_picking | ⭐️⭐️⭐️☆ | 1.7 | **4.0** | [Joel Davis](https://github.com/joeld42) | -| 93 | [models_loading](models/models_loading.c) | models_loading | ⭐️☆☆☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | -| 94 | [models_loading_gltf](models/models_loading_gltf.c) | models_loading_gltf | ⭐️☆☆☆ | 3.7 | **4.2** | [Ray](https://github.com/raysan5) | -| 95 | [models_loading_vox](models/models_loading_vox.c) | models_loading_vox | ⭐️☆☆☆ | **4.0** | **4.0** | [Johann Nadalutti](https://github.com/procfxgen) | -| 96 | [models_loading_m3d](models/models_loading_m3d.c) | models_loading_m3d | ⭐️☆☆☆ | **4.2** | **4.2** | [bzt](https://bztsrc.gitlab.io/model3d) | -| 97 | [models_orthographic_projection](models/models_orthographic_projection.c) | models_orthographic_projection | ⭐️☆☆☆ | 2.0 | 3.7 | [Max Danielsson](https://github.com/autious) | -| 98 | [models_point_rendering](models/models_point_rendering.c) | models_point_rendering | ⭐️⭐️☆☆ | 5.0 | 5.0 | [Reese Gallagher](https://github.com/satchelfrost) | -| 99 | [models_rlgl_solar_system](models/models_rlgl_solar_system.c) | models_rlgl_solar_system | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | -| 100 | [models_yaw_pitch_roll](models/models_yaw_pitch_roll.c) | models_yaw_pitch_roll | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Berni](https://github.com/Berni8k) | -| 101 | [models_waving_cubes](models/models_waving_cubes.c) | models_waving_cubes | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [codecat](https://github.com/codecat) | -| 102 | [models_heightmap](models/models_heightmap.c) | models_heightmap | ⭐️☆☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | -| 103 | [models_skybox](models/models_skybox.c) | models_skybox | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | +| 86 | [models_animation_blending](models/models_animation_blending.c) | models_animation | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Kirandeep-Singh-Khehra](https://github.com/Kirandeep-Singh-Khehra) | +| 87 | [models_billboard](models/models_billboard.c) | models_billboard | ⭐️⭐️⭐️☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | +| 88 | [models_box_collisions](models/models_box_collisions.c) | models_box_collisions | ⭐️☆☆☆ | 1.3 | 3.5 | [Ray](https://github.com/raysan5) | +| 89 | [models_cubicmap](models/models_cubicmap.c) | models_cubicmap | ⭐️⭐️☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | +| 90 | [models_first_person_maze](models/models_first_person_maze.c) | models_first_person_maze | ⭐️⭐️☆☆ | 2.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 91 | [models_geometric_shapes](models/models_geometric_shapes.c) | models_geometric_shapes | ⭐️☆☆☆ | 1.0 | 3.5 | [Ray](https://github.com/raysan5) | +| 92 | [models_mesh_generation](models/models_mesh_generation.c) | models_mesh_generation | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | +| 93 | [models_mesh_picking](models/models_mesh_picking.c) | models_mesh_picking | ⭐️⭐️⭐️☆ | 1.7 | **4.0** | [Joel Davis](https://github.com/joeld42) | +| 94 | [models_loading](models/models_loading.c) | models_loading | ⭐️☆☆☆ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | +| 95 | [models_loading_gltf](models/models_loading_gltf.c) | models_loading_gltf | ⭐️☆☆☆ | 3.7 | **4.2** | [Ray](https://github.com/raysan5) | +| 96 | [models_loading_vox](models/models_loading_vox.c) | models_loading_vox | ⭐️☆☆☆ | **4.0** | **4.0** | [Johann Nadalutti](https://github.com/procfxgen) | +| 97 | [models_loading_m3d](models/models_loading_m3d.c) | models_loading_m3d | ⭐️☆☆☆ | **4.2** | **4.2** | [bzt](https://bztsrc.gitlab.io/model3d) | +| 98 | [models_orthographic_projection](models/models_orthographic_projection.c) | models_orthographic_projection | ⭐️☆☆☆ | 2.0 | 3.7 | [Max Danielsson](https://github.com/autious) | +| 99 | [models_point_rendering](models/models_point_rendering.c) | models_point_rendering | ⭐️⭐️☆☆ | 5.0 | 5.0 | [Reese Gallagher](https://github.com/satchelfrost) | +| 100 | [models_rlgl_solar_system](models/models_rlgl_solar_system.c) | models_rlgl_solar_system | ⭐️⭐️⭐️⭐️ | 2.5 | **4.0** | [Ray](https://github.com/raysan5) | +| 101 | [models_yaw_pitch_roll](models/models_yaw_pitch_roll.c) | models_yaw_pitch_roll | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Berni](https://github.com/Berni8k) | +| 102 | [models_waving_cubes](models/models_waving_cubes.c) | models_waving_cubes | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [codecat](https://github.com/codecat) | +| 103 | [models_heightmap](models/models_heightmap.c) | models_heightmap | ⭐️☆☆☆ | 1.8 | 3.5 | [Ray](https://github.com/raysan5) | +| 104 | [models_skybox](models/models_skybox.c) | models_skybox | ⭐️⭐️☆☆ | 1.8 | **4.0** | [Ray](https://github.com/raysan5) | ### category: shaders @@ -162,25 +163,25 @@ Examples using raylib shaders functionality, including shaders loading, paramete | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 104 | [shaders_basic_lighting](shaders/shaders_basic_lighting.c) | shaders_basic_lighting | ⭐️⭐️⭐️⭐️ | 3.0 | **4.2** | [Chris Camacho](https://github.com/codifies) | -| 105 | [shaders_model_shader](shaders/shaders_model_shader.c) | shaders_model_shader | ⭐️⭐️☆☆ | 1.3 | 3.7 | [Ray](https://github.com/raysan5) | -| 106 | [shaders_shapes_textures](shaders/shaders_shapes_textures.c) | shaders_shapes_textures | ⭐️⭐️☆☆ | 1.7 | 3.7 | [Ray](https://github.com/raysan5) | -| 107 | [shaders_custom_uniform](shaders/shaders_custom_uniform.c) | shaders_custom_uniform | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 108 | [shaders_postprocessing](shaders/shaders_postprocessing.c) | shaders_postprocessing | ⭐️⭐️⭐️☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | -| 109 | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | -| 110 | [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐️⭐️⭐️⭐️ | 2.0 | **4.2** | [Ray](https://github.com/raysan5) | -| 111 | [shaders_texture_drawing](shaders/shaders_texture_drawing.c) | shaders_texture_drawing | ⭐️⭐️☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/) | -| 112 | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐️⭐️⭐️☆ | **4.0** | **4.0** | [Samuel Skiff](https://github.com/GoldenThumbs) | -| 113 | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | -| 114 | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [eggmund](https://github.com/eggmund) | -| 115 | [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [ProfJski](https://github.com/ProfJski) | -| 116 | [shaders_fog](shaders/shaders_fog.c) | shaders_fog | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 117 | [shaders_simple_mask](shaders/shaders_simple_mask.c) | shaders_simple_mask | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 118 | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐️⭐️⭐️☆ | 3.0 | 3.5 | [Ray](https://github.com/raysan5) | -| 119 | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐️⭐️⭐️⭐️ | 3.7 | **4.2** | [seanpringle](https://github.com/seanpringle) | -| 120 | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 121 | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | -| 122 | [shaders_deferred_render](shaders/shaders_deferred_render.c) | shaders_deferred_render | ⭐️⭐️⭐️⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | +| 105 | [shaders_basic_lighting](shaders/shaders_basic_lighting.c) | shaders_basic_lighting | ⭐️⭐️⭐️⭐️ | 3.0 | **4.2** | [Chris Camacho](https://github.com/codifies) | +| 106 | [shaders_model_shader](shaders/shaders_model_shader.c) | shaders_model_shader | ⭐️⭐️☆☆ | 1.3 | 3.7 | [Ray](https://github.com/raysan5) | +| 107 | [shaders_shapes_textures](shaders/shaders_shapes_textures.c) | shaders_shapes_textures | ⭐️⭐️☆☆ | 1.7 | 3.7 | [Ray](https://github.com/raysan5) | +| 108 | [shaders_custom_uniform](shaders/shaders_custom_uniform.c) | shaders_custom_uniform | ⭐️⭐️☆☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 109 | [shaders_postprocessing](shaders/shaders_postprocessing.c) | shaders_postprocessing | ⭐️⭐️⭐️☆ | 1.3 | **4.0** | [Ray](https://github.com/raysan5) | +| 110 | [shaders_palette_switch](shaders/shaders_palette_switch.c) | shaders_palette_switch | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Marco Lizza](https://github.com/MarcoLizza) | +| 111 | [shaders_raymarching](shaders/shaders_raymarching.c) | shaders_raymarching | ⭐️⭐️⭐️⭐️ | 2.0 | **4.2** | [Ray](https://github.com/raysan5) | +| 112 | [shaders_texture_drawing](shaders/shaders_texture_drawing.c) | shaders_texture_drawing | ⭐️⭐️☆☆ | 2.0 | 3.7 | [Michał Ciesielski](https://github.com/) | +| 113 | [shaders_texture_outline](shaders/shaders_texture_outline.c) | shaders_texture_outline | ⭐️⭐️⭐️☆ | **4.0** | **4.0** | [Samuel Skiff](https://github.com/GoldenThumbs) | +| 114 | [shaders_texture_waves](shaders/shaders_texture_waves.c) | shaders_texture_waves | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Anata](https://github.com/anatagawa) | +| 115 | [shaders_julia_set](shaders/shaders_julia_set.c) | shaders_julia_set | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [eggmund](https://github.com/eggmund) | +| 116 | [shaders_eratosthenes](shaders/shaders_eratosthenes.c) | shaders_eratosthenes | ⭐️⭐️⭐️☆ | 2.5 | **4.0** | [ProfJski](https://github.com/ProfJski) | +| 117 | [shaders_fog](shaders/shaders_fog.c) | shaders_fog | ⭐️⭐️⭐️☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 118 | [shaders_simple_mask](shaders/shaders_simple_mask.c) | shaders_simple_mask | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 119 | [shaders_hot_reloading](shaders/shaders_hot_reloading.c) | shaders_hot_reloading | ⭐️⭐️⭐️☆ | 3.0 | 3.5 | [Ray](https://github.com/raysan5) | +| 120 | [shaders_mesh_instancing](shaders/shaders_mesh_instancing.c) | shaders_mesh_instancing | ⭐️⭐️⭐️⭐️ | 3.7 | **4.2** | [seanpringle](https://github.com/seanpringle) | +| 121 | [shaders_multi_sample2d](shaders/shaders_multi_sample2d.c) | shaders_multi_sample2d | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 122 | [shaders_spotlight](shaders/shaders_spotlight.c) | shaders_spotlight | ⭐️⭐️☆☆ | 2.5 | 3.7 | [Chris Camacho](https://github.com/codifies) | +| 123 | [shaders_deferred_render](shaders/shaders_deferred_render.c) | shaders_deferred_render | ⭐️⭐️⭐️⭐️ | 4.5 | 4.5 | [Justin Andreas Lacoste](https://github.com/27justin) | ### category: audio @@ -188,10 +189,10 @@ Examples using raylib audio functionality, including sound/music loading and pla | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 123 | [audio_module_playing](audio/audio_module_playing.c) | audio_module_playing | ⭐️☆☆☆ | 1.5 | 3.5 | [Ray](https://github.com/raysan5) | -| 124 | [audio_music_stream](audio/audio_music_stream.c) | audio_music_stream | ⭐️☆☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | -| 125 | [audio_raw_stream](audio/audio_raw_stream.c) | audio_raw_stream | ⭐️⭐️⭐️☆ | 1.6 | **4.2** | [Ray](https://github.com/raysan5) | -| 126 | [audio_sound_loading](audio/audio_sound_loading.c) | audio_sound_loading | ⭐️☆☆☆ | 1.1 | 3.5 | [Ray](https://github.com/raysan5) | +| 124 | [audio_module_playing](audio/audio_module_playing.c) | audio_module_playing | ⭐️☆☆☆ | 1.5 | 3.5 | [Ray](https://github.com/raysan5) | +| 125 | [audio_music_stream](audio/audio_music_stream.c) | audio_music_stream | ⭐️☆☆☆ | 1.3 | **4.2** | [Ray](https://github.com/raysan5) | +| 126 | [audio_raw_stream](audio/audio_raw_stream.c) | audio_raw_stream | ⭐️⭐️⭐️☆ | 1.6 | **4.2** | [Ray](https://github.com/raysan5) | +| 127 | [audio_sound_loading](audio/audio_sound_loading.c) | audio_sound_loading | ⭐️☆☆☆ | 1.1 | 3.5 | [Ray](https://github.com/raysan5) | ### category: others @@ -199,11 +200,11 @@ Examples showing raylib misc functionality that does not fit in other categories | ## | example | image | difficulty
level | version
created | last version
updated | original
developer | |----|----------|--------|:-------------------:|:------------------:|:------------------:|:----------| -| 127 | [rlgl_standalone](others/rlgl_standalone.c) | rlgl_standalone | ⭐️⭐️⭐️⭐️ | 1.6 | **4.0** | [Ray](https://github.com/raysan5) | -| 128 | [rlgl_compute_shader](others/rlgl_compute_shader.c) | rlgl_compute_shader | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Teddy Astie](https://github.com/tsnake41) | -| 129 | [easings_testbed](others/easings_testbed.c) | easings_testbed | ⭐️⭐️⭐️☆ | 3.0 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) | -| 130 | [raylib_opengl_interop](others/raylib_opengl_interop.c) | raylib_opengl_interop | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Stephan Soller](https://github.com/arkanis) | -| 131 | [embedded_files_loading](others/embedded_files_loading.c) | embedded_files_loading | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Kristian Holmgren](https://github.com/defutura) | +| 128 | [rlgl_standalone](others/rlgl_standalone.c) | rlgl_standalone | ⭐️⭐️⭐️⭐️ | 1.6 | **4.0** | [Ray](https://github.com/raysan5) | +| 129 | [rlgl_compute_shader](others/rlgl_compute_shader.c) | rlgl_compute_shader | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Teddy Astie](https://github.com/tsnake41) | +| 130 | [easings_testbed](others/easings_testbed.c) | easings_testbed | ⭐️⭐️⭐️☆ | 3.0 | 3.0 | [Juan Miguel López](https://github.com/flashback-fx) | +| 131 | [raylib_opengl_interop](others/raylib_opengl_interop.c) | raylib_opengl_interop | ⭐️⭐️⭐️⭐️ | **4.0** | **4.0** | [Stephan Soller](https://github.com/arkanis) | +| 132 | [embedded_files_loading](others/embedded_files_loading.c) | embedded_files_loading | ⭐️⭐️☆☆ | 3.5 | 3.5 | [Kristian Holmgren](https://github.com/defutura) | 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/models/models_animation_blending.png b/examples/models/models_animation_blending.png new file mode 100644 index 0000000000000000000000000000000000000000..522febb412f26ff1c74ebbe858407be1f1be14bf GIT binary patch literal 24735 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 n(kkh + + + + Debug.DLL + Win32 + + + Debug.DLL + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release.DLL + Win32 + + + Release.DLL + x64 + + + Release + Win32 + + + Release + x64 + + + + {AFDDE100-2D36-4749-817D-12E54C56312F} + Win32Proj + models_animation_blending + 10.0 + models_animation_blending + + + + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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)\ + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + WindowsLocalDebugger + + + $(SolutionDir)..\..\examples\models + 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) + + + 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)\ + + + 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} + + + + + + diff --git a/projects/VS2022/raylib.sln b/projects/VS2022/raylib.sln index 5142c14a1..2b8a5f1bd 100644 --- a/projects/VS2022/raylib.sln +++ b/projects/VS2022/raylib.sln @@ -309,6 +309,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_bone_socket", "examp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shaders_vertex_displacement", "examples\shaders_vertex_displacement.vcxproj", "{CCA63A76-D9FC-4130-9F67-4D97F9770D53}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "models_animation_blending", "examples\models_animation_blending.vcxproj", "{AFDDE100-2D36-4749-817D-12E54C56312F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug.DLL|x64 = Debug.DLL|x64