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 zcmeFZc|6qX`#(OG#?XwlWQM^cp;8lLX)Fzsu|*Rtk~Ad7dL&CpH5v_R#+C>v8f&Fg z!$B#srpO>6oov-8Y15+hch9`cIi2%)zt89Q`2F+!{qg#BBr|{L7+U740w>&EIjI&8B_cyS{z-@bWNgBOW8k z#r>BbkqC(rK2;MH&sS9Yk3S@0k2cU{{0J2sRs$Wu{trL!>}V22rSU)iPw+zJ{CGY( zjla(7zllNmT~X~7gT1u+zsgVt$#CVr${-Y>_rJ&oM0f*X&EMkb z<;C7Q|H=!&!c20@V*@W#IdnZ%>-QMu4 zgGoST>p0bAXOr$uwrL85Oe08(emH=o>3VPt{OA7u>;KIC#t6eT7-9N#bfm*M1Z4}Z zU64M%W0*ffG$+%F?)jmzXYA=E5d>>{=iEQ{U&52sAV9X$zhM5OP5@;o*pBFqgC}%5 zsNXBCR5EjWprY<3cs7O^)rs~?+cI4geNW+}Nk7k3Zz6YtetsI!ZM{C$&0+_CnHRs; zAeN|;IUQcEm-&O=ls6FP((dIHAWdJ`Rg`tSC`+p^x4ek=tt9$pL9{g{^u%8(M>UhC z1du51eg93>V2^DXVFySKSc9c8EXl3yO2KQ(Ke|22?@ONbUcAAOyV*%6T3Y$>p`cRNM$l_FzH^BbRa#h;mF99>(hQ_9_cwho8i^iJvC!_4Ux zHNlK=Uz57k6M2)L>@2OnMkMP%D}C{AD}83HJ>yBXqz1D3OkVOL^lFW@n7dp32={wU zrQt8Vbx&PRyvrV>87L&VxHQ+rRF#NrUH_`;(@e+jg10Ug>nFZsdroEz zzrjV_mo7G5(&xIUZ`pGPPK<9;Xyk?tdN6%X5LN(!-Nj&+O#P{Q|L{Z-bw^?24=?Zh znacV!w;NPt$$F`{*Z1gC>8g_4wTzr4OXm|Nf>Zs_%B{AJf?LPkZQCvtI?(Sp%*1=fA9$HnZTOO~ybt z=d}BQbvbGK6DV))tv_U8^6W1Dp2;K4QQ)`#>8;;#cU^&kZt|CfOoKmnUmPBl^V z9XD?XaVX4lrngFD*YcwEDtym)8XIIzuZf>kc&riBW>GttGLWP1HR`CJpZ;=#?H7l~ zC&=K}ye@vz(cyjC{Ri<;%`A)JAB!LC;6@GpeNLD^q#?=wrXi0%GSY||&mip32yM9Lv2@K*;Cbw;ahmR#5%5 z-9?Khm&mUR{mVXtzcJ!{gj%rhFCX-e-+&efOo5GHqJ1BxC`5XqFHRTr-;-Gp=eWaS zt;aij`D9p4wiVNAC+cL}T2K3b#IH0hNv^Rrw>;qQvx;3im_H0hdXH9&y*ybGGlYvW zTwC$j{#8zDVeXR@R*V8gdSeQMMR!(mz^|>Y#Gr%#cCqmQmOC{E187 z^-P9o(*=EJi%Pb;^~&NtjT)u)%y6vVGlG{M8JgBHJJ`KUgYuI1_t_-YLC%8p_kaE? zrU=8yV}Fvvj=QcEIWW(}B~`4yARuga5)@$G#|e{B4Bbt8R+ z(9G^%HSceh6FFa^_43YJKeSM<|J$Al;h;UV@7Mm@Ghp9EX~h3o2oK|bVubJAdtyR= zWYW`bzofrH?H9+YOpmXES1UbB8KcT)dC7}>n-aYzBP+9yaVKRDBRM6de9wcw+LR&= zPn0ss#ry?2{_&eYRdUIb1Xp@g)&|`0( z9kcK4rN6TN^+=FNQAGI5)%@c(A)2=h&U4uDm3_11tk?I1Z%3__kA*3$+<(fv;;~&| z4S$*U9iZF}TD7Bc@AV2lbGN2oE>0fl`-b;un!h!Udp(9=HJWM@dvX^yYW7z}qd_@R z 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 literal 0 HcmV?d00001 diff --git a/projects/VS2022/examples/models_animation_blending.vcxproj b/projects/VS2022/examples/models_animation_blending.vcxproj new file mode 100644 index 000000000..bf8a8b27a --- /dev/null +++ b/projects/VS2022/examples/models_animation_blending.vcxproj @@ -0,0 +1,387 @@ + + + + + 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