ruby_rpg 0.0.4 → 0.1.0
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.
- checksums.yaml +4 -4
- data/README.md +22 -0
- data/bin/build.bash +1 -1
- data/bin/import +11 -1
- data/ext/gl_native/extconf.rb +20 -0
- data/ext/gl_native/gl_native.c +563 -0
- data/ext/glfw_native/extconf.rb +18 -0
- data/ext/glfw_native/glfw_native.c +451 -0
- data/lib/engine/assets/_imported/cube.index_data +36 -0
- data/lib/engine/assets/_imported/cube.vertex_data +720 -0
- data/lib/engine/assets/_imported/plane.index_data +6 -0
- data/lib/engine/assets/_imported/plane.vertex_data +120 -0
- data/lib/engine/assets/_imported/sphere.index_data +2880 -0
- data/lib/engine/assets/_imported/sphere.vertex_data +57600 -0
- data/lib/engine/assets/cube.obj +46 -0
- data/lib/engine/assets/plane.obj +16 -0
- data/lib/engine/assets/sphere.obj +2488 -0
- data/lib/engine/component.rb +2 -0
- data/lib/engine/components/audio_source.rb +6 -4
- data/lib/engine/components/direction_light.rb +83 -4
- data/lib/engine/components/orthographic_camera.rb +31 -25
- data/lib/engine/components/perspective_camera.rb +35 -12
- data/lib/engine/components/point_light.rb +61 -5
- data/lib/engine/components/renderers/font_renderer.rb +19 -0
- data/lib/engine/components/renderers/font_renderer_base.rb +134 -0
- data/lib/engine/components/renderers/mesh_renderer.rb +41 -0
- data/lib/engine/components/renderers/sprite_renderer.rb +46 -0
- data/lib/engine/components/spot_light.rb +90 -0
- data/lib/engine/components/sprite_animator.rb +42 -0
- data/lib/engine/components/ui/flex/layout.rb +94 -0
- data/lib/engine/components/ui/flex/pack_layout.rb +65 -0
- data/lib/engine/components/ui/flex/stretch_layout.rb +52 -0
- data/lib/engine/components/ui/flex.rb +60 -0
- data/lib/engine/components/ui/font_renderer.rb +57 -0
- data/lib/engine/components/ui/rect.rb +117 -0
- data/lib/engine/components/ui/sprite_clickbox.rb +47 -0
- data/lib/engine/components/ui/sprite_renderer.rb +117 -0
- data/lib/engine/compute_shader.rb +14 -0
- data/lib/engine/compute_texture.rb +13 -0
- data/lib/engine/debugging.rb +4 -4
- data/lib/engine/engine.rb +8 -12
- data/lib/engine/font.rb +29 -4
- data/lib/engine/game_object.rb +121 -49
- data/lib/engine/gl.rb +439 -0
- data/lib/engine/glfw.rb +151 -0
- data/lib/engine/input.rb +115 -7
- data/lib/engine/material.rb +146 -11
- data/lib/engine/matrix_helpers.rb +38 -0
- data/lib/engine/mesh.rb +41 -16
- data/lib/engine/metal/compute_shader.rb +118 -0
- data/lib/engine/metal/compute_texture.rb +176 -0
- data/lib/engine/metal/device.rb +98 -0
- data/lib/engine/metal/metal_bindings.rb +126 -0
- data/lib/engine/opengl/compute_shader.rb +77 -0
- data/lib/engine/opengl/compute_texture.rb +31 -0
- data/lib/engine/physics/components/rigidbody.rb +23 -20
- data/lib/engine/physics/components/sphere_collider.rb +13 -3
- data/lib/engine/physics/physics_resolver.rb +24 -12
- data/lib/engine/rendering/cubemap_shadow_map_array.rb +77 -0
- data/lib/engine/rendering/gpu_timer.rb +68 -0
- data/lib/engine/rendering/instance_renderer.rb +140 -61
- data/lib/engine/rendering/post_processing/bloom_effect.rb +87 -0
- data/lib/engine/rendering/post_processing/depth_debug_effect.rb +17 -0
- data/lib/engine/rendering/post_processing/depth_of_field_effect.rb +52 -0
- data/lib/engine/rendering/post_processing/effect.rb +11 -0
- data/lib/engine/rendering/post_processing/post_processing_effect.rb +86 -0
- data/lib/engine/rendering/post_processing/single_pass_effect.rb +19 -0
- data/lib/engine/rendering/post_processing/ssao_effect.rb +182 -0
- data/lib/engine/rendering/post_processing/ssr_effect.rb +89 -0
- data/lib/engine/rendering/post_processing/tint_effect.rb +18 -0
- data/lib/engine/rendering/render_pipeline.rb +238 -6
- data/lib/engine/rendering/render_texture.rb +118 -0
- data/lib/engine/rendering/screen_quad.rb +64 -0
- data/lib/engine/rendering/shadow_map_array.rb +72 -0
- data/lib/engine/rendering/skybox_cubemap.rb +119 -0
- data/lib/engine/rendering/skybox_renderer.rb +64 -0
- data/lib/engine/rendering/ui/stencil_manager.rb +69 -0
- data/lib/engine/screenshoter.rb +1 -1
- data/lib/engine/serialization/graph_serializer.rb +74 -0
- data/lib/engine/serialization/object_serializer.rb +98 -0
- data/lib/engine/serialization/serializable.rb +78 -0
- data/lib/engine/serialization/yaml_persistence.rb +45 -0
- data/lib/engine/shader.rb +149 -25
- data/lib/engine/shaders/colour_frag.glsl +9 -1
- data/lib/engine/shaders/colour_vertex.glsl +12 -5
- data/lib/engine/shaders/fullscreen_frag.glsl +11 -0
- data/lib/engine/shaders/fullscreen_vertex.glsl +12 -0
- data/lib/engine/shaders/instanced_sprite_frag.glsl +21 -0
- data/lib/engine/shaders/{skybox_vert.glsl → instanced_sprite_vertex.glsl} +3 -2
- data/lib/engine/shaders/lighting/directional_light.glsl +49 -0
- data/lib/engine/shaders/lighting/lighting.glsl +33 -0
- data/lib/engine/shaders/lighting/lighting_common.glsl +13 -0
- data/lib/engine/shaders/lighting/point_light.glsl +46 -0
- data/lib/engine/shaders/lighting/spot_light.glsl +80 -0
- data/lib/engine/shaders/mesh_frag.glsl +28 -77
- data/lib/engine/shaders/mesh_vertex.glsl +5 -5
- data/lib/engine/shaders/point_shadow_frag.glsl +12 -0
- data/lib/engine/shaders/point_shadow_vertex.glsl +15 -0
- data/lib/engine/shaders/post_process/bloom_blur_frag.glsl +25 -0
- data/lib/engine/shaders/post_process/bloom_combine_frag.glsl +19 -0
- data/lib/engine/shaders/post_process/bloom_threshold_frag.glsl +19 -0
- data/lib/engine/shaders/post_process/debug_normals_frag.glsl +21 -0
- data/lib/engine/shaders/post_process/depth_debug_frag.glsl +17 -0
- data/lib/engine/shaders/post_process/dof_blur_frag.glsl +52 -0
- data/lib/engine/shaders/post_process/skybox_frag.glsl +29 -0
- data/lib/engine/shaders/post_process/ssao/blur_frag.glsl +50 -0
- data/lib/engine/shaders/post_process/ssao/combine_frag.glsl +15 -0
- data/lib/engine/shaders/post_process/ssao/frag.glsl +99 -0
- data/lib/engine/shaders/post_process/ssr/combine_frag.glsl +16 -0
- data/lib/engine/shaders/post_process/ssr/frag.glsl +118 -0
- data/lib/engine/shaders/post_process/tint_frag.glsl +14 -0
- data/lib/engine/shaders/shadow_frag.glsl +6 -0
- data/lib/engine/shaders/shadow_vertex.glsl +11 -0
- data/lib/engine/shaders/skybox_cubemap_frag.glsl +46 -0
- data/lib/engine/shaders/vertex_lit_frag.glsl +10 -66
- data/lib/engine/shaders/vertex_lit_vertex.glsl +1 -1
- data/lib/engine/standard_meshes/quad_mesh.rb +26 -0
- data/lib/engine/standard_objects/cube.rb +23 -0
- data/lib/engine/standard_objects/default_material.rb +20 -0
- data/lib/engine/standard_objects/plane.rb +23 -0
- data/lib/engine/standard_objects/sphere.rb +23 -0
- data/lib/engine/texture.rb +28 -19
- data/lib/engine/ui/rect.rb +16 -0
- data/lib/engine/window.rb +2 -2
- data/lib/ruby_rpg.rb +69 -9
- data/vendor/glew-2.2.0-win32/LICENSE.txt +73 -0
- data/vendor/glew-2.2.0-win32/bin/Release/x64/glew32.dll +0 -0
- data/vendor/glew-2.2.0-win32/include/GL/glew.h +26427 -0
- data/vendor/glew-2.2.0-win32/lib/Release/x64/glew32.lib +0 -0
- metadata +124 -466
- data/glfw-3.3.9.bin.MACOS/README.md +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/bc_s.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/bc_sd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/build_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/build_guide.html +0 -199
- data/glfw-3.3.9.bin.MACOS/docs/html/closed.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/compat_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/compat_guide.html +0 -153
- data/glfw-3.3.9.bin.MACOS/docs/html/compile_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/compile_guide.html +0 -223
- data/glfw-3.3.9.bin.MACOS/docs/html/context_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/context_guide.html +0 -259
- data/glfw-3.3.9.bin.MACOS/docs/html/deprecated.html +0 -88
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_08423ce7729c4554356a7de7171ba263.html +0 -85
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_2dcebcdf14b42e92a6ed85c61bda6b9d.html +0 -93
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_62ce056722ee97c199075aa1d6eca309.html +0 -95
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_dddf4cf62655095a666cf715de3a31a2.html +0 -91
- data/glfw-3.3.9.bin.MACOS/docs/html/doc.svg +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/docd.svg +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.css +0 -1685
- data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.svg +0 -28
- data/glfw-3.3.9.bin.MACOS/docs/html/dynsections.js +0 -192
- data/glfw-3.3.9.bin.MACOS/docs/html/extra.css +0 -1
- data/glfw-3.3.9.bin.MACOS/docs/html/files.html +0 -91
- data/glfw-3.3.9.bin.MACOS/docs/html/folderclosed.svg +0 -11
- data/glfw-3.3.9.bin.MACOS/docs/html/folderclosedd.svg +0 -11
- data/glfw-3.3.9.bin.MACOS/docs/html/folderopen.svg +0 -17
- data/glfw-3.3.9.bin.MACOS/docs/html/folderopend.svg +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h.html +0 -1661
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h_source.html +0 -1175
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h.html +0 -167
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h_source.html +0 -303
- data/glfw-3.3.9.bin.MACOS/docs/html/group__buttons.html +0 -282
- data/glfw-3.3.9.bin.MACOS/docs/html/group__context.html +0 -304
- data/glfw-3.3.9.bin.MACOS/docs/html/group__errors.html +0 -304
- data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__axes.html +0 -202
- data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__buttons.html +0 -410
- data/glfw-3.3.9.bin.MACOS/docs/html/group__hat__state.html +0 -234
- data/glfw-3.3.9.bin.MACOS/docs/html/group__init.html +0 -570
- data/glfw-3.3.9.bin.MACOS/docs/html/group__input.html +0 -2255
- data/glfw-3.3.9.bin.MACOS/docs/html/group__joysticks.html +0 -362
- data/glfw-3.3.9.bin.MACOS/docs/html/group__keys.html +0 -2034
- data/glfw-3.3.9.bin.MACOS/docs/html/group__mods.html +0 -198
- data/glfw-3.3.9.bin.MACOS/docs/html/group__monitor.html +0 -848
- data/glfw-3.3.9.bin.MACOS/docs/html/group__native.html +0 -812
- data/glfw-3.3.9.bin.MACOS/docs/html/group__shapes.html +0 -198
- data/glfw-3.3.9.bin.MACOS/docs/html/group__vulkan.html +0 -359
- data/glfw-3.3.9.bin.MACOS/docs/html/group__window.html +0 -3434
- data/glfw-3.3.9.bin.MACOS/docs/html/index.html +0 -100
- data/glfw-3.3.9.bin.MACOS/docs/html/input_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/input_guide.html +0 -570
- data/glfw-3.3.9.bin.MACOS/docs/html/internal_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/internals_guide.html +0 -132
- data/glfw-3.3.9.bin.MACOS/docs/html/intro_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/intro_guide.html +0 -351
- data/glfw-3.3.9.bin.MACOS/docs/html/jquery.js +0 -34
- data/glfw-3.3.9.bin.MACOS/docs/html/main_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/menu.js +0 -136
- data/glfw-3.3.9.bin.MACOS/docs/html/menudata.js +0 -29
- data/glfw-3.3.9.bin.MACOS/docs/html/minus.svg +0 -8
- data/glfw-3.3.9.bin.MACOS/docs/html/minusd.svg +0 -8
- data/glfw-3.3.9.bin.MACOS/docs/html/monitor_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/monitor_guide.html +0 -229
- data/glfw-3.3.9.bin.MACOS/docs/html/moving_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/moving_guide.html +0 -374
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_f.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_fd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_g.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_h.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_hd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/news.html +0 -634
- data/glfw-3.3.9.bin.MACOS/docs/html/news_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/open.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/pages.html +0 -99
- data/glfw-3.3.9.bin.MACOS/docs/html/plus.svg +0 -9
- data/glfw-3.3.9.bin.MACOS/docs/html/plusd.svg +0 -9
- data/glfw-3.3.9.bin.MACOS/docs/html/quick_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/quick_guide.html +0 -397
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_0.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_10.js +0 -65
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_11.js +0 -26
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_12.js +0 -44
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_13.js +0 -34
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_14.js +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_15.js +0 -52
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_16.js +0 -69
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_17.js +0 -51
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_18.js +0 -14
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_19.js +0 -36
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1a.js +0 -98
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1b.js +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_2.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_3.js +0 -9
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_4.js +0 -57
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_5.js +0 -22
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_6.js +0 -103
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_7.js +0 -23
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_8.js +0 -35
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_9.js +0 -63
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_a.js +0 -505
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_b.js +0 -24
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_c.js +0 -50
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_d.js +0 -17
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_e.js +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_f.js +0 -35
- data/glfw-3.3.9.bin.MACOS/docs/html/search/classes_0.js +0 -7
- data/glfw-3.3.9.bin.MACOS/docs/html/search/close.svg +0 -18
- data/glfw-3.3.9.bin.MACOS/docs/html/search/defines_0.js +0 -34
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_0.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_1.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_2.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_3.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_4.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_5.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_7.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_8.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/functions_0.js +0 -146
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_0.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_1.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_10.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_2.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_3.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_4.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_5.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_7.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_8.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_9.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_a.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_b.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_c.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_d.js +0 -7
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_e.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_f.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag.svg +0 -24
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_d.svg +0 -24
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_sel.svg +0 -31
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_seld.svg +0 -31
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_0.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_1.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_10.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_2.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_3.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_4.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_5.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_7.js +0 -7
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_8.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_9.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_a.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_b.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_c.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_d.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_e.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_f.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/search.css +0 -291
- data/glfw-3.3.9.bin.MACOS/docs/html/search/search.js +0 -840
- data/glfw-3.3.9.bin.MACOS/docs/html/search/searchdata.js +0 -39
- data/glfw-3.3.9.bin.MACOS/docs/html/search/typedefs_0.js +0 -32
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_0.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_1.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_2.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_3.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_4.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_5.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_7.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/spaces.svg +0 -877
- data/glfw-3.3.9.bin.MACOS/docs/html/splitbar.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/splitbard.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgammaramp.html +0 -170
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wimage.html +0 -151
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wvidmode.html +0 -204
- data/glfw-3.3.9.bin.MACOS/docs/html/sync_off.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/sync_on.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_a.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_ad.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_b.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_bd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_h.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_hd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_s.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_sd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tabs.css +0 -1
- data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_guide.html +0 -196
- data/glfw-3.3.9.bin.MACOS/docs/html/window_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/window_guide.html +0 -763
- data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3.h +0 -5932
- data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3native.h +0 -634
- data/glfw-3.3.9.bin.MACOS/lib-arm64/libglfw3.a +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw.3.dylib +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw3.a +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw.3.dylib +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw3.a +0 -0
- data/glfw-3.4.bin.WIN64/README.md +0 -70
- data/glfw-3.4.bin.WIN64/docs/html/bc_s.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/bc_sd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/build_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/build_guide.html +0 -217
- data/glfw-3.4.bin.WIN64/docs/html/closed.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/compat_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/compat_guide.html +0 -156
- data/glfw-3.4.bin.WIN64/docs/html/compile_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/compile_guide.html +0 -219
- data/glfw-3.4.bin.WIN64/docs/html/context_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/context_guide.html +0 -258
- data/glfw-3.4.bin.WIN64/docs/html/deprecated.html +0 -88
- data/glfw-3.4.bin.WIN64/docs/html/dir_13577e2d8b9423099662de029791bd7d.html +0 -93
- data/glfw-3.4.bin.WIN64/docs/html/dir_7f92719a7fe62e5b064f87d7a3c220b1.html +0 -95
- data/glfw-3.4.bin.WIN64/docs/html/dir_a788ef6c2b1e5b367804e0b6ccfd6f11.html +0 -85
- data/glfw-3.4.bin.WIN64/docs/html/dir_b11153cd0f4fd04a7564cc166f482635.html +0 -91
- data/glfw-3.4.bin.WIN64/docs/html/doc.svg +0 -12
- data/glfw-3.4.bin.WIN64/docs/html/docd.svg +0 -12
- data/glfw-3.4.bin.WIN64/docs/html/doxygen.css +0 -1685
- data/glfw-3.4.bin.WIN64/docs/html/doxygen.svg +0 -28
- data/glfw-3.4.bin.WIN64/docs/html/dynsections.js +0 -192
- data/glfw-3.4.bin.WIN64/docs/html/extra.css +0 -2
- data/glfw-3.4.bin.WIN64/docs/html/files.html +0 -91
- data/glfw-3.4.bin.WIN64/docs/html/folderclosed.svg +0 -11
- data/glfw-3.4.bin.WIN64/docs/html/folderclosedd.svg +0 -11
- data/glfw-3.4.bin.WIN64/docs/html/folderopen.svg +0 -17
- data/glfw-3.4.bin.WIN64/docs/html/folderopend.svg +0 -12
- data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h.html +0 -1910
- data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h_source.html +0 -1260
- data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h.html +0 -170
- data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h_source.html +0 -306
- data/glfw-3.4.bin.WIN64/docs/html/group__buttons.html +0 -282
- data/glfw-3.4.bin.WIN64/docs/html/group__context.html +0 -304
- data/glfw-3.4.bin.WIN64/docs/html/group__errors.html +0 -384
- data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__axes.html +0 -202
- data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__buttons.html +0 -410
- data/glfw-3.4.bin.WIN64/docs/html/group__hat__state.html +0 -234
- data/glfw-3.4.bin.WIN64/docs/html/group__init.html +0 -1015
- data/glfw-3.4.bin.WIN64/docs/html/group__input.html +0 -2285
- data/glfw-3.4.bin.WIN64/docs/html/group__joysticks.html +0 -362
- data/glfw-3.4.bin.WIN64/docs/html/group__keys.html +0 -2034
- data/glfw-3.4.bin.WIN64/docs/html/group__mods.html +0 -198
- data/glfw-3.4.bin.WIN64/docs/html/group__monitor.html +0 -849
- data/glfw-3.4.bin.WIN64/docs/html/group__native.html +0 -837
- data/glfw-3.4.bin.WIN64/docs/html/group__shapes.html +0 -337
- data/glfw-3.4.bin.WIN64/docs/html/group__vulkan.html +0 -361
- data/glfw-3.4.bin.WIN64/docs/html/group__window.html +0 -3608
- data/glfw-3.4.bin.WIN64/docs/html/index.html +0 -100
- data/glfw-3.4.bin.WIN64/docs/html/input_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/input_guide.html +0 -576
- data/glfw-3.4.bin.WIN64/docs/html/internal_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/internals_guide.html +0 -135
- data/glfw-3.4.bin.WIN64/docs/html/intro_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/intro_guide.html +0 -429
- data/glfw-3.4.bin.WIN64/docs/html/jquery.js +0 -34
- data/glfw-3.4.bin.WIN64/docs/html/main_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/menu.js +0 -136
- data/glfw-3.4.bin.WIN64/docs/html/menudata.js +0 -30
- data/glfw-3.4.bin.WIN64/docs/html/minus.svg +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/minusd.svg +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/monitor_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/monitor_guide.html +0 -228
- data/glfw-3.4.bin.WIN64/docs/html/moving_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/moving_guide.html +0 -360
- data/glfw-3.4.bin.WIN64/docs/html/nav_f.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_fd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_g.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_h.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_hd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/news.html +0 -336
- data/glfw-3.4.bin.WIN64/docs/html/news_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/open.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/pages.html +0 -99
- data/glfw-3.4.bin.WIN64/docs/html/plus.svg +0 -9
- data/glfw-3.4.bin.WIN64/docs/html/plusd.svg +0 -9
- data/glfw-3.4.bin.WIN64/docs/html/quick_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/quick_guide.html +0 -406
- data/glfw-3.4.bin.WIN64/docs/html/search/all_0.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_10.js +0 -13
- data/glfw-3.4.bin.WIN64/docs/html/search/all_11.js +0 -11
- data/glfw-3.4.bin.WIN64/docs/html/search/all_12.js +0 -26
- data/glfw-3.4.bin.WIN64/docs/html/search/all_13.js +0 -51
- data/glfw-3.4.bin.WIN64/docs/html/search/all_14.js +0 -22
- data/glfw-3.4.bin.WIN64/docs/html/search/all_15.js +0 -35
- data/glfw-3.4.bin.WIN64/docs/html/search/all_16.js +0 -29
- data/glfw-3.4.bin.WIN64/docs/html/search/all_17.js +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/search/all_18.js +0 -44
- data/glfw-3.4.bin.WIN64/docs/html/search/all_19.js +0 -60
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1a.js +0 -39
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1b.js +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1c.js +0 -32
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1d.js +0 -84
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1e.js +0 -13
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1f.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_2.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/all_3.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_5.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_7.js +0 -58
- data/glfw-3.4.bin.WIN64/docs/html/search/all_8.js +0 -21
- data/glfw-3.4.bin.WIN64/docs/html/search/all_9.js +0 -82
- data/glfw-3.4.bin.WIN64/docs/html/search/all_a.js +0 -20
- data/glfw-3.4.bin.WIN64/docs/html/search/all_b.js +0 -26
- data/glfw-3.4.bin.WIN64/docs/html/search/all_c.js +0 -35
- data/glfw-3.4.bin.WIN64/docs/html/search/all_d.js +0 -555
- data/glfw-3.4.bin.WIN64/docs/html/search/all_e.js +0 -23
- data/glfw-3.4.bin.WIN64/docs/html/search/all_f.js +0 -40
- data/glfw-3.4.bin.WIN64/docs/html/search/classes_0.js +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/search/close.svg +0 -18
- data/glfw-3.4.bin.WIN64/docs/html/search/defines_0.js +0 -43
- data/glfw-3.4.bin.WIN64/docs/html/search/files_0.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_1.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/files_2.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/files_3.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/files_4.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/files_5.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_7.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_8.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/functions_0.js +0 -152
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_0.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_1.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_10.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_2.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_3.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_5.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_7.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_8.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_9.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_a.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_b.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_c.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_d.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_e.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_f.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/mag.svg +0 -24
- data/glfw-3.4.bin.WIN64/docs/html/search/mag_d.svg +0 -24
- data/glfw-3.4.bin.WIN64/docs/html/search/mag_sel.svg +0 -31
- data/glfw-3.4.bin.WIN64/docs/html/search/mag_seld.svg +0 -31
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_0.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_1.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_10.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_11.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_2.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_3.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_5.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_7.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_8.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_9.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_a.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_b.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_c.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_d.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_e.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_f.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/search.css +0 -291
- data/glfw-3.4.bin.WIN64/docs/html/search/search.js +0 -840
- data/glfw-3.4.bin.WIN64/docs/html/search/searchdata.js +0 -39
- data/glfw-3.4.bin.WIN64/docs/html/search/typedefs_0.js +0 -36
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_0.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_1.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_2.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_3.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_5.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_6.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_7.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_8.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_9.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/spaces.svg +0 -877
- data/glfw-3.4.bin.WIN64/docs/html/splitbar.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/splitbard.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wallocator.html +0 -168
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgammaramp.html +0 -170
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wimage.html +0 -151
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wvidmode.html +0 -204
- data/glfw-3.4.bin.WIN64/docs/html/sync_off.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/sync_on.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_a.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_ad.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_b.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_bd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_h.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_hd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_s.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_sd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tabs.css +0 -1
- data/glfw-3.4.bin.WIN64/docs/html/topics.html +0 -101
- data/glfw-3.4.bin.WIN64/docs/html/vulkan_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/vulkan_guide.html +0 -206
- data/glfw-3.4.bin.WIN64/docs/html/window_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/window_guide.html +0 -806
- data/glfw-3.4.bin.WIN64/include/GLFW/glfw3.h +0 -6547
- data/glfw-3.4.bin.WIN64/include/GLFW/glfw3native.h +0 -663
- data/glfw-3.4.bin.WIN64/lib-mingw-w64/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3.a +0 -0
- data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3dll.a +0 -0
- data/glfw-3.4.bin.WIN64/lib-static-ucrt/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3dll.lib +0 -0
- data/lib/engine/components/font_renderer.rb +0 -134
- data/lib/engine/components/mesh_renderer.rb +0 -31
- data/lib/engine/components/sprite_renderer.rb +0 -141
- data/lib/engine/components/ui_font_renderer.rb +0 -140
- data/lib/engine/components/ui_sprite_renderer.rb +0 -101
- data/lib/engine/shaders/skybox_frag.glsl +0 -12
- /data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.3.9.bin.MACOS}/LICENSE.md +0 -0
- /data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.3.9.bin.MACOS}/lib-arm64/libglfw.3.dylib +0 -0
- /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.4.bin.WIN64}/LICENSE.md +0 -0
- /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.4.bin.WIN64}/lib-static-ucrt/glfw3.dll +0 -0
data/lib/engine/gl.rb
ADDED
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
require 'gl_native'
|
|
2
|
+
|
|
3
|
+
module Engine
|
|
4
|
+
module GL
|
|
5
|
+
# Cached methods - avoid redundant GL state changes
|
|
6
|
+
|
|
7
|
+
def self.Enable(flag)
|
|
8
|
+
return if enable_flag_cache[flag] == true
|
|
9
|
+
|
|
10
|
+
enable_flag_cache[flag] = true
|
|
11
|
+
GLNative.enable(flag)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.Disable(flag)
|
|
15
|
+
return if enable_flag_cache[flag] == false
|
|
16
|
+
|
|
17
|
+
enable_flag_cache[flag] = false
|
|
18
|
+
GLNative.disable(flag)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.enable_flag_cache
|
|
22
|
+
@enable_flag_cache ||= {}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def self.UseProgram(program)
|
|
26
|
+
return if @current_program == program
|
|
27
|
+
|
|
28
|
+
@current_program = program
|
|
29
|
+
GLNative.use_program(program)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.ActiveTexture(texture_unit)
|
|
33
|
+
return if @current_texture_unit == texture_unit
|
|
34
|
+
|
|
35
|
+
@current_texture_unit = texture_unit
|
|
36
|
+
GLNative.active_texture(texture_unit)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def self.BindTexture(target, texture_id)
|
|
40
|
+
cache_key = [@current_texture_unit, target]
|
|
41
|
+
return if bound_textures[cache_key] == texture_id
|
|
42
|
+
|
|
43
|
+
bound_textures[cache_key] = texture_id
|
|
44
|
+
GLNative.bind_texture(target, texture_id)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def self.bound_textures
|
|
48
|
+
@bound_textures ||= {}
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Pass-through methods
|
|
52
|
+
|
|
53
|
+
def self.AttachShader(program, shader)
|
|
54
|
+
GLNative.attach_shader(program, shader)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def self.BeginQuery(target, id)
|
|
58
|
+
GLNative.begin_query(target, id)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def self.BindBuffer(target, buffer)
|
|
62
|
+
return if bound_buffers[target] == buffer
|
|
63
|
+
|
|
64
|
+
bound_buffers[target] = buffer
|
|
65
|
+
GLNative.bind_buffer(target, buffer)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def self.bound_buffers
|
|
69
|
+
@bound_buffers ||= {}
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def self.BindFramebuffer(target, framebuffer)
|
|
73
|
+
GLNative.bind_framebuffer(target, framebuffer)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def self.BindImageTexture(unit, texture, level, layered, layer, access, format)
|
|
77
|
+
GLNative.bind_image_texture(unit, texture, level, layered, layer, access, format)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def self.BindVertexArray(array)
|
|
81
|
+
return if @current_vertex_array == array
|
|
82
|
+
|
|
83
|
+
@current_vertex_array = array
|
|
84
|
+
GLNative.bind_vertex_array(array)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def self.BlendFunc(sfactor, dfactor)
|
|
88
|
+
GLNative.blend_func(sfactor, dfactor)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def self.BlitFramebuffer(src_x0, src_y0, src_x1, src_y1, dst_x0, dst_y0, dst_x1, dst_y1, mask, filter)
|
|
92
|
+
GLNative.blit_framebuffer(src_x0, src_y0, src_x1, src_y1, dst_x0, dst_y0, dst_x1, dst_y1, mask, filter)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def self.BufferData(target, size, data, usage)
|
|
96
|
+
GLNative.buffer_data(target, size, data, usage)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def self.BufferSubData(target, offset, size, data)
|
|
100
|
+
GLNative.buffer_sub_data(target, offset, size, data)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def self.CheckFramebufferStatus(target)
|
|
104
|
+
GLNative.check_framebuffer_status(target)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def self.Clear(mask)
|
|
108
|
+
GLNative.clear(mask)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def self.ClearColor(red, green, blue, alpha)
|
|
112
|
+
GLNative.clear_color(red, green, blue, alpha)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def self.ColorMask(red, green, blue, alpha)
|
|
116
|
+
GLNative.color_mask(red, green, blue, alpha)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def self.CompileShader(shader)
|
|
120
|
+
GLNative.compile_shader(shader)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def self.CreateProgram
|
|
124
|
+
GLNative.create_program
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
def self.CreateShader(type)
|
|
128
|
+
GLNative.create_shader(type)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def self.CullFace(mode)
|
|
132
|
+
GLNative.cull_face(mode)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def self.DepthFunc(func)
|
|
136
|
+
GLNative.depth_func(func)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def self.DispatchCompute(num_groups_x, num_groups_y, num_groups_z)
|
|
140
|
+
GLNative.dispatch_compute(num_groups_x, num_groups_y, num_groups_z)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
def self.DrawArrays(mode, first, count)
|
|
144
|
+
GLNative.draw_arrays(mode, first, count)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def self.DrawBuffer(mode)
|
|
148
|
+
GLNative.draw_buffer(mode)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def self.DrawBuffers(n, bufs)
|
|
152
|
+
GLNative.draw_buffers(n, bufs)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def self.DrawElements(mode, count, type, indices)
|
|
156
|
+
GLNative.draw_elements(mode, count, type, indices)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def self.DrawElementsInstanced(mode, count, type, indices, instance_count)
|
|
160
|
+
GLNative.draw_elements_instanced(mode, count, type, indices, instance_count)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def self.EnableVertexAttribArray(index)
|
|
164
|
+
GLNative.enable_vertex_attrib_array(index)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
def self.EndQuery(target)
|
|
168
|
+
GLNative.end_query(target)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def self.Finish
|
|
172
|
+
GLNative.finish
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def self.FramebufferTexture2D(target, attachment, textarget, texture, level)
|
|
176
|
+
GLNative.framebuffer_texture_2d(target, attachment, textarget, texture, level)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def self.FramebufferTextureLayer(target, attachment, texture, level, layer)
|
|
180
|
+
GLNative.framebuffer_texture_layer(target, attachment, texture, level, layer)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def self.GenBuffers(n, buffers)
|
|
184
|
+
GLNative.gen_buffers(n, buffers)
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
def self.GenerateMipmap(target)
|
|
188
|
+
GLNative.generate_mipmap(target)
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def self.GenFramebuffers(n, framebuffers)
|
|
192
|
+
GLNative.gen_framebuffers(n, framebuffers)
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
def self.GenQueries(n, ids)
|
|
196
|
+
GLNative.gen_queries(n, ids)
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
def self.GenTextures(n, textures)
|
|
200
|
+
GLNative.gen_textures(n, textures)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def self.GenVertexArrays(n, arrays)
|
|
204
|
+
GLNative.gen_vertex_arrays(n, arrays)
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
def self.GetError
|
|
208
|
+
GLNative.get_error
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
def self.GetProgramInfoLog(program, max_length, length, info_log)
|
|
212
|
+
GLNative.get_program_info_log(program, max_length, length, info_log)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
def self.GetProgramiv(program, pname, params)
|
|
216
|
+
GLNative.get_programiv(program, pname, params)
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
def self.GetQueryObjectui64v(id, pname, params)
|
|
220
|
+
GLNative.get_query_objectui64v(id, pname, params)
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
def self.GetShaderInfoLog(shader, max_length, length, info_log)
|
|
224
|
+
GLNative.get_shader_info_log(shader, max_length, length, info_log)
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
def self.GetString(name)
|
|
228
|
+
GLNative.get_string(name)
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
def self.GetUniformLocation(program, name)
|
|
232
|
+
GLNative.get_uniform_location(program, name)
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
def self.LinkProgram(program)
|
|
236
|
+
GLNative.link_program(program)
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
def self.MemoryBarrier(barriers)
|
|
240
|
+
GLNative.memory_barrier(barriers)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
def self.ReadBuffer(mode)
|
|
244
|
+
GLNative.read_buffer(mode)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
def self.ReadPixels(x, y, width, height, format, type, data)
|
|
248
|
+
GLNative.read_pixels(x, y, width, height, format, type, data)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
def self.ShaderSource(shader, count, string, length)
|
|
252
|
+
GLNative.shader_source(shader, count, string, length)
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
def self.StencilFunc(func, ref, mask)
|
|
256
|
+
GLNative.stencil_func(func, ref, mask)
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
def self.StencilMask(mask)
|
|
260
|
+
GLNative.stencil_mask(mask)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
def self.StencilOp(sfail, dpfail, dppass)
|
|
264
|
+
GLNative.stencil_op(sfail, dpfail, dppass)
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
def self.TexImage2D(target, level, internalformat, width, height, border, format, type, data)
|
|
268
|
+
GLNative.tex_image_2d(target, level, internalformat, width, height, border, format, type, data)
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
def self.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, data)
|
|
272
|
+
GLNative.tex_image_3d(target, level, internalformat, width, height, depth, border, format, type, data)
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
def self.TexParameterfv(target, pname, params)
|
|
276
|
+
GLNative.tex_parameterfv(target, pname, params)
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
def self.TexParameteri(target, pname, param)
|
|
280
|
+
GLNative.tex_parameteri(target, pname, param)
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
def self.Uniform1f(location, v0)
|
|
284
|
+
GLNative.uniform1f(location, v0)
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
def self.Uniform1i(location, v0)
|
|
288
|
+
GLNative.uniform1i(location, v0)
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
def self.Uniform2f(location, v0, v1)
|
|
292
|
+
GLNative.uniform2f(location, v0, v1)
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
def self.Uniform3f(location, v0, v1, v2)
|
|
296
|
+
GLNative.uniform3f(location, v0, v1, v2)
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
def self.Uniform4f(location, v0, v1, v2, v3)
|
|
300
|
+
GLNative.uniform4f(location, v0, v1, v2, v3)
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
def self.UniformMatrix4fv(location, count, transpose, value)
|
|
304
|
+
GLNative.uniform_matrix4fv(location, count, transpose, value)
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
def self.VertexAttribDivisor(index, divisor)
|
|
308
|
+
GLNative.vertex_attrib_divisor(index, divisor)
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
def self.VertexAttribIPointer(index, size, type, stride, pointer)
|
|
312
|
+
GLNative.vertex_attrib_ipointer(index, size, type, stride, pointer)
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
def self.VertexAttribPointer(index, size, type, normalized, stride, pointer)
|
|
316
|
+
GLNative.vertex_attrib_pointer(index, size, type, normalized, stride, pointer)
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
def self.Viewport(x, y, width, height)
|
|
320
|
+
viewport = [x, y, width, height]
|
|
321
|
+
return if @current_viewport == viewport
|
|
322
|
+
|
|
323
|
+
@current_viewport = viewport
|
|
324
|
+
GLNative.viewport(x, y, width, height)
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
# Constants (hardcoded OpenGL values)
|
|
328
|
+
|
|
329
|
+
ALWAYS = 0x0207
|
|
330
|
+
ARRAY_BUFFER = 0x8892
|
|
331
|
+
BACK = 0x0405
|
|
332
|
+
BLEND = 0x0BE2
|
|
333
|
+
CLAMP_TO_BORDER = 0x812D
|
|
334
|
+
CLAMP_TO_EDGE = 0x812F
|
|
335
|
+
COLOR_ATTACHMENT0 = 0x8CE0
|
|
336
|
+
COLOR_ATTACHMENT1 = 0x8CE1
|
|
337
|
+
COLOR_BUFFER_BIT = 0x4000
|
|
338
|
+
COMPUTE_SHADER = 0x91B9
|
|
339
|
+
CULL_FACE = 0x0B44
|
|
340
|
+
DEPTH24_STENCIL8 = 0x88F0
|
|
341
|
+
DEPTH_ATTACHMENT = 0x8D00
|
|
342
|
+
DEPTH_BUFFER_BIT = 0x0100
|
|
343
|
+
DEPTH_COMPONENT = 0x1902
|
|
344
|
+
DEPTH_COMPONENT32F = 0x8CAC
|
|
345
|
+
DEPTH_STENCIL = 0x84F9
|
|
346
|
+
DEPTH_STENCIL_ATTACHMENT = 0x821A
|
|
347
|
+
DEPTH_STENCIL_TEXTURE_MODE = 0x90EA
|
|
348
|
+
DEPTH_TEST = 0x0B71
|
|
349
|
+
DRAW_FRAMEBUFFER = 0x8CA9
|
|
350
|
+
DYNAMIC_DRAW = 0x88E8
|
|
351
|
+
ELEMENT_ARRAY_BUFFER = 0x8893
|
|
352
|
+
EQUAL = 0x0202
|
|
353
|
+
FALSE = 0
|
|
354
|
+
FLOAT = 0x1406
|
|
355
|
+
FRAGMENT_SHADER = 0x8B30
|
|
356
|
+
FRAMEBUFFER = 0x8D40
|
|
357
|
+
FRAMEBUFFER_COMPLETE = 0x8CD5
|
|
358
|
+
INCR = 0x1E02
|
|
359
|
+
INT = 0x1404
|
|
360
|
+
KEEP = 0x1E00
|
|
361
|
+
LESS = 0x0201
|
|
362
|
+
LINEAR = 0x2601
|
|
363
|
+
LINK_STATUS = 0x8B82
|
|
364
|
+
NEAREST = 0x2600
|
|
365
|
+
NONE = 0
|
|
366
|
+
ONE_MINUS_SRC_ALPHA = 0x0303
|
|
367
|
+
QUERY_RESULT = 0x8866
|
|
368
|
+
READ_FRAMEBUFFER = 0x8CA8
|
|
369
|
+
READ_WRITE = 0x88BA
|
|
370
|
+
REPEAT = 0x2901
|
|
371
|
+
REPLACE = 0x1E01
|
|
372
|
+
RGB = 0x1907
|
|
373
|
+
RGB16F = 0x881B
|
|
374
|
+
RGBA = 0x1908
|
|
375
|
+
RGBA16F = 0x881A
|
|
376
|
+
RGBA32F = 0x8814
|
|
377
|
+
SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020
|
|
378
|
+
SHADING_LANGUAGE_VERSION = 0x8B8C
|
|
379
|
+
SRC_ALPHA = 0x0302
|
|
380
|
+
STATIC_DRAW = 0x88E4
|
|
381
|
+
STENCIL_BUFFER_BIT = 0x0400
|
|
382
|
+
STENCIL_TEST = 0x0B90
|
|
383
|
+
TEXTURE_2D = 0x0DE1
|
|
384
|
+
TEXTURE_2D_ARRAY = 0x8C1A
|
|
385
|
+
TEXTURE_BORDER_COLOR = 0x1004
|
|
386
|
+
TEXTURE_COMPARE_MODE = 0x884C
|
|
387
|
+
TEXTURE_CUBE_MAP = 0x8513
|
|
388
|
+
TEXTURE_CUBE_MAP_ARRAY = 0x9009
|
|
389
|
+
TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515
|
|
390
|
+
TEXTURE_MAG_FILTER = 0x2800
|
|
391
|
+
TEXTURE_MIN_FILTER = 0x2801
|
|
392
|
+
TEXTURE_RECTANGLE = 0x84F5
|
|
393
|
+
TEXTURE_WRAP_R = 0x8072
|
|
394
|
+
TEXTURE_WRAP_S = 0x2802
|
|
395
|
+
TEXTURE_WRAP_T = 0x2803
|
|
396
|
+
TIME_ELAPSED = 0x88BF
|
|
397
|
+
TRIANGLES = 0x0004
|
|
398
|
+
TRUE = 1
|
|
399
|
+
UNSIGNED_BYTE = 0x1401
|
|
400
|
+
UNSIGNED_INT = 0x1405
|
|
401
|
+
UNSIGNED_INT_24_8 = 0x84FA
|
|
402
|
+
VERTEX_SHADER = 0x8B31
|
|
403
|
+
VERSION = 0x1F02
|
|
404
|
+
|
|
405
|
+
# Texture units
|
|
406
|
+
TEXTURE0 = 0x84C0
|
|
407
|
+
TEXTURE1 = 0x84C1
|
|
408
|
+
TEXTURE2 = 0x84C2
|
|
409
|
+
TEXTURE3 = 0x84C3
|
|
410
|
+
TEXTURE4 = 0x84C4
|
|
411
|
+
TEXTURE5 = 0x84C5
|
|
412
|
+
TEXTURE6 = 0x84C6
|
|
413
|
+
TEXTURE7 = 0x84C7
|
|
414
|
+
TEXTURE8 = 0x84C8
|
|
415
|
+
TEXTURE9 = 0x84C9
|
|
416
|
+
TEXTURE10 = 0x84CA
|
|
417
|
+
TEXTURE11 = 0x84CB
|
|
418
|
+
TEXTURE12 = 0x84CC
|
|
419
|
+
TEXTURE13 = 0x84CD
|
|
420
|
+
TEXTURE14 = 0x84CE
|
|
421
|
+
TEXTURE15 = 0x84CF
|
|
422
|
+
TEXTURE16 = 0x84D0
|
|
423
|
+
TEXTURE17 = 0x84D1
|
|
424
|
+
TEXTURE18 = 0x84D2
|
|
425
|
+
TEXTURE19 = 0x84D3
|
|
426
|
+
TEXTURE20 = 0x84D4
|
|
427
|
+
TEXTURE21 = 0x84D5
|
|
428
|
+
TEXTURE22 = 0x84D6
|
|
429
|
+
TEXTURE23 = 0x84D7
|
|
430
|
+
TEXTURE24 = 0x84D8
|
|
431
|
+
TEXTURE25 = 0x84D9
|
|
432
|
+
TEXTURE26 = 0x84DA
|
|
433
|
+
TEXTURE27 = 0x84DB
|
|
434
|
+
TEXTURE28 = 0x84DC
|
|
435
|
+
TEXTURE29 = 0x84DD
|
|
436
|
+
TEXTURE30 = 0x84DE
|
|
437
|
+
TEXTURE31 = 0x84DF
|
|
438
|
+
end
|
|
439
|
+
end
|
data/lib/engine/glfw.rb
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'glfw_native'
|
|
4
|
+
require 'fiddle'
|
|
5
|
+
require 'fiddle/import'
|
|
6
|
+
|
|
7
|
+
module GLFW
|
|
8
|
+
# GLFW boolean constants
|
|
9
|
+
TRUE = 1
|
|
10
|
+
FALSE = 0
|
|
11
|
+
|
|
12
|
+
# Window hints
|
|
13
|
+
CONTEXT_VERSION_MAJOR = 0x00022002
|
|
14
|
+
CONTEXT_VERSION_MINOR = 0x00022003
|
|
15
|
+
OPENGL_FORWARD_COMPAT = 0x00022006
|
|
16
|
+
OPENGL_PROFILE = 0x00022008
|
|
17
|
+
DECORATED = 0x00020005
|
|
18
|
+
AUTO_ICONIFY = 0x00020006
|
|
19
|
+
|
|
20
|
+
# OpenGL profiles
|
|
21
|
+
OPENGL_CORE_PROFILE = 0x00032001
|
|
22
|
+
|
|
23
|
+
# Special value for "don't care"
|
|
24
|
+
DONT_CARE = -1
|
|
25
|
+
|
|
26
|
+
# Cursor input mode
|
|
27
|
+
CURSOR = 0x00033001
|
|
28
|
+
CURSOR_NORMAL = 0x00034001
|
|
29
|
+
CURSOR_HIDDEN = 0x00034002
|
|
30
|
+
CURSOR_DISABLED = 0x00034003
|
|
31
|
+
|
|
32
|
+
# GLFWvidmode struct for video mode handling
|
|
33
|
+
# Matches the C struct layout:
|
|
34
|
+
# int width, height, redBits, greenBits, blueBits, refreshRate
|
|
35
|
+
GLFWvidmode = Fiddle::Importer.struct([
|
|
36
|
+
'int width',
|
|
37
|
+
'int height',
|
|
38
|
+
'int redBits',
|
|
39
|
+
'int greenBits',
|
|
40
|
+
'int blueBits',
|
|
41
|
+
'int refreshRate'
|
|
42
|
+
])
|
|
43
|
+
|
|
44
|
+
class << self
|
|
45
|
+
def load_lib(path)
|
|
46
|
+
GLFWNative.load_lib(path)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def Init
|
|
50
|
+
GLFWNative.init
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def Terminate
|
|
54
|
+
GLFWNative.terminate
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def CreateWindow(width, height, title, monitor, share)
|
|
58
|
+
GLFWNative.create_window(width, height, title, monitor, share)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def DestroyWindow(window)
|
|
62
|
+
GLFWNative.destroy_window(window)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def WindowHint(hint, value)
|
|
66
|
+
GLFWNative.window_hint(hint, value)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def SetWindowAttrib(window, attrib, value)
|
|
70
|
+
GLFWNative.set_window_attrib(window, attrib, value)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def SetWindowTitle(window, title)
|
|
74
|
+
GLFWNative.set_window_title(window, title)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def SetWindowMonitor(window, monitor, xpos, ypos, width, height, refresh_rate)
|
|
78
|
+
GLFWNative.set_window_monitor(window, monitor, xpos, ypos, width, height, refresh_rate)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def WindowShouldClose(window)
|
|
82
|
+
GLFWNative.window_should_close(window)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def SetWindowShouldClose(window, value)
|
|
86
|
+
GLFWNative.set_window_should_close(window, value)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def FocusWindow(window)
|
|
90
|
+
GLFWNative.focus_window(window)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def MakeContextCurrent(window)
|
|
94
|
+
GLFWNative.make_context_current(window)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def GetFramebufferSize(window, width_buf, height_buf)
|
|
98
|
+
GLFWNative.get_framebuffer_size(window, width_buf, height_buf)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def PollEvents
|
|
102
|
+
GLFWNative.poll_events
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def SwapBuffers(window)
|
|
106
|
+
GLFWNative.swap_buffers(window)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
def SwapInterval(interval)
|
|
110
|
+
GLFWNative.swap_interval(interval)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
def SetKeyCallback(window, callback)
|
|
114
|
+
GLFWNative.set_key_callback(window, callback)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def SetCursorPosCallback(window, callback)
|
|
118
|
+
GLFWNative.set_cursor_pos_callback(window, callback)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def SetMouseButtonCallback(window, callback)
|
|
122
|
+
GLFWNative.set_mouse_button_callback(window, callback)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def GetPrimaryMonitor
|
|
126
|
+
GLFWNative.get_primary_monitor
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def GetVideoMode(monitor)
|
|
130
|
+
GLFWNative.get_video_mode(monitor)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def GetVideoModes(monitor, count_buf)
|
|
134
|
+
GLFWNative.get_video_modes(monitor, count_buf)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def SetInputMode(window, mode, value)
|
|
138
|
+
GLFWNative.set_input_mode(window, mode, value)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def GetInputMode(window, mode)
|
|
142
|
+
GLFWNative.get_input_mode(window, mode)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# create_callback is now a no-op that just returns the proc
|
|
146
|
+
# The native extension handles Ruby procs directly
|
|
147
|
+
def create_callback(type, &block)
|
|
148
|
+
block
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
end
|