koffi 0.9.6 → 0.9.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +661 -0
- package/README.md +73 -7
- package/build/koffi.node +0 -0
- package/package.json +29 -6
- package/src/call.hh +2 -1
- package/src/call_arm32.cc +69 -58
- package/src/call_arm64.cc +66 -54
- package/src/call_x64_sysv.cc +61 -48
- package/src/call_x64_win.cc +69 -43
- package/src/call_x86.cc +83 -62
- package/src/ffi.cc +166 -37
- package/src/ffi.hh +41 -11
- package/src/util.cc +72 -33
- package/src/util.hh +127 -18
- package/test/files/node32.cmd +6 -0
- package/test/files/node64.cmd +6 -0
- package/test/registry/machines.json +191 -0
- package/test/registry/sha256sum.txt +24 -0
- package/test/test.js +633 -0
- package/test/tests/misc.c +40 -0
- package/test/tests/misc.js +54 -0
- package/test/tests/raylib.js +167 -0
- package/test/tests/sqlite.js +101 -0
- package/vendor/libcc/libcc.cc +36 -18
- package/vendor/libcc/libcc.hh +23 -1
- package/vendor/raylib/BINDINGS.md +123 -0
- package/vendor/raylib/CHANGELOG +1495 -0
- package/vendor/raylib/CMakeLists.txt +33 -0
- package/vendor/raylib/CMakeOptions.txt +87 -0
- package/vendor/raylib/CONTRIBUTING.md +76 -0
- package/vendor/raylib/CONTRIBUTORS.md +63 -0
- package/vendor/raylib/CONVENTIONS.md +95 -0
- package/vendor/raylib/HISTORY.md +364 -0
- package/vendor/raylib/LICENSE +16 -0
- package/vendor/raylib/README.md +141 -0
- package/vendor/raylib/ROADMAP.md +76 -0
- package/vendor/raylib/SPONSORS.md +68 -0
- package/vendor/raylib/cmake/AddIfFlagCompiles.cmake +12 -0
- package/vendor/raylib/cmake/BuildOptions.cmake +18 -0
- package/vendor/raylib/cmake/CompileDefinitions.cmake +110 -0
- package/vendor/raylib/cmake/CompilerFlags.cmake +79 -0
- package/vendor/raylib/cmake/EnumOption.cmake +9 -0
- package/vendor/raylib/cmake/GlfwImport.cmake +34 -0
- package/vendor/raylib/cmake/InstallConfigurations.cmake +29 -0
- package/vendor/raylib/cmake/JoinPaths.cmake +26 -0
- package/vendor/raylib/cmake/LibraryConfigurations.cmake +108 -0
- package/vendor/raylib/cmake/LibraryPathToLinkerFlags.cmake +24 -0
- package/vendor/raylib/cmake/PackConfigurations.cmake +13 -0
- package/vendor/raylib/cmake/PopulateConfigVariablesLocally.cmake +11 -0
- package/vendor/raylib/cmake/raylib-config-version.cmake +21 -0
- package/vendor/raylib/cmake/raylib-config.cmake +76 -0
- package/vendor/raylib/examples/CMakeLists.txt +139 -0
- package/vendor/raylib/examples/Makefile +565 -0
- package/vendor/raylib/examples/Makefile.Android +405 -0
- package/vendor/raylib/examples/Makefile.Web +1053 -0
- package/vendor/raylib/examples/README.md +203 -0
- package/vendor/raylib/examples/audio/audio_module_playing.c +146 -0
- package/vendor/raylib/examples/audio/audio_module_playing.png +0 -0
- package/vendor/raylib/examples/audio/audio_multichannel_sound.c +73 -0
- package/vendor/raylib/examples/audio/audio_multichannel_sound.png +0 -0
- package/vendor/raylib/examples/audio/audio_music_stream.c +93 -0
- package/vendor/raylib/examples/audio/audio_music_stream.png +0 -0
- package/vendor/raylib/examples/audio/audio_raw_stream.c +167 -0
- package/vendor/raylib/examples/audio/audio_raw_stream.png +0 -0
- package/vendor/raylib/examples/audio/audio_sound_loading.c +64 -0
- package/vendor/raylib/examples/audio/audio_sound_loading.png +0 -0
- package/vendor/raylib/examples/audio/resources/LICENSE.md +10 -0
- package/vendor/raylib/examples/audio/resources/coin.wav +0 -0
- package/vendor/raylib/examples/audio/resources/country.mp3 +0 -0
- package/vendor/raylib/examples/audio/resources/mini1111.xm +0 -0
- package/vendor/raylib/examples/audio/resources/sound.wav +0 -0
- package/vendor/raylib/examples/audio/resources/spring.wav +0 -0
- package/vendor/raylib/examples/audio/resources/target.flac +0 -0
- package/vendor/raylib/examples/audio/resources/target.ogg +0 -0
- package/vendor/raylib/examples/audio/resources/weird.wav +0 -0
- package/vendor/raylib/examples/build.zig +86 -0
- package/vendor/raylib/examples/core/core_2d_camera.c +132 -0
- package/vendor/raylib/examples/core/core_2d_camera.png +0 -0
- package/vendor/raylib/examples/core/core_2d_camera_platformer.c +293 -0
- package/vendor/raylib/examples/core/core_2d_camera_platformer.png +0 -0
- package/vendor/raylib/examples/core/core_2d_camera_smooth_pixelperfect.png +0 -0
- package/vendor/raylib/examples/core/core_3d_camera_first_person.c +97 -0
- package/vendor/raylib/examples/core/core_3d_camera_first_person.png +0 -0
- package/vendor/raylib/examples/core/core_3d_camera_free.c +83 -0
- package/vendor/raylib/examples/core/core_3d_camera_free.png +0 -0
- package/vendor/raylib/examples/core/core_3d_camera_mode.c +73 -0
- package/vendor/raylib/examples/core/core_3d_camera_mode.png +0 -0
- package/vendor/raylib/examples/core/core_3d_picking.c +107 -0
- package/vendor/raylib/examples/core/core_3d_picking.png +0 -0
- package/vendor/raylib/examples/core/core_basic_screen_manager.c +150 -0
- package/vendor/raylib/examples/core/core_basic_screen_manager.png +0 -0
- package/vendor/raylib/examples/core/core_basic_window.c +62 -0
- package/vendor/raylib/examples/core/core_basic_window.png +0 -0
- package/vendor/raylib/examples/core/core_basic_window_web.c +85 -0
- package/vendor/raylib/examples/core/core_custom_frame_control.c +125 -0
- package/vendor/raylib/examples/core/core_custom_frame_control.png +0 -0
- package/vendor/raylib/examples/core/core_custom_logging.c +84 -0
- package/vendor/raylib/examples/core/core_custom_logging.png +0 -0
- package/vendor/raylib/examples/core/core_drop_files.c +76 -0
- package/vendor/raylib/examples/core/core_drop_files.png +0 -0
- package/vendor/raylib/examples/core/core_input_gamepad.c +195 -0
- package/vendor/raylib/examples/core/core_input_gamepad.png +0 -0
- package/vendor/raylib/examples/core/core_input_gestures.c +115 -0
- package/vendor/raylib/examples/core/core_input_gestures.png +0 -0
- package/vendor/raylib/examples/core/core_input_keys.c +59 -0
- package/vendor/raylib/examples/core/core_input_keys.png +0 -0
- package/vendor/raylib/examples/core/core_input_mouse.c +65 -0
- package/vendor/raylib/examples/core/core_input_mouse.png +0 -0
- package/vendor/raylib/examples/core/core_input_mouse_wheel.c +58 -0
- package/vendor/raylib/examples/core/core_input_mouse_wheel.png +0 -0
- package/vendor/raylib/examples/core/core_input_multitouch.c +70 -0
- package/vendor/raylib/examples/core/core_input_multitouch.png +0 -0
- package/vendor/raylib/examples/core/core_loading_thread.c +147 -0
- package/vendor/raylib/examples/core/core_loading_thread.png +0 -0
- package/vendor/raylib/examples/core/core_quat_conversion.c +132 -0
- package/vendor/raylib/examples/core/core_quat_conversion.png +0 -0
- package/vendor/raylib/examples/core/core_random_values.c +67 -0
- package/vendor/raylib/examples/core/core_random_values.png +0 -0
- package/vendor/raylib/examples/core/core_scissor_test.c +71 -0
- package/vendor/raylib/examples/core/core_scissor_test.png +0 -0
- package/vendor/raylib/examples/core/core_smooth_pixelperfect.c +117 -0
- package/vendor/raylib/examples/core/core_smooth_pixelperfect.png +0 -0
- package/vendor/raylib/examples/core/core_split_screen.c +155 -0
- package/vendor/raylib/examples/core/core_split_screen.png +0 -0
- package/vendor/raylib/examples/core/core_storage_values.c +87 -0
- package/vendor/raylib/examples/core/core_storage_values.png +0 -0
- package/vendor/raylib/examples/core/core_vr_simulator.c +143 -0
- package/vendor/raylib/examples/core/core_vr_simulator.png +0 -0
- package/vendor/raylib/examples/core/core_window_flags.c +191 -0
- package/vendor/raylib/examples/core/core_window_flags.png +0 -0
- package/vendor/raylib/examples/core/core_window_letterbox.c +112 -0
- package/vendor/raylib/examples/core/core_window_letterbox.png +0 -0
- package/vendor/raylib/examples/core/core_world_screen.c +78 -0
- package/vendor/raylib/examples/core/core_world_screen.png +0 -0
- package/vendor/raylib/examples/core/resources/LICENSE.md +4 -0
- package/vendor/raylib/examples/core/resources/distortion100.fs +52 -0
- package/vendor/raylib/examples/core/resources/distortion330.fs +53 -0
- package/vendor/raylib/examples/core/resources/ps3.png +0 -0
- package/vendor/raylib/examples/core/resources/xbox.png +0 -0
- package/vendor/raylib/examples/examples_template.c +100 -0
- package/vendor/raylib/examples/models/models_animation.c +114 -0
- package/vendor/raylib/examples/models/models_animation.png +0 -0
- package/vendor/raylib/examples/models/models_billboard.c +75 -0
- package/vendor/raylib/examples/models/models_billboard.png +0 -0
- package/vendor/raylib/examples/models/models_box_collisions.c +121 -0
- package/vendor/raylib/examples/models/models_box_collisions.png +0 -0
- package/vendor/raylib/examples/models/models_cubicmap.c +87 -0
- package/vendor/raylib/examples/models/models_cubicmap.png +0 -0
- package/vendor/raylib/examples/models/models_first_person_maze.c +122 -0
- package/vendor/raylib/examples/models/models_first_person_maze.png +0 -0
- package/vendor/raylib/examples/models/models_geometric_shapes.c +80 -0
- package/vendor/raylib/examples/models/models_geometric_shapes.png +0 -0
- package/vendor/raylib/examples/models/models_heightmap.c +82 -0
- package/vendor/raylib/examples/models/models_heightmap.png +0 -0
- package/vendor/raylib/examples/models/models_loading.c +146 -0
- package/vendor/raylib/examples/models/models_loading.png +0 -0
- package/vendor/raylib/examples/models/models_loading_gltf.c +105 -0
- package/vendor/raylib/examples/models/models_loading_gltf.png +0 -0
- package/vendor/raylib/examples/models/models_loading_vox.c +130 -0
- package/vendor/raylib/examples/models/models_loading_vox.png +0 -0
- package/vendor/raylib/examples/models/models_mesh_generation.c +179 -0
- package/vendor/raylib/examples/models/models_mesh_generation.png +0 -0
- package/vendor/raylib/examples/models/models_mesh_picking.c +223 -0
- package/vendor/raylib/examples/models/models_mesh_picking.png +0 -0
- package/vendor/raylib/examples/models/models_orthographic_projection.c +99 -0
- package/vendor/raylib/examples/models/models_orthographic_projection.png +0 -0
- package/vendor/raylib/examples/models/models_rlgl_solar_system.c +172 -0
- package/vendor/raylib/examples/models/models_rlgl_solar_system.png +0 -0
- package/vendor/raylib/examples/models/models_skybox.c +262 -0
- package/vendor/raylib/examples/models/models_skybox.png +0 -0
- package/vendor/raylib/examples/models/models_waving_cubes.c +112 -0
- package/vendor/raylib/examples/models/models_waving_cubes.png +0 -0
- package/vendor/raylib/examples/models/models_yaw_pitch_roll.c +117 -0
- package/vendor/raylib/examples/models/models_yaw_pitch_roll.png +0 -0
- package/vendor/raylib/examples/models/resources/LICENSE.md +23 -0
- package/vendor/raylib/examples/models/resources/billboard.png +0 -0
- package/vendor/raylib/examples/models/resources/cubicmap.png +0 -0
- package/vendor/raylib/examples/models/resources/cubicmap_atlas.png +0 -0
- package/vendor/raylib/examples/models/resources/dresden_square_1k.hdr +0 -0
- package/vendor/raylib/examples/models/resources/dresden_square_2k.hdr +0 -0
- package/vendor/raylib/examples/models/resources/heightmap.png +0 -0
- package/vendor/raylib/examples/models/resources/models/gltf/AnimatedMorphCube.glb +0 -0
- package/vendor/raylib/examples/models/resources/models/gltf/AnimatedTriangle.gltf +118 -0
- package/vendor/raylib/examples/models/resources/models/gltf/BoxAnimated.glb +0 -0
- package/vendor/raylib/examples/models/resources/models/gltf/LICENSE +23 -0
- package/vendor/raylib/examples/models/resources/models/gltf/girl.glb +0 -0
- package/vendor/raylib/examples/models/resources/models/gltf/raylib_32x32.glb +0 -0
- package/vendor/raylib/examples/models/resources/models/gltf/rigged_figure.glb +0 -0
- package/vendor/raylib/examples/models/resources/models/gltf/vertex_colored_object.glb +0 -0
- package/vendor/raylib/examples/models/resources/models/iqm/guy.blend +0 -0
- package/vendor/raylib/examples/models/resources/models/iqm/guy.iqm +0 -0
- package/vendor/raylib/examples/models/resources/models/iqm/guyanim.iqm +0 -0
- package/vendor/raylib/examples/models/resources/models/iqm/guytex.png +0 -0
- package/vendor/raylib/examples/models/resources/models/iqm/vertex_colored_object.iqm +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/bridge.obj +1725 -0
- package/vendor/raylib/examples/models/resources/models/obj/bridge_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/castle.obj +12919 -0
- package/vendor/raylib/examples/models/resources/models/obj/castle_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/cube.obj +68 -0
- package/vendor/raylib/examples/models/resources/models/obj/cube_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/house.obj +4564 -0
- package/vendor/raylib/examples/models/resources/models/obj/house_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/market.obj +7301 -0
- package/vendor/raylib/examples/models/resources/models/obj/market_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/plane.obj +10858 -0
- package/vendor/raylib/examples/models/resources/models/obj/plane_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/turret.obj +1888 -0
- package/vendor/raylib/examples/models/resources/models/obj/turret_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/obj/well.obj +1030 -0
- package/vendor/raylib/examples/models/resources/models/obj/well_diffuse.png +0 -0
- package/vendor/raylib/examples/models/resources/models/vox/LICENSE +9 -0
- package/vendor/raylib/examples/models/resources/models/vox/chr_knight.vox +0 -0
- package/vendor/raylib/examples/models/resources/models/vox/chr_sword.vox +0 -0
- package/vendor/raylib/examples/models/resources/models/vox/monu9.vox +0 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl100/cubemap.fs +29 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl100/cubemap.vs +20 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl100/skybox.fs +31 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl100/skybox.vs +24 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl330/cubemap.fs +30 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl330/cubemap.vs +20 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl330/skybox.fs +30 -0
- package/vendor/raylib/examples/models/resources/shaders/glsl330/skybox.vs +24 -0
- package/vendor/raylib/examples/models/resources/skybox.png +0 -0
- package/vendor/raylib/examples/models/rlights.h +183 -0
- package/vendor/raylib/examples/others/easings.h +263 -0
- package/vendor/raylib/examples/others/easings_testbed.c +227 -0
- package/vendor/raylib/examples/others/embedded_files_loading.c +103 -0
- package/vendor/raylib/examples/others/external/include/GLFW/glfw3.h +5538 -0
- package/vendor/raylib/examples/others/external/include/GLFW/glfw3native.h +572 -0
- package/vendor/raylib/examples/others/external/include/glad.h +5466 -0
- package/vendor/raylib/examples/others/external/lib/libglfw3.a +0 -0
- package/vendor/raylib/examples/others/raudio_standalone.c +152 -0
- package/vendor/raylib/examples/others/raylib_opengl_interop.c +152 -0
- package/vendor/raylib/examples/others/raylib_opengl_interop.png +0 -0
- package/vendor/raylib/examples/others/resources/audio/country.mp3 +0 -0
- package/vendor/raylib/examples/others/resources/audio/target.ogg +0 -0
- package/vendor/raylib/examples/others/resources/audio/weird.wav +0 -0
- package/vendor/raylib/examples/others/resources/audio_data.h +4893 -0
- package/vendor/raylib/examples/others/resources/image_data.h +9848 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl100/point_particle.fs +16 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl100/point_particle.vs +24 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl330/point_particle.fs +17 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl330/point_particle.vs +24 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl430/gol.glsl +41 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl430/gol_render.glsl +29 -0
- package/vendor/raylib/examples/others/resources/shaders/glsl430/gol_transfert.glsl +51 -0
- package/vendor/raylib/examples/others/rlgl_compute_shader.c +173 -0
- package/vendor/raylib/examples/others/rlgl_standalone.c +469 -0
- package/vendor/raylib/examples/physics/physics_demo.c +128 -0
- package/vendor/raylib/examples/physics/physics_demo.png +0 -0
- package/vendor/raylib/examples/physics/physics_friction.c +142 -0
- package/vendor/raylib/examples/physics/physics_friction.png +0 -0
- package/vendor/raylib/examples/physics/physics_movement.c +128 -0
- package/vendor/raylib/examples/physics/physics_movement.png +0 -0
- package/vendor/raylib/examples/physics/physics_restitution.c +129 -0
- package/vendor/raylib/examples/physics/physics_restitution.png +0 -0
- package/vendor/raylib/examples/physics/physics_shatter.c +111 -0
- package/vendor/raylib/examples/physics/physics_shatter.png +0 -0
- package/vendor/raylib/examples/raylib_compile_execute.bat +32 -0
- package/vendor/raylib/examples/raylib_makefile_example.bat +27 -0
- package/vendor/raylib/examples/shaders/resources/LICENSE.md +11 -0
- package/vendor/raylib/examples/shaders/resources/fudesumi.png +0 -0
- package/vendor/raylib/examples/shaders/resources/mask.png +0 -0
- package/vendor/raylib/examples/shaders/resources/models/barracks.obj +22251 -0
- package/vendor/raylib/examples/shaders/resources/models/barracks_diffuse.png +0 -0
- package/vendor/raylib/examples/shaders/resources/models/church.obj +5116 -0
- package/vendor/raylib/examples/shaders/resources/models/church_diffuse.png +0 -0
- package/vendor/raylib/examples/shaders/resources/models/watermill.obj +5316 -0
- package/vendor/raylib/examples/shaders/resources/models/watermill_diffuse.png +0 -0
- package/vendor/raylib/examples/shaders/resources/plasma.png +0 -0
- package/vendor/raylib/examples/shaders/resources/raysan.png +0 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base.fs +23 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base.vs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base_lighting.vs +59 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base_lighting_instanced.vs +36 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/bloom.fs +39 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/blur.fs +34 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/color_mix.fs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/cross_hatching.fs +47 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/cross_stitching.fs +57 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/cubes_panning.fs +60 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/depth.fs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/distortion.fs +54 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/dream_vision.fs +37 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/eratosthenes.fs +60 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/fisheye.fs +43 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/fog.fs +94 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/grayscale.fs +25 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/julia_set.fs +83 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/lighting.fs +81 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/mask.fs +24 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/outline.fs +34 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/palette_switch.fs +41 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/pixelizer.fs +32 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/posterization.fs +29 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/predator.fs +31 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/raymarching.fs +431 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/reload.fs +39 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/scanlines.fs +44 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/sobel.fs +40 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/spotlight.fs +77 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/swirl.fs +46 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl100/wave.fs +36 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/base.fs +22 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/base.vs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/base_lighting.vs +59 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/bloom.fs +37 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/blur.fs +32 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/cross_hatching.fs +45 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/cross_stitching.fs +55 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/distortion.fs +52 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/dream_vision.fs +35 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/fisheye.fs +41 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/fog.fs +92 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/grayscale.fs +23 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/palette_switch.fs +27 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/pixelizer.fs +30 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/posterization.fs +27 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/predator.fs +29 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/scanlines.fs +42 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/sobel.fs +38 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl120/swirl.fs +44 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base.fs +25 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base.vs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base_lighting.vs +32 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base_lighting_instanced.vs +36 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/bloom.fs +40 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/blur.fs +35 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/color_mix.fs +27 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/cross_hatching.fs +48 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/cross_stitching.fs +59 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/cubes_panning.fs +61 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/depth.fs +27 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/distortion.fs +56 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/dream_vision.fs +34 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/eratosthenes.fs +59 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/fisheye.fs +40 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/fog.fs +95 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/grayscale.fs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/julia_set.fs +81 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/lighting.fs +82 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/mask.fs +22 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/outline.fs +35 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/overdraw.fs +26 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/palette_switch.fs +30 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs +33 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/posterization.fs +31 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/predator.fs +32 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/raymarching.fs +430 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/reload.fs +40 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/scanlines.fs +49 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/sobel.fs +41 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/spotlight.fs +65 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/swirl.fs +47 -0
- package/vendor/raylib/examples/shaders/resources/shaders/glsl330/wave.fs +37 -0
- package/vendor/raylib/examples/shaders/resources/space.png +0 -0
- package/vendor/raylib/examples/shaders/resources/texel_checker.png +0 -0
- package/vendor/raylib/examples/shaders/rlights.h +183 -0
- package/vendor/raylib/examples/shaders/shaders_basic_lighting.c +152 -0
- package/vendor/raylib/examples/shaders/shaders_basic_lighting.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_custom_uniform.c +127 -0
- package/vendor/raylib/examples/shaders/shaders_custom_uniform.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_eratosthenes.c +92 -0
- package/vendor/raylib/examples/shaders/shaders_eratosthenes.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_fog.c +160 -0
- package/vendor/raylib/examples/shaders/shaders_fog.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_hot_reloading.c +130 -0
- package/vendor/raylib/examples/shaders/shaders_hot_reloading.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_julia_set.c +191 -0
- package/vendor/raylib/examples/shaders/shaders_julia_set.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_mesh_instancing.c +224 -0
- package/vendor/raylib/examples/shaders/shaders_mesh_instancing.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_model_shader.c +103 -0
- package/vendor/raylib/examples/shaders/shaders_model_shader.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_multi_sample2d.c +105 -0
- package/vendor/raylib/examples/shaders/shaders_multi_sample2d.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_palette_switch.c +147 -0
- package/vendor/raylib/examples/shaders/shaders_palette_switch.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_postprocessing.c +170 -0
- package/vendor/raylib/examples/shaders/shaders_postprocessing.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_raymarching.c +113 -0
- package/vendor/raylib/examples/shaders/shaders_raymarching.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_shapes_textures.c +116 -0
- package/vendor/raylib/examples/shaders/shaders_shapes_textures.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_simple_mask.c +144 -0
- package/vendor/raylib/examples/shaders/shaders_simple_mask.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_spotlight.c +254 -0
- package/vendor/raylib/examples/shaders/shaders_spotlight.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_texture_drawing.c +80 -0
- package/vendor/raylib/examples/shaders/shaders_texture_drawing.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_texture_outline.c +97 -0
- package/vendor/raylib/examples/shaders/shaders_texture_outline.png +0 -0
- package/vendor/raylib/examples/shaders/shaders_texture_waves.c +110 -0
- package/vendor/raylib/examples/shaders/shaders_texture_waves.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_basic_shapes.c +78 -0
- package/vendor/raylib/examples/shapes/shapes_basic_shapes.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_bouncing_ball.c +76 -0
- package/vendor/raylib/examples/shapes/shapes_bouncing_ball.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_collision_area.c +108 -0
- package/vendor/raylib/examples/shapes/shapes_collision_area.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_colors_palette.c +99 -0
- package/vendor/raylib/examples/shapes/shapes_colors_palette.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.c +83 -0
- package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.c +89 -0
- package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_draw_ring.c +96 -0
- package/vendor/raylib/examples/shapes/shapes_draw_ring.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.c +110 -0
- package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_easings_box_anim.c +136 -0
- package/vendor/raylib/examples/shapes/shapes_easings_box_anim.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.c +118 -0
- package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_following_eyes.c +104 -0
- package/vendor/raylib/examples/shapes/shapes_following_eyes.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_lines_bezier.c +59 -0
- package/vendor/raylib/examples/shapes/shapes_lines_bezier.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_logo_raylib.c +56 -0
- package/vendor/raylib/examples/shapes/shapes_logo_raylib.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.c +160 -0
- package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.png +0 -0
- package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.c +94 -0
- package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.png +0 -0
- package/vendor/raylib/examples/text/resources/KAISG.ttf +0 -0
- package/vendor/raylib/examples/text/resources/LICENSE.md +20 -0
- package/vendor/raylib/examples/text/resources/anonymous_pro_bold.ttf +0 -0
- package/vendor/raylib/examples/text/resources/custom_alagard.png +0 -0
- package/vendor/raylib/examples/text/resources/custom_jupiter_crash.png +0 -0
- package/vendor/raylib/examples/text/resources/custom_mecha.png +0 -0
- package/vendor/raylib/examples/text/resources/dejavu.fnt +1115 -0
- package/vendor/raylib/examples/text/resources/dejavu.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/alagard.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/alpha_beta.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/jupiter_crash.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/mecha.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/pixantiqua.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/pixelplay.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/romulus.png +0 -0
- package/vendor/raylib/examples/text/resources/fonts/setback.png +0 -0
- package/vendor/raylib/examples/text/resources/noto_cjk.fnt +580 -0
- package/vendor/raylib/examples/text/resources/noto_cjk.png +0 -0
- package/vendor/raylib/examples/text/resources/pixantiqua.fnt +188 -0
- package/vendor/raylib/examples/text/resources/pixantiqua.png +0 -0
- package/vendor/raylib/examples/text/resources/pixantiqua.ttf +0 -0
- package/vendor/raylib/examples/text/resources/shaders/glsl100/alpha_discard.fs +20 -0
- package/vendor/raylib/examples/text/resources/shaders/glsl100/sdf.fs +25 -0
- package/vendor/raylib/examples/text/resources/shaders/glsl330/alpha_discard.fs +19 -0
- package/vendor/raylib/examples/text/resources/shaders/glsl330/sdf.fs +26 -0
- package/vendor/raylib/examples/text/resources/symbola.fnt +191 -0
- package/vendor/raylib/examples/text/resources/symbola.png +0 -0
- package/vendor/raylib/examples/text/text_draw_3d.c +739 -0
- package/vendor/raylib/examples/text/text_draw_3d.png +0 -0
- package/vendor/raylib/examples/text/text_font_filters.c +134 -0
- package/vendor/raylib/examples/text/text_font_filters.png +0 -0
- package/vendor/raylib/examples/text/text_font_loading.c +91 -0
- package/vendor/raylib/examples/text/text_font_loading.png +0 -0
- package/vendor/raylib/examples/text/text_font_sdf.c +141 -0
- package/vendor/raylib/examples/text/text_font_sdf.png +0 -0
- package/vendor/raylib/examples/text/text_font_spritefont.c +85 -0
- package/vendor/raylib/examples/text/text_font_spritefont.png +0 -0
- package/vendor/raylib/examples/text/text_format_text.c +62 -0
- package/vendor/raylib/examples/text/text_format_text.png +0 -0
- package/vendor/raylib/examples/text/text_input_box.c +127 -0
- package/vendor/raylib/examples/text/text_input_box.png +0 -0
- package/vendor/raylib/examples/text/text_raylib_fonts.c +105 -0
- package/vendor/raylib/examples/text/text_raylib_fonts.png +0 -0
- package/vendor/raylib/examples/text/text_rectangle_bounds.c +264 -0
- package/vendor/raylib/examples/text/text_rectangle_bounds.png +0 -0
- package/vendor/raylib/examples/text/text_unicode.c +465 -0
- package/vendor/raylib/examples/text/text_unicode.png +0 -0
- package/vendor/raylib/examples/text/text_writing_anim.c +62 -0
- package/vendor/raylib/examples/text/text_writing_anim.png +0 -0
- package/vendor/raylib/examples/textures/resources/KAISG.ttf +0 -0
- package/vendor/raylib/examples/textures/resources/LICENSE.md +18 -0
- package/vendor/raylib/examples/textures/resources/boom.wav +0 -0
- package/vendor/raylib/examples/textures/resources/button.png +0 -0
- package/vendor/raylib/examples/textures/resources/buttonfx.wav +0 -0
- package/vendor/raylib/examples/textures/resources/cat.png +0 -0
- package/vendor/raylib/examples/textures/resources/custom_jupiter_crash.png +0 -0
- package/vendor/raylib/examples/textures/resources/cyberpunk_street_background.png +0 -0
- package/vendor/raylib/examples/textures/resources/cyberpunk_street_foreground.png +0 -0
- package/vendor/raylib/examples/textures/resources/cyberpunk_street_midground.png +0 -0
- package/vendor/raylib/examples/textures/resources/explosion.png +0 -0
- package/vendor/raylib/examples/textures/resources/fudesumi.png +0 -0
- package/vendor/raylib/examples/textures/resources/fudesumi.raw +0 -0
- package/vendor/raylib/examples/textures/resources/ninepatch_button.png +0 -0
- package/vendor/raylib/examples/textures/resources/parrots.png +0 -0
- package/vendor/raylib/examples/textures/resources/patterns.png +0 -0
- package/vendor/raylib/examples/textures/resources/raylib_logo.png +0 -0
- package/vendor/raylib/examples/textures/resources/scarfy.png +0 -0
- package/vendor/raylib/examples/textures/resources/spark_flame.png +0 -0
- package/vendor/raylib/examples/textures/resources/wabbit_alpha.png +0 -0
- package/vendor/raylib/examples/textures/textures_background_scrolling.c +87 -0
- package/vendor/raylib/examples/textures/textures_background_scrolling.png +0 -0
- package/vendor/raylib/examples/textures/textures_blend_modes.c +93 -0
- package/vendor/raylib/examples/textures/textures_blend_modes.png +0 -0
- package/vendor/raylib/examples/textures/textures_bunnymark.c +120 -0
- package/vendor/raylib/examples/textures/textures_bunnymark.png +0 -0
- package/vendor/raylib/examples/textures/textures_draw_tiled.c +165 -0
- package/vendor/raylib/examples/textures/textures_draw_tiled.png +0 -0
- package/vendor/raylib/examples/textures/textures_image_drawing.c +91 -0
- package/vendor/raylib/examples/textures/textures_image_drawing.png +0 -0
- package/vendor/raylib/examples/textures/textures_image_generation.c +102 -0
- package/vendor/raylib/examples/textures/textures_image_generation.png +0 -0
- package/vendor/raylib/examples/textures/textures_image_loading.c +64 -0
- package/vendor/raylib/examples/textures/textures_image_loading.png +0 -0
- package/vendor/raylib/examples/textures/textures_image_processing.c +169 -0
- package/vendor/raylib/examples/textures/textures_image_processing.png +0 -0
- package/vendor/raylib/examples/textures/textures_image_text.c +83 -0
- package/vendor/raylib/examples/textures/textures_image_text.png +0 -0
- package/vendor/raylib/examples/textures/textures_logo_raylib.c +57 -0
- package/vendor/raylib/examples/textures/textures_logo_raylib.png +0 -0
- package/vendor/raylib/examples/textures/textures_mouse_painting.c +221 -0
- package/vendor/raylib/examples/textures/textures_mouse_painting.png +0 -0
- package/vendor/raylib/examples/textures/textures_npatch_drawing.c +109 -0
- package/vendor/raylib/examples/textures/textures_npatch_drawing.png +0 -0
- package/vendor/raylib/examples/textures/textures_particles_blending.c +135 -0
- package/vendor/raylib/examples/textures/textures_particles_blending.png +0 -0
- package/vendor/raylib/examples/textures/textures_polygon.c +100 -0
- package/vendor/raylib/examples/textures/textures_polygon.png +0 -0
- package/vendor/raylib/examples/textures/textures_raw_data.c +99 -0
- package/vendor/raylib/examples/textures/textures_raw_data.png +0 -0
- package/vendor/raylib/examples/textures/textures_rectangle.c +99 -0
- package/vendor/raylib/examples/textures/textures_rectangle.png +0 -0
- package/vendor/raylib/examples/textures/textures_sprite_button.c +97 -0
- package/vendor/raylib/examples/textures/textures_sprite_button.png +0 -0
- package/vendor/raylib/examples/textures/textures_sprite_explosion.c +120 -0
- package/vendor/raylib/examples/textures/textures_sprite_explosion.png +0 -0
- package/vendor/raylib/examples/textures/textures_srcrec_dstrec.c +82 -0
- package/vendor/raylib/examples/textures/textures_srcrec_dstrec.png +0 -0
- package/vendor/raylib/examples/textures/textures_to_image.c +68 -0
- package/vendor/raylib/examples/textures/textures_to_image.png +0 -0
- package/vendor/raylib/logo/raylib.ico +0 -0
- package/vendor/raylib/logo/raylib_128x128.png +0 -0
- package/vendor/raylib/logo/raylib_144x144.png +0 -0
- package/vendor/raylib/logo/raylib_16x16.png +0 -0
- package/vendor/raylib/logo/raylib_180x180.png +0 -0
- package/vendor/raylib/logo/raylib_24x24.png +0 -0
- package/vendor/raylib/logo/raylib_256x256.png +0 -0
- package/vendor/raylib/logo/raylib_32x32.png +0 -0
- package/vendor/raylib/logo/raylib_36x36.png +0 -0
- package/vendor/raylib/logo/raylib_48x48.png +0 -0
- package/vendor/raylib/logo/raylib_512x512.png +0 -0
- package/vendor/raylib/logo/raylib_64x64.png +0 -0
- package/vendor/raylib/logo/raylib_72x72.png +0 -0
- package/vendor/raylib/logo/raylib_96x96.png +0 -0
- package/vendor/raylib/logo/raylib_logo_animation.gif +0 -0
- package/vendor/raylib/parser/LICENSE +16 -0
- package/vendor/raylib/parser/README.md +63 -0
- package/vendor/raylib/parser/raylib_api.json +6668 -0
- package/vendor/raylib/parser/raylib_api.txt +3568 -0
- package/vendor/raylib/parser/raylib_api.xml +2509 -0
- package/vendor/raylib/parser/raylib_parser.c +1003 -0
- package/vendor/raylib/projects/4coder/Makefile +401 -0
- package/vendor/raylib/projects/4coder/Makefile.Android +300 -0
- package/vendor/raylib/projects/4coder/main.c +39 -0
- package/vendor/raylib/projects/4coder/project.4coder +54 -0
- package/vendor/raylib/projects/Builder/README.md +24 -0
- package/vendor/raylib/projects/Builder/examples/README.md +1 -0
- package/vendor/raylib/projects/Builder/examples/meson.build +25 -0
- package/vendor/raylib/projects/Builder/meson.build +25 -0
- package/vendor/raylib/projects/CMake/CMakeLists.txt +44 -0
- package/vendor/raylib/projects/CMake/core_basic_window.c +62 -0
- package/vendor/raylib/projects/CodeBlocks/README.md +22 -0
- package/vendor/raylib/projects/CodeBlocks/compiler_settings.png +0 -0
- package/vendor/raylib/projects/CodeBlocks/core_basic_window.c +58 -0
- package/vendor/raylib/projects/CodeBlocks/core_basic_window.cbp +137 -0
- package/vendor/raylib/projects/Geany/core_basic_window.c +52 -0
- package/vendor/raylib/projects/Geany/raylib.c.tags +452 -0
- package/vendor/raylib/projects/Geany/raylib_compile_execute.bat +21 -0
- package/vendor/raylib/projects/Geany/raylib_compile_sources.bat +42 -0
- package/vendor/raylib/projects/Geany/raylib_project.geany +41 -0
- package/vendor/raylib/projects/Notepad++/README.md +19 -0
- package/vendor/raylib/projects/Notepad++/c_raylib.xml +3104 -0
- package/vendor/raylib/projects/Notepad++/npes_saved_mingw.txt +0 -0
- package/vendor/raylib/projects/Notepad++/npes_saved_tcc.txt +0 -0
- package/vendor/raylib/projects/Notepad++/npes_saved_w64devkit.txt +0 -0
- package/vendor/raylib/projects/Notepad++/npes_saved_zig.txt +0 -0
- package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +3060 -0
- package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp_parser.c +150 -0
- package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +631 -0
- package/vendor/raylib/projects/README.md +18 -0
- package/vendor/raylib/projects/SublimeText/README.md +13 -0
- package/vendor/raylib/projects/SublimeText/raylib.sublime-build +13 -0
- package/vendor/raylib/projects/SublimeText/raylib.sublime-project +8 -0
- package/vendor/raylib/projects/VS2019/raylib/raylib.rc +0 -0
- package/vendor/raylib/projects/VS2019/raylib/resource.h +14 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/android_native_app_glue.c +437 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/android_native_app_glue.h +344 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/main.c +64 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/AndroidManifest.xml +22 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/build.xml +90 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/project.properties +3 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/raylib_android.Packaging.androidproj +134 -0
- package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/res/values/strings.xml +4 -0
- package/vendor/raylib/projects/VSCode/.vscode/c_cpp_properties.json +63 -0
- package/vendor/raylib/projects/VSCode/.vscode/launch.json +60 -0
- package/vendor/raylib/projects/VSCode/.vscode/settings.json +11 -0
- package/vendor/raylib/projects/VSCode/.vscode/tasks.json +71 -0
- package/vendor/raylib/projects/VSCode/Makefile +408 -0
- package/vendor/raylib/projects/VSCode/Makefile.Android +300 -0
- package/vendor/raylib/projects/VSCode/main.c +83 -0
- package/vendor/raylib/projects/VSCode/main.code-workspace +16 -0
- package/vendor/raylib/projects/scripts/README.md +68 -0
- package/vendor/raylib/projects/scripts/build-linux.sh +169 -0
- package/vendor/raylib/projects/scripts/build-osx.sh +171 -0
- package/vendor/raylib/projects/scripts/build-rpi.sh +169 -0
- package/vendor/raylib/projects/scripts/build-windows.bat +219 -0
- package/vendor/raylib/projects/scripts/core_basic_window.c +61 -0
- package/vendor/raylib/raylib.pc.in +13 -0
- package/vendor/raylib/src/CMakeLists.txt +121 -0
- package/vendor/raylib/src/Makefile +696 -0
- package/vendor/raylib/src/build.zig +60 -0
- package/vendor/raylib/src/config.h +230 -0
- package/vendor/raylib/src/external/cgltf.h +6501 -0
- package/vendor/raylib/src/external/dirent.h +183 -0
- package/vendor/raylib/src/external/dr_flac.h +12269 -0
- package/vendor/raylib/src/external/dr_mp3.h +4787 -0
- package/vendor/raylib/src/external/dr_wav.h +8019 -0
- package/vendor/raylib/src/external/glad.h +8640 -0
- package/vendor/raylib/src/external/glfw/.mailmap +10 -0
- package/vendor/raylib/src/external/glfw/CMake/GenerateMappings.cmake +33 -0
- package/vendor/raylib/src/external/glfw/CMake/Info.plist.in +38 -0
- package/vendor/raylib/src/external/glfw/CMake/MacOSXBundleInfo.plist.in +38 -0
- package/vendor/raylib/src/external/glfw/CMake/cmake_uninstall.cmake.in +29 -0
- package/vendor/raylib/src/external/glfw/CMake/glfw3.pc.in +13 -0
- package/vendor/raylib/src/external/glfw/CMake/glfw3Config.cmake.in +3 -0
- package/vendor/raylib/src/external/glfw/CMake/i686-w64-mingw32-clang.cmake +13 -0
- package/vendor/raylib/src/external/glfw/CMake/i686-w64-mingw32.cmake +13 -0
- package/vendor/raylib/src/external/glfw/CMake/modules/FindEpollShim.cmake +17 -0
- package/vendor/raylib/src/external/glfw/CMake/modules/FindOSMesa.cmake +18 -0
- package/vendor/raylib/src/external/glfw/CMake/modules/FindWaylandProtocols.cmake +26 -0
- package/vendor/raylib/src/external/glfw/CMake/modules/FindXKBCommon.cmake +34 -0
- package/vendor/raylib/src/external/glfw/CMake/x86_64-w64-mingw32-clang.cmake +13 -0
- package/vendor/raylib/src/external/glfw/CMake/x86_64-w64-mingw32.cmake +13 -0
- package/vendor/raylib/src/external/glfw/CMakeLists.txt +323 -0
- package/vendor/raylib/src/external/glfw/LICENSE.md +23 -0
- package/vendor/raylib/src/external/glfw/README.md +477 -0
- package/vendor/raylib/src/external/glfw/deps/getopt.c +230 -0
- package/vendor/raylib/src/external/glfw/deps/getopt.h +57 -0
- package/vendor/raylib/src/external/glfw/deps/glad/gl.h +3840 -0
- package/vendor/raylib/src/external/glfw/deps/glad/khrplatform.h +282 -0
- package/vendor/raylib/src/external/glfw/deps/glad/vk_platform.h +92 -0
- package/vendor/raylib/src/external/glfw/deps/glad/vulkan.h +3480 -0
- package/vendor/raylib/src/external/glfw/deps/glad_gl.c +1791 -0
- package/vendor/raylib/src/external/glfw/deps/glad_vulkan.c +593 -0
- package/vendor/raylib/src/external/glfw/deps/mingw/_mingw_dxhelper.h +117 -0
- package/vendor/raylib/src/external/glfw/deps/mingw/dinput.h +2467 -0
- package/vendor/raylib/src/external/glfw/deps/mingw/xinput.h +239 -0
- package/vendor/raylib/src/external/glfw/deps/vs2008/stdint.h +247 -0
- package/vendor/raylib/src/external/glfw/include/GLFW/glfw3.h +6075 -0
- package/vendor/raylib/src/external/glfw/include/GLFW/glfw3native.h +530 -0
- package/vendor/raylib/src/external/glfw/src/CMakeLists.txt +246 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_init.m +620 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_joystick.h +46 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_joystick.m +483 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_monitor.m +631 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_platform.h +206 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_time.c +62 -0
- package/vendor/raylib/src/external/glfw/src/cocoa_window.m +1923 -0
- package/vendor/raylib/src/external/glfw/src/context.c +756 -0
- package/vendor/raylib/src/external/glfw/src/egl_context.c +846 -0
- package/vendor/raylib/src/external/glfw/src/egl_context.h +229 -0
- package/vendor/raylib/src/external/glfw/src/glfw.rc.in +30 -0
- package/vendor/raylib/src/external/glfw/src/glfw_config.h.in +58 -0
- package/vendor/raylib/src/external/glfw/src/glx_context.c +699 -0
- package/vendor/raylib/src/external/glfw/src/glx_context.h +181 -0
- package/vendor/raylib/src/external/glfw/src/init.c +357 -0
- package/vendor/raylib/src/external/glfw/src/input.c +1406 -0
- package/vendor/raylib/src/external/glfw/src/internal.h +799 -0
- package/vendor/raylib/src/external/glfw/src/linux_joystick.c +428 -0
- package/vendor/raylib/src/external/glfw/src/linux_joystick.h +59 -0
- package/vendor/raylib/src/external/glfw/src/mappings.h +1550 -0
- package/vendor/raylib/src/external/glfw/src/mappings.h.in +73 -0
- package/vendor/raylib/src/external/glfw/src/monitor.c +542 -0
- package/vendor/raylib/src/external/glfw/src/nsgl_context.h +66 -0
- package/vendor/raylib/src/external/glfw/src/nsgl_context.m +369 -0
- package/vendor/raylib/src/external/glfw/src/null_init.c +57 -0
- package/vendor/raylib/src/external/glfw/src/null_joystick.c +53 -0
- package/vendor/raylib/src/external/glfw/src/null_joystick.h +31 -0
- package/vendor/raylib/src/external/glfw/src/null_monitor.c +159 -0
- package/vendor/raylib/src/external/glfw/src/null_platform.h +89 -0
- package/vendor/raylib/src/external/glfw/src/null_window.c +670 -0
- package/vendor/raylib/src/external/glfw/src/osmesa_context.c +372 -0
- package/vendor/raylib/src/external/glfw/src/osmesa_context.h +90 -0
- package/vendor/raylib/src/external/glfw/src/posix_thread.c +105 -0
- package/vendor/raylib/src/external/glfw/src/posix_thread.h +51 -0
- package/vendor/raylib/src/external/glfw/src/posix_time.c +90 -0
- package/vendor/raylib/src/external/glfw/src/posix_time.h +44 -0
- package/vendor/raylib/src/external/glfw/src/vulkan.c +332 -0
- package/vendor/raylib/src/external/glfw/src/wgl_context.c +798 -0
- package/vendor/raylib/src/external/glfw/src/wgl_context.h +160 -0
- package/vendor/raylib/src/external/glfw/src/win32_init.c +636 -0
- package/vendor/raylib/src/external/glfw/src/win32_joystick.c +753 -0
- package/vendor/raylib/src/external/glfw/src/win32_joystick.h +53 -0
- package/vendor/raylib/src/external/glfw/src/win32_monitor.c +537 -0
- package/vendor/raylib/src/external/glfw/src/win32_platform.h +462 -0
- package/vendor/raylib/src/external/glfw/src/win32_thread.c +99 -0
- package/vendor/raylib/src/external/glfw/src/win32_time.c +76 -0
- package/vendor/raylib/src/external/glfw/src/win32_window.c +2405 -0
- package/vendor/raylib/src/external/glfw/src/window.c +1114 -0
- package/vendor/raylib/src/external/glfw/src/wl_init.c +1310 -0
- package/vendor/raylib/src/external/glfw/src/wl_monitor.c +231 -0
- package/vendor/raylib/src/external/glfw/src/wl_platform.h +352 -0
- package/vendor/raylib/src/external/glfw/src/wl_window.c +1814 -0
- package/vendor/raylib/src/external/glfw/src/x11_init.c +1500 -0
- package/vendor/raylib/src/external/glfw/src/x11_monitor.c +614 -0
- package/vendor/raylib/src/external/glfw/src/x11_platform.h +798 -0
- package/vendor/raylib/src/external/glfw/src/x11_window.c +3310 -0
- package/vendor/raylib/src/external/glfw/src/xkb_unicode.c +942 -0
- package/vendor/raylib/src/external/glfw/src/xkb_unicode.h +28 -0
- package/vendor/raylib/src/external/jar_mod.h +1596 -0
- package/vendor/raylib/src/external/jar_xm.h +2470 -0
- package/vendor/raylib/src/external/miniaudio.h +70273 -0
- package/vendor/raylib/src/external/msf_gif.h +717 -0
- package/vendor/raylib/src/external/par_shapes.h +2155 -0
- package/vendor/raylib/src/external/sdefl.h +696 -0
- package/vendor/raylib/src/external/sinfl.h +584 -0
- package/vendor/raylib/src/external/stb_image.h +7897 -0
- package/vendor/raylib/src/external/stb_image_resize.h +2634 -0
- package/vendor/raylib/src/external/stb_image_write.h +1724 -0
- package/vendor/raylib/src/external/stb_rect_pack.h +623 -0
- package/vendor/raylib/src/external/stb_truetype.h +5077 -0
- package/vendor/raylib/src/external/stb_vorbis.h +5475 -0
- package/vendor/raylib/src/external/tinyobj_loader_c.h +1589 -0
- package/vendor/raylib/src/external/vox_loader.h +710 -0
- package/vendor/raylib/src/extras/easings.h +263 -0
- package/vendor/raylib/src/extras/physac.h +1977 -0
- package/vendor/raylib/src/extras/raygui.h +4342 -0
- package/vendor/raylib/src/extras/rmem.h +751 -0
- package/vendor/raylib/src/raudio.c +2380 -0
- package/vendor/raylib/src/raudio.h +198 -0
- package/vendor/raylib/src/raylib.dll.rc +27 -0
- package/vendor/raylib/src/raylib.dll.rc.data +0 -0
- package/vendor/raylib/src/raylib.h +1536 -0
- package/vendor/raylib/src/raylib.ico +0 -0
- package/vendor/raylib/src/raylib.rc +27 -0
- package/vendor/raylib/src/raylib.rc.data +0 -0
- package/vendor/raylib/src/raymath.h +1853 -0
- package/vendor/raylib/src/rcamera.h +567 -0
- package/vendor/raylib/src/rcore.c +6772 -0
- package/vendor/raylib/src/rgestures.h +566 -0
- package/vendor/raylib/src/rglfw.c +126 -0
- package/vendor/raylib/src/rlgl.h +4677 -0
- package/vendor/raylib/src/rmodels.c +5041 -0
- package/vendor/raylib/src/rshapes.c +1759 -0
- package/vendor/raylib/src/rtext.c +1790 -0
- package/vendor/raylib/src/rtextures.c +4761 -0
- package/vendor/raylib/src/shell.html +328 -0
- package/vendor/raylib/src/utils.c +433 -0
- package/vendor/raylib/src/utils.h +81 -0
- package/vendor/sqlite3/shell.c +23487 -0
- package/vendor/sqlite3/sqlite3.c +239246 -0
- package/vendor/sqlite3/sqlite3.h +12802 -0
- package/vendor/sqlite3/sqlite3ext.h +689 -0
- package/CMakeLists.txt +0 -63
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
/*******************************************************************************************
|
|
2
|
+
*
|
|
3
|
+
* raylib [rlgl] example - Using rlgl module as standalone module
|
|
4
|
+
*
|
|
5
|
+
* rlgl library is an abstraction layer for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0)
|
|
6
|
+
* that provides a pseudo-OpenGL 1.1 immediate-mode style API (rlVertex, rlTranslate, rlRotate...)
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This example requires OpenGL 3.3 or OpenGL ES 2.0 for shaders support,
|
|
9
|
+
* OpenGL 1.1 does not support shaders but it can also be used.
|
|
10
|
+
*
|
|
11
|
+
* DEPENDENCIES:
|
|
12
|
+
* glfw3 - Windows and context initialization library
|
|
13
|
+
* rlgl.h - OpenGL abstraction layer to OpenGL 1.1, 3.3 or ES2
|
|
14
|
+
* glad.h - OpenGL extensions initialization library (required by rlgl)
|
|
15
|
+
* raymath.h - 3D math library
|
|
16
|
+
*
|
|
17
|
+
* WINDOWS COMPILATION:
|
|
18
|
+
* gcc -o rlgl_standalone.exe rlgl_standalone.c -s -Iexternal\include -I..\..\src \
|
|
19
|
+
* -L. -Lexternal\lib -lglfw3 -lopengl32 -lgdi32 -Wall -std=c99 -DGRAPHICS_API_OPENGL_33
|
|
20
|
+
*
|
|
21
|
+
* APPLE COMPILATION:
|
|
22
|
+
* gcc -o rlgl_standalone rlgl_standalone.c -I../../src -Iexternal/include -Lexternal/lib \
|
|
23
|
+
* -lglfw3 -framework CoreVideo -framework OpenGL -framework IOKit -framework Cocoa
|
|
24
|
+
* -Wno-deprecated-declarations -std=c99 -DGRAPHICS_API_OPENGL_33
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
* LICENSE: zlib/libpng
|
|
28
|
+
*
|
|
29
|
+
* This example is licensed under an unmodified zlib/libpng license, which is an OSI-certified,
|
|
30
|
+
* BSD-like license that allows static linking with closed source software:
|
|
31
|
+
*
|
|
32
|
+
* Copyright (c) 2014-2021 Ramon Santamaria (@raysan5)
|
|
33
|
+
*
|
|
34
|
+
* This software is provided "as-is", without any express or implied warranty. In no event
|
|
35
|
+
* will the authors be held liable for any damages arising from the use of this software.
|
|
36
|
+
*
|
|
37
|
+
* Permission is granted to anyone to use this software for any purpose, including commercial
|
|
38
|
+
* applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
|
39
|
+
*
|
|
40
|
+
* 1. The origin of this software must not be misrepresented; you must not claim that you
|
|
41
|
+
* wrote the original software. If you use this software in a product, an acknowledgment
|
|
42
|
+
* in the product documentation would be appreciated but is not required.
|
|
43
|
+
*
|
|
44
|
+
* 2. Altered source versions must be plainly marked as such, and must not be misrepresented
|
|
45
|
+
* as being the original software.
|
|
46
|
+
*
|
|
47
|
+
* 3. This notice may not be removed or altered from any source distribution.
|
|
48
|
+
*
|
|
49
|
+
********************************************************************************************/
|
|
50
|
+
|
|
51
|
+
// NOTE: rlgl can be configured just re-defining the following values:
|
|
52
|
+
//#define RL_DEFAULT_BATCH_BUFFER_ELEMENTS 8192 // Default internal render batch elements limits
|
|
53
|
+
//#define RL_DEFAULT_BATCH_BUFFERS 1 // Default number of batch buffers (multi-buffering)
|
|
54
|
+
//#define RL_DEFAULT_BATCH_DRAWCALLS 256 // Default number of batch draw calls (by state changes: mode, texture)
|
|
55
|
+
//#define RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS 4 // Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())
|
|
56
|
+
//#define RL_MAX_MATRIX_STACK_SIZE 32 // Maximum size of internal Matrix stack
|
|
57
|
+
//#define RL_MAX_SHADER_LOCATIONS 32 // Maximum number of shader locations supported
|
|
58
|
+
//#define RL_CULL_DISTANCE_NEAR 0.01 // Default projection matrix near cull distance
|
|
59
|
+
//#define RL_CULL_DISTANCE_FAR 1000.0 // Default projection matrix far cull distance
|
|
60
|
+
|
|
61
|
+
#define RLGL_IMPLEMENTATION
|
|
62
|
+
#include "rlgl.h" // OpenGL abstraction layer to OpenGL 1.1, 3.3+ or ES2
|
|
63
|
+
|
|
64
|
+
#define RAYMATH_STATIC_INLINE
|
|
65
|
+
#include "raymath.h" // Vector2, Vector3, Quaternion and Matrix functionality
|
|
66
|
+
|
|
67
|
+
#if defined(__EMSCRIPTEN__)
|
|
68
|
+
#define GLFW_INCLUDE_ES2
|
|
69
|
+
#endif
|
|
70
|
+
#include "GLFW/glfw3.h" // Windows/Context and inputs management
|
|
71
|
+
|
|
72
|
+
#include <stdio.h> // Required for: printf()
|
|
73
|
+
|
|
74
|
+
#define RED (Color){ 230, 41, 55, 255 } // Red
|
|
75
|
+
#define RAYWHITE (Color){ 245, 245, 245, 255 } // My own White (raylib logo)
|
|
76
|
+
#define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray
|
|
77
|
+
|
|
78
|
+
//----------------------------------------------------------------------------------
|
|
79
|
+
// Structures Definition
|
|
80
|
+
//----------------------------------------------------------------------------------
|
|
81
|
+
// Color, 4 components, R8G8B8A8 (32bit)
|
|
82
|
+
typedef struct Color {
|
|
83
|
+
unsigned char r; // Color red value
|
|
84
|
+
unsigned char g; // Color green value
|
|
85
|
+
unsigned char b; // Color blue value
|
|
86
|
+
unsigned char a; // Color alpha value
|
|
87
|
+
} Color;
|
|
88
|
+
|
|
89
|
+
// Camera type, defines a camera position/orientation in 3d space
|
|
90
|
+
typedef struct Camera {
|
|
91
|
+
Vector3 position; // Camera position
|
|
92
|
+
Vector3 target; // Camera target it looks-at
|
|
93
|
+
Vector3 up; // Camera up vector (rotation over its axis)
|
|
94
|
+
float fovy; // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic
|
|
95
|
+
int projection; // Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
|
|
96
|
+
} Camera;
|
|
97
|
+
|
|
98
|
+
//----------------------------------------------------------------------------------
|
|
99
|
+
// Module specific Functions Declaration
|
|
100
|
+
//----------------------------------------------------------------------------------
|
|
101
|
+
static void ErrorCallback(int error, const char *description);
|
|
102
|
+
static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods);
|
|
103
|
+
|
|
104
|
+
// Drawing functions (uses rlgl functionality)
|
|
105
|
+
static void DrawGrid(int slices, float spacing);
|
|
106
|
+
static void DrawCube(Vector3 position, float width, float height, float length, Color color);
|
|
107
|
+
static void DrawCubeWires(Vector3 position, float width, float height, float length, Color color);
|
|
108
|
+
static void DrawRectangleV(Vector2 position, Vector2 size, Color color);
|
|
109
|
+
|
|
110
|
+
// NOTE: We use raymath to get this functionality but it could be implemented in this module
|
|
111
|
+
//static Matrix MatrixIdentity(void);
|
|
112
|
+
//static Matrix MatrixOrtho(double left, double right, double bottom, double top, double near, double far);
|
|
113
|
+
//static Matrix MatrixPerspective(double fovy, double aspect, double near, double far);
|
|
114
|
+
//static Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up);
|
|
115
|
+
|
|
116
|
+
//----------------------------------------------------------------------------------
|
|
117
|
+
// Main Entry point
|
|
118
|
+
//----------------------------------------------------------------------------------
|
|
119
|
+
int main(void)
|
|
120
|
+
{
|
|
121
|
+
// Initialization
|
|
122
|
+
//--------------------------------------------------------------------------------------
|
|
123
|
+
const int screenWidth = 800;
|
|
124
|
+
const int screenHeight = 450;
|
|
125
|
+
|
|
126
|
+
// GLFW3 Initialization + OpenGL 3.3 Context + Extensions
|
|
127
|
+
//--------------------------------------------------------
|
|
128
|
+
glfwSetErrorCallback(ErrorCallback);
|
|
129
|
+
|
|
130
|
+
if (!glfwInit())
|
|
131
|
+
{
|
|
132
|
+
printf("GLFW3: Can not initialize GLFW\n");
|
|
133
|
+
return 1;
|
|
134
|
+
}
|
|
135
|
+
else printf("GLFW3: GLFW initialized successfully\n");
|
|
136
|
+
|
|
137
|
+
glfwWindowHint(GLFW_SAMPLES, 4);
|
|
138
|
+
glfwWindowHint(GLFW_DEPTH_BITS, 16);
|
|
139
|
+
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
|
140
|
+
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
|
141
|
+
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
|
142
|
+
//glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GL_TRUE);
|
|
143
|
+
#if defined(__APPLE__)
|
|
144
|
+
glfwWindowHint( GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE );
|
|
145
|
+
#endif
|
|
146
|
+
|
|
147
|
+
GLFWwindow *window = glfwCreateWindow(screenWidth, screenHeight, "rlgl standalone", NULL, NULL);
|
|
148
|
+
|
|
149
|
+
if (!window)
|
|
150
|
+
{
|
|
151
|
+
glfwTerminate();
|
|
152
|
+
return 2;
|
|
153
|
+
}
|
|
154
|
+
else printf("GLFW3: Window created successfully\n");
|
|
155
|
+
|
|
156
|
+
glfwSetWindowPos(window, 200, 200);
|
|
157
|
+
|
|
158
|
+
glfwSetKeyCallback(window, KeyCallback);
|
|
159
|
+
|
|
160
|
+
glfwMakeContextCurrent(window);
|
|
161
|
+
glfwSwapInterval(0);
|
|
162
|
+
|
|
163
|
+
// Load OpenGL 3.3 supported extensions
|
|
164
|
+
rlLoadExtensions(glfwGetProcAddress);
|
|
165
|
+
//--------------------------------------------------------
|
|
166
|
+
|
|
167
|
+
// Initialize OpenGL context (states and resources)
|
|
168
|
+
rlglInit(screenWidth, screenHeight);
|
|
169
|
+
|
|
170
|
+
// Initialize viewport and internal projection/modelview matrices
|
|
171
|
+
rlViewport(0, 0, screenWidth, screenHeight);
|
|
172
|
+
rlMatrixMode(RL_PROJECTION); // Switch to PROJECTION matrix
|
|
173
|
+
rlLoadIdentity(); // Reset current matrix (PROJECTION)
|
|
174
|
+
rlOrtho(0, screenWidth, screenHeight, 0, 0.0f, 1.0f); // Orthographic projection with top-left corner at (0,0)
|
|
175
|
+
rlMatrixMode(RL_MODELVIEW); // Switch back to MODELVIEW matrix
|
|
176
|
+
rlLoadIdentity(); // Reset current matrix (MODELVIEW)
|
|
177
|
+
|
|
178
|
+
rlClearColor(245, 245, 245, 255); // Define clear color
|
|
179
|
+
rlEnableDepthTest(); // Enable DEPTH_TEST for 3D
|
|
180
|
+
|
|
181
|
+
Camera camera = { 0 };
|
|
182
|
+
camera.position = (Vector3){ 5.0f, 5.0f, 5.0f }; // Camera position
|
|
183
|
+
camera.target = (Vector3){ 0.0f, 0.0f, 0.0f }; // Camera looking at point
|
|
184
|
+
camera.up = (Vector3){ 0.0f, 1.0f, 0.0f }; // Camera up vector (rotation towards target)
|
|
185
|
+
camera.fovy = 45.0f; // Camera field-of-view Y
|
|
186
|
+
|
|
187
|
+
Vector3 cubePosition = { 0.0f, 0.0f, 0.0f }; // Cube default position (center)
|
|
188
|
+
//--------------------------------------------------------------------------------------
|
|
189
|
+
|
|
190
|
+
// Main game loop
|
|
191
|
+
while (!glfwWindowShouldClose(window))
|
|
192
|
+
{
|
|
193
|
+
// Update
|
|
194
|
+
//----------------------------------------------------------------------------------
|
|
195
|
+
//camera.position.x += 0.01f;
|
|
196
|
+
//----------------------------------------------------------------------------------
|
|
197
|
+
|
|
198
|
+
// Draw
|
|
199
|
+
//----------------------------------------------------------------------------------
|
|
200
|
+
rlClearScreenBuffers(); // Clear current framebuffer
|
|
201
|
+
|
|
202
|
+
// Draw '3D' elements in the scene
|
|
203
|
+
//-----------------------------------------------
|
|
204
|
+
// Calculate projection matrix (from perspective) and view matrix from camera look at
|
|
205
|
+
Matrix matProj = MatrixPerspective((double)(camera.fovy*DEG2RAD), (double)screenWidth/(double)screenHeight, 0.01, 1000.0);
|
|
206
|
+
Matrix matView = MatrixLookAt(camera.position, camera.target, camera.up);
|
|
207
|
+
|
|
208
|
+
rlSetMatrixModelview(matView); // Set internal modelview matrix (default shader)
|
|
209
|
+
rlSetMatrixProjection(matProj); // Set internal projection matrix (default shader)
|
|
210
|
+
|
|
211
|
+
DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED);
|
|
212
|
+
DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, RAYWHITE);
|
|
213
|
+
DrawGrid(10, 1.0f);
|
|
214
|
+
|
|
215
|
+
// Draw internal render batch buffers (3D data)
|
|
216
|
+
rlDrawRenderBatchActive();
|
|
217
|
+
//-----------------------------------------------
|
|
218
|
+
|
|
219
|
+
// Draw '2D' elements in the scene (GUI)
|
|
220
|
+
//-----------------------------------------------
|
|
221
|
+
#define RLGL_SET_MATRIX_MANUALLY
|
|
222
|
+
#if defined(RLGL_SET_MATRIX_MANUALLY)
|
|
223
|
+
matProj = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0);
|
|
224
|
+
matView = MatrixIdentity();
|
|
225
|
+
|
|
226
|
+
rlSetMatrixModelview(matView); // Set internal modelview matrix (default shader)
|
|
227
|
+
rlSetMatrixProjection(matProj); // Set internal projection matrix (default shader)
|
|
228
|
+
|
|
229
|
+
#else // Let rlgl generate and multiply matrix internally
|
|
230
|
+
|
|
231
|
+
rlMatrixMode(RL_PROJECTION); // Enable internal projection matrix
|
|
232
|
+
rlLoadIdentity(); // Reset internal projection matrix
|
|
233
|
+
rlOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); // Recalculate internal projection matrix
|
|
234
|
+
rlMatrixMode(RL_MODELVIEW); // Enable internal modelview matrix
|
|
235
|
+
rlLoadIdentity(); // Reset internal modelview matrix
|
|
236
|
+
#endif
|
|
237
|
+
DrawRectangleV((Vector2){ 10.0f, 10.0f }, (Vector2){ 780.0f, 20.0f }, DARKGRAY);
|
|
238
|
+
|
|
239
|
+
// Draw internal render batch buffers (2D data)
|
|
240
|
+
rlDrawRenderBatchActive();
|
|
241
|
+
//-----------------------------------------------
|
|
242
|
+
|
|
243
|
+
glfwSwapBuffers(window);
|
|
244
|
+
glfwPollEvents();
|
|
245
|
+
//----------------------------------------------------------------------------------
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
// De-Initialization
|
|
249
|
+
//--------------------------------------------------------------------------------------
|
|
250
|
+
rlglClose(); // Unload rlgl internal buffers and default shader/texture
|
|
251
|
+
|
|
252
|
+
glfwDestroyWindow(window); // Close window
|
|
253
|
+
glfwTerminate(); // Free GLFW3 resources
|
|
254
|
+
//--------------------------------------------------------------------------------------
|
|
255
|
+
|
|
256
|
+
return 0;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
//----------------------------------------------------------------------------------
|
|
260
|
+
// Module specific Functions Definitions
|
|
261
|
+
//----------------------------------------------------------------------------------
|
|
262
|
+
|
|
263
|
+
// GLFW3: Error callback
|
|
264
|
+
static void ErrorCallback(int error, const char *description)
|
|
265
|
+
{
|
|
266
|
+
fprintf(stderr, "%s", description);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// GLFW3: Keyboard callback
|
|
270
|
+
static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods)
|
|
271
|
+
{
|
|
272
|
+
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
|
|
273
|
+
{
|
|
274
|
+
glfwSetWindowShouldClose(window, GL_TRUE);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// Draw rectangle using rlgl OpenGL 1.1 style coding (translated to OpenGL 3.3 internally)
|
|
279
|
+
static void DrawRectangleV(Vector2 position, Vector2 size, Color color)
|
|
280
|
+
{
|
|
281
|
+
rlBegin(RL_TRIANGLES);
|
|
282
|
+
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
283
|
+
|
|
284
|
+
rlVertex2f(position.x, position.y);
|
|
285
|
+
rlVertex2f(position.x, position.y + size.y);
|
|
286
|
+
rlVertex2f(position.x + size.x, position.y + size.y);
|
|
287
|
+
|
|
288
|
+
rlVertex2f(position.x, position.y);
|
|
289
|
+
rlVertex2f(position.x + size.x, position.y + size.y);
|
|
290
|
+
rlVertex2f(position.x + size.x, position.y);
|
|
291
|
+
rlEnd();
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// Draw a grid centered at (0, 0, 0)
|
|
295
|
+
static void DrawGrid(int slices, float spacing)
|
|
296
|
+
{
|
|
297
|
+
int halfSlices = slices / 2;
|
|
298
|
+
|
|
299
|
+
rlBegin(RL_LINES);
|
|
300
|
+
for (int i = -halfSlices; i <= halfSlices; i++)
|
|
301
|
+
{
|
|
302
|
+
if (i == 0)
|
|
303
|
+
{
|
|
304
|
+
rlColor3f(0.5f, 0.5f, 0.5f);
|
|
305
|
+
rlColor3f(0.5f, 0.5f, 0.5f);
|
|
306
|
+
rlColor3f(0.5f, 0.5f, 0.5f);
|
|
307
|
+
rlColor3f(0.5f, 0.5f, 0.5f);
|
|
308
|
+
}
|
|
309
|
+
else
|
|
310
|
+
{
|
|
311
|
+
rlColor3f(0.75f, 0.75f, 0.75f);
|
|
312
|
+
rlColor3f(0.75f, 0.75f, 0.75f);
|
|
313
|
+
rlColor3f(0.75f, 0.75f, 0.75f);
|
|
314
|
+
rlColor3f(0.75f, 0.75f, 0.75f);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
rlVertex3f((float)i*spacing, 0.0f, (float)-halfSlices*spacing);
|
|
318
|
+
rlVertex3f((float)i*spacing, 0.0f, (float)halfSlices*spacing);
|
|
319
|
+
|
|
320
|
+
rlVertex3f((float)-halfSlices*spacing, 0.0f, (float)i*spacing);
|
|
321
|
+
rlVertex3f((float)halfSlices*spacing, 0.0f, (float)i*spacing);
|
|
322
|
+
}
|
|
323
|
+
rlEnd();
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// Draw cube
|
|
327
|
+
// NOTE: Cube position is the center position
|
|
328
|
+
static void DrawCube(Vector3 position, float width, float height, float length, Color color)
|
|
329
|
+
{
|
|
330
|
+
float x = 0.0f;
|
|
331
|
+
float y = 0.0f;
|
|
332
|
+
float z = 0.0f;
|
|
333
|
+
|
|
334
|
+
rlPushMatrix();
|
|
335
|
+
|
|
336
|
+
// NOTE: Be careful! Function order matters (rotate -> scale -> translate)
|
|
337
|
+
rlTranslatef(position.x, position.y, position.z);
|
|
338
|
+
//rlScalef(2.0f, 2.0f, 2.0f);
|
|
339
|
+
//rlRotatef(45, 0, 1, 0);
|
|
340
|
+
|
|
341
|
+
rlBegin(RL_TRIANGLES);
|
|
342
|
+
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
343
|
+
|
|
344
|
+
// Front Face -----------------------------------------------------
|
|
345
|
+
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left
|
|
346
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right
|
|
347
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left
|
|
348
|
+
|
|
349
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right
|
|
350
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left
|
|
351
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right
|
|
352
|
+
|
|
353
|
+
// Back Face ------------------------------------------------------
|
|
354
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Left
|
|
355
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left
|
|
356
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right
|
|
357
|
+
|
|
358
|
+
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right
|
|
359
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right
|
|
360
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left
|
|
361
|
+
|
|
362
|
+
// Top Face -------------------------------------------------------
|
|
363
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left
|
|
364
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Bottom Left
|
|
365
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Bottom Right
|
|
366
|
+
|
|
367
|
+
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right
|
|
368
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left
|
|
369
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Bottom Right
|
|
370
|
+
|
|
371
|
+
// Bottom Face ----------------------------------------------------
|
|
372
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Left
|
|
373
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right
|
|
374
|
+
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left
|
|
375
|
+
|
|
376
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Top Right
|
|
377
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right
|
|
378
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Left
|
|
379
|
+
|
|
380
|
+
// Right face -----------------------------------------------------
|
|
381
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right
|
|
382
|
+
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right
|
|
383
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Left
|
|
384
|
+
|
|
385
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Left
|
|
386
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right
|
|
387
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Left
|
|
388
|
+
|
|
389
|
+
// Left Face ------------------------------------------------------
|
|
390
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Right
|
|
391
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left
|
|
392
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Right
|
|
393
|
+
|
|
394
|
+
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left
|
|
395
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left
|
|
396
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Right
|
|
397
|
+
rlEnd();
|
|
398
|
+
rlPopMatrix();
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// Draw cube wires
|
|
402
|
+
static void DrawCubeWires(Vector3 position, float width, float height, float length, Color color)
|
|
403
|
+
{
|
|
404
|
+
float x = 0.0f;
|
|
405
|
+
float y = 0.0f;
|
|
406
|
+
float z = 0.0f;
|
|
407
|
+
|
|
408
|
+
rlPushMatrix();
|
|
409
|
+
|
|
410
|
+
rlTranslatef(position.x, position.y, position.z);
|
|
411
|
+
//rlRotatef(45, 0, 1, 0);
|
|
412
|
+
|
|
413
|
+
rlBegin(RL_LINES);
|
|
414
|
+
rlColor4ub(color.r, color.g, color.b, color.a);
|
|
415
|
+
|
|
416
|
+
// Front Face -----------------------------------------------------
|
|
417
|
+
// Bottom Line
|
|
418
|
+
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left
|
|
419
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right
|
|
420
|
+
|
|
421
|
+
// Left Line
|
|
422
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Bottom Right
|
|
423
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right
|
|
424
|
+
|
|
425
|
+
// Top Line
|
|
426
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right
|
|
427
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left
|
|
428
|
+
|
|
429
|
+
// Right Line
|
|
430
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left
|
|
431
|
+
rlVertex3f(x-width/2, y-height/2, z+length/2); // Bottom Left
|
|
432
|
+
|
|
433
|
+
// Back Face ------------------------------------------------------
|
|
434
|
+
// Bottom Line
|
|
435
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Left
|
|
436
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right
|
|
437
|
+
|
|
438
|
+
// Left Line
|
|
439
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Bottom Right
|
|
440
|
+
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right
|
|
441
|
+
|
|
442
|
+
// Top Line
|
|
443
|
+
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right
|
|
444
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left
|
|
445
|
+
|
|
446
|
+
// Right Line
|
|
447
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left
|
|
448
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Bottom Left
|
|
449
|
+
|
|
450
|
+
// Top Face -------------------------------------------------------
|
|
451
|
+
// Left Line
|
|
452
|
+
rlVertex3f(x-width/2, y+height/2, z+length/2); // Top Left Front
|
|
453
|
+
rlVertex3f(x-width/2, y+height/2, z-length/2); // Top Left Back
|
|
454
|
+
|
|
455
|
+
// Right Line
|
|
456
|
+
rlVertex3f(x+width/2, y+height/2, z+length/2); // Top Right Front
|
|
457
|
+
rlVertex3f(x+width/2, y+height/2, z-length/2); // Top Right Back
|
|
458
|
+
|
|
459
|
+
// Bottom Face ---------------------------------------------------
|
|
460
|
+
// Left Line
|
|
461
|
+
rlVertex3f(x-width/2, y-height/2, z+length/2); // Top Left Front
|
|
462
|
+
rlVertex3f(x-width/2, y-height/2, z-length/2); // Top Left Back
|
|
463
|
+
|
|
464
|
+
// Right Line
|
|
465
|
+
rlVertex3f(x+width/2, y-height/2, z+length/2); // Top Right Front
|
|
466
|
+
rlVertex3f(x+width/2, y-height/2, z-length/2); // Top Right Back
|
|
467
|
+
rlEnd();
|
|
468
|
+
rlPopMatrix();
|
|
469
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/*******************************************************************************************
|
|
2
|
+
*
|
|
3
|
+
* raylib [physac] example - physics demo
|
|
4
|
+
*
|
|
5
|
+
* This example has been created using raylib 1.5 (www.raylib.com)
|
|
6
|
+
* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
|
|
7
|
+
*
|
|
8
|
+
* This example uses physac 1.1 (https://github.com/raysan5/raylib/blob/master/src/physac.h)
|
|
9
|
+
*
|
|
10
|
+
* Copyright (c) 2016-2021 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5)
|
|
11
|
+
*
|
|
12
|
+
********************************************************************************************/
|
|
13
|
+
|
|
14
|
+
#include "raylib.h"
|
|
15
|
+
|
|
16
|
+
#define PHYSAC_IMPLEMENTATION
|
|
17
|
+
#include "extras/physac.h"
|
|
18
|
+
|
|
19
|
+
int main(void)
|
|
20
|
+
{
|
|
21
|
+
// Initialization
|
|
22
|
+
//--------------------------------------------------------------------------------------
|
|
23
|
+
const int screenWidth = 800;
|
|
24
|
+
const int screenHeight = 450;
|
|
25
|
+
|
|
26
|
+
SetConfigFlags(FLAG_MSAA_4X_HINT);
|
|
27
|
+
InitWindow(screenWidth, screenHeight, "raylib [physac] example - physics demo");
|
|
28
|
+
|
|
29
|
+
// Physac logo drawing position
|
|
30
|
+
int logoX = screenWidth - MeasureText("Physac", 30) - 10;
|
|
31
|
+
int logoY = 15;
|
|
32
|
+
|
|
33
|
+
// Initialize physics and default physics bodies
|
|
34
|
+
InitPhysics();
|
|
35
|
+
|
|
36
|
+
// Create floor rectangle physics body
|
|
37
|
+
PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2.0f, (float)screenHeight }, 500, 100, 10);
|
|
38
|
+
floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions)
|
|
39
|
+
|
|
40
|
+
// Create obstacle circle physics body
|
|
41
|
+
PhysicsBody circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2.0f, screenHeight/2.0f }, 45, 10);
|
|
42
|
+
circle->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions)
|
|
43
|
+
|
|
44
|
+
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
|
45
|
+
//--------------------------------------------------------------------------------------
|
|
46
|
+
|
|
47
|
+
// Main game loop
|
|
48
|
+
while (!WindowShouldClose()) // Detect window close button or ESC key
|
|
49
|
+
{
|
|
50
|
+
// Update
|
|
51
|
+
//----------------------------------------------------------------------------------
|
|
52
|
+
UpdatePhysics(); // Update physics system
|
|
53
|
+
|
|
54
|
+
if (IsKeyPressed(KEY_R)) // Reset physics system
|
|
55
|
+
{
|
|
56
|
+
ResetPhysics();
|
|
57
|
+
|
|
58
|
+
floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2.0f, (float)screenHeight }, 500, 100, 10);
|
|
59
|
+
floor->enabled = false;
|
|
60
|
+
|
|
61
|
+
circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2.0f, screenHeight/2.0f }, 45, 10);
|
|
62
|
+
circle->enabled = false;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Physics body creation inputs
|
|
66
|
+
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) CreatePhysicsBodyPolygon(GetMousePosition(), (float)GetRandomValue(20, 80), GetRandomValue(3, 8), 10);
|
|
67
|
+
else if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT)) CreatePhysicsBodyCircle(GetMousePosition(), (float)GetRandomValue(10, 45), 10);
|
|
68
|
+
|
|
69
|
+
// Destroy falling physics bodies
|
|
70
|
+
int bodiesCount = GetPhysicsBodiesCount();
|
|
71
|
+
for (int i = bodiesCount - 1; i >= 0; i--)
|
|
72
|
+
{
|
|
73
|
+
PhysicsBody body = GetPhysicsBody(i);
|
|
74
|
+
if (body != NULL && (body->position.y > screenHeight*2)) DestroyPhysicsBody(body);
|
|
75
|
+
}
|
|
76
|
+
//----------------------------------------------------------------------------------
|
|
77
|
+
|
|
78
|
+
// Draw
|
|
79
|
+
//----------------------------------------------------------------------------------
|
|
80
|
+
BeginDrawing();
|
|
81
|
+
|
|
82
|
+
ClearBackground(BLACK);
|
|
83
|
+
|
|
84
|
+
DrawFPS(screenWidth - 90, screenHeight - 30);
|
|
85
|
+
|
|
86
|
+
// Draw created physics bodies
|
|
87
|
+
bodiesCount = GetPhysicsBodiesCount();
|
|
88
|
+
for (int i = 0; i < bodiesCount; i++)
|
|
89
|
+
{
|
|
90
|
+
PhysicsBody body = GetPhysicsBody(i);
|
|
91
|
+
|
|
92
|
+
if (body != NULL)
|
|
93
|
+
{
|
|
94
|
+
int vertexCount = GetPhysicsShapeVerticesCount(i);
|
|
95
|
+
for (int j = 0; j < vertexCount; j++)
|
|
96
|
+
{
|
|
97
|
+
// Get physics bodies shape vertices to draw lines
|
|
98
|
+
// Note: GetPhysicsShapeVertex() already calculates rotation transformations
|
|
99
|
+
Vector2 vertexA = GetPhysicsShapeVertex(body, j);
|
|
100
|
+
|
|
101
|
+
int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape
|
|
102
|
+
Vector2 vertexB = GetPhysicsShapeVertex(body, jj);
|
|
103
|
+
|
|
104
|
+
DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
DrawText("Left mouse button to create a polygon", 10, 10, 10, WHITE);
|
|
110
|
+
DrawText("Right mouse button to create a circle", 10, 25, 10, WHITE);
|
|
111
|
+
DrawText("Press 'R' to reset example", 10, 40, 10, WHITE);
|
|
112
|
+
|
|
113
|
+
DrawText("Physac", logoX, logoY, 30, WHITE);
|
|
114
|
+
DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE);
|
|
115
|
+
|
|
116
|
+
EndDrawing();
|
|
117
|
+
//----------------------------------------------------------------------------------
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// De-Initialization
|
|
121
|
+
//--------------------------------------------------------------------------------------
|
|
122
|
+
ClosePhysics(); // Unitialize physics
|
|
123
|
+
|
|
124
|
+
CloseWindow(); // Close window and OpenGL context
|
|
125
|
+
//--------------------------------------------------------------------------------------
|
|
126
|
+
|
|
127
|
+
return 0;
|
|
128
|
+
}
|
|
Binary file
|