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.
Files changed (564) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -0
  3. data/bin/build.bash +1 -1
  4. data/bin/import +11 -1
  5. data/ext/gl_native/extconf.rb +20 -0
  6. data/ext/gl_native/gl_native.c +563 -0
  7. data/ext/glfw_native/extconf.rb +18 -0
  8. data/ext/glfw_native/glfw_native.c +451 -0
  9. data/lib/engine/assets/_imported/cube.index_data +36 -0
  10. data/lib/engine/assets/_imported/cube.vertex_data +720 -0
  11. data/lib/engine/assets/_imported/plane.index_data +6 -0
  12. data/lib/engine/assets/_imported/plane.vertex_data +120 -0
  13. data/lib/engine/assets/_imported/sphere.index_data +2880 -0
  14. data/lib/engine/assets/_imported/sphere.vertex_data +57600 -0
  15. data/lib/engine/assets/cube.obj +46 -0
  16. data/lib/engine/assets/plane.obj +16 -0
  17. data/lib/engine/assets/sphere.obj +2488 -0
  18. data/lib/engine/component.rb +2 -0
  19. data/lib/engine/components/audio_source.rb +6 -4
  20. data/lib/engine/components/direction_light.rb +83 -4
  21. data/lib/engine/components/orthographic_camera.rb +31 -25
  22. data/lib/engine/components/perspective_camera.rb +35 -12
  23. data/lib/engine/components/point_light.rb +61 -5
  24. data/lib/engine/components/renderers/font_renderer.rb +19 -0
  25. data/lib/engine/components/renderers/font_renderer_base.rb +134 -0
  26. data/lib/engine/components/renderers/mesh_renderer.rb +41 -0
  27. data/lib/engine/components/renderers/sprite_renderer.rb +46 -0
  28. data/lib/engine/components/spot_light.rb +90 -0
  29. data/lib/engine/components/sprite_animator.rb +42 -0
  30. data/lib/engine/components/ui/flex/layout.rb +94 -0
  31. data/lib/engine/components/ui/flex/pack_layout.rb +65 -0
  32. data/lib/engine/components/ui/flex/stretch_layout.rb +52 -0
  33. data/lib/engine/components/ui/flex.rb +60 -0
  34. data/lib/engine/components/ui/font_renderer.rb +57 -0
  35. data/lib/engine/components/ui/rect.rb +117 -0
  36. data/lib/engine/components/ui/sprite_clickbox.rb +47 -0
  37. data/lib/engine/components/ui/sprite_renderer.rb +117 -0
  38. data/lib/engine/compute_shader.rb +14 -0
  39. data/lib/engine/compute_texture.rb +13 -0
  40. data/lib/engine/debugging.rb +4 -4
  41. data/lib/engine/engine.rb +8 -12
  42. data/lib/engine/font.rb +29 -4
  43. data/lib/engine/game_object.rb +121 -49
  44. data/lib/engine/gl.rb +439 -0
  45. data/lib/engine/glfw.rb +151 -0
  46. data/lib/engine/input.rb +115 -7
  47. data/lib/engine/material.rb +146 -11
  48. data/lib/engine/matrix_helpers.rb +38 -0
  49. data/lib/engine/mesh.rb +41 -16
  50. data/lib/engine/metal/compute_shader.rb +118 -0
  51. data/lib/engine/metal/compute_texture.rb +176 -0
  52. data/lib/engine/metal/device.rb +98 -0
  53. data/lib/engine/metal/metal_bindings.rb +126 -0
  54. data/lib/engine/opengl/compute_shader.rb +77 -0
  55. data/lib/engine/opengl/compute_texture.rb +31 -0
  56. data/lib/engine/physics/components/rigidbody.rb +23 -20
  57. data/lib/engine/physics/components/sphere_collider.rb +13 -3
  58. data/lib/engine/physics/physics_resolver.rb +24 -12
  59. data/lib/engine/rendering/cubemap_shadow_map_array.rb +77 -0
  60. data/lib/engine/rendering/gpu_timer.rb +68 -0
  61. data/lib/engine/rendering/instance_renderer.rb +140 -61
  62. data/lib/engine/rendering/post_processing/bloom_effect.rb +87 -0
  63. data/lib/engine/rendering/post_processing/depth_debug_effect.rb +17 -0
  64. data/lib/engine/rendering/post_processing/depth_of_field_effect.rb +52 -0
  65. data/lib/engine/rendering/post_processing/effect.rb +11 -0
  66. data/lib/engine/rendering/post_processing/post_processing_effect.rb +86 -0
  67. data/lib/engine/rendering/post_processing/single_pass_effect.rb +19 -0
  68. data/lib/engine/rendering/post_processing/ssao_effect.rb +182 -0
  69. data/lib/engine/rendering/post_processing/ssr_effect.rb +89 -0
  70. data/lib/engine/rendering/post_processing/tint_effect.rb +18 -0
  71. data/lib/engine/rendering/render_pipeline.rb +238 -6
  72. data/lib/engine/rendering/render_texture.rb +118 -0
  73. data/lib/engine/rendering/screen_quad.rb +64 -0
  74. data/lib/engine/rendering/shadow_map_array.rb +72 -0
  75. data/lib/engine/rendering/skybox_cubemap.rb +119 -0
  76. data/lib/engine/rendering/skybox_renderer.rb +64 -0
  77. data/lib/engine/rendering/ui/stencil_manager.rb +69 -0
  78. data/lib/engine/screenshoter.rb +1 -1
  79. data/lib/engine/serialization/graph_serializer.rb +74 -0
  80. data/lib/engine/serialization/object_serializer.rb +98 -0
  81. data/lib/engine/serialization/serializable.rb +78 -0
  82. data/lib/engine/serialization/yaml_persistence.rb +45 -0
  83. data/lib/engine/shader.rb +149 -25
  84. data/lib/engine/shaders/colour_frag.glsl +9 -1
  85. data/lib/engine/shaders/colour_vertex.glsl +12 -5
  86. data/lib/engine/shaders/fullscreen_frag.glsl +11 -0
  87. data/lib/engine/shaders/fullscreen_vertex.glsl +12 -0
  88. data/lib/engine/shaders/instanced_sprite_frag.glsl +21 -0
  89. data/lib/engine/shaders/{skybox_vert.glsl → instanced_sprite_vertex.glsl} +3 -2
  90. data/lib/engine/shaders/lighting/directional_light.glsl +49 -0
  91. data/lib/engine/shaders/lighting/lighting.glsl +33 -0
  92. data/lib/engine/shaders/lighting/lighting_common.glsl +13 -0
  93. data/lib/engine/shaders/lighting/point_light.glsl +46 -0
  94. data/lib/engine/shaders/lighting/spot_light.glsl +80 -0
  95. data/lib/engine/shaders/mesh_frag.glsl +28 -77
  96. data/lib/engine/shaders/mesh_vertex.glsl +5 -5
  97. data/lib/engine/shaders/point_shadow_frag.glsl +12 -0
  98. data/lib/engine/shaders/point_shadow_vertex.glsl +15 -0
  99. data/lib/engine/shaders/post_process/bloom_blur_frag.glsl +25 -0
  100. data/lib/engine/shaders/post_process/bloom_combine_frag.glsl +19 -0
  101. data/lib/engine/shaders/post_process/bloom_threshold_frag.glsl +19 -0
  102. data/lib/engine/shaders/post_process/debug_normals_frag.glsl +21 -0
  103. data/lib/engine/shaders/post_process/depth_debug_frag.glsl +17 -0
  104. data/lib/engine/shaders/post_process/dof_blur_frag.glsl +52 -0
  105. data/lib/engine/shaders/post_process/skybox_frag.glsl +29 -0
  106. data/lib/engine/shaders/post_process/ssao/blur_frag.glsl +50 -0
  107. data/lib/engine/shaders/post_process/ssao/combine_frag.glsl +15 -0
  108. data/lib/engine/shaders/post_process/ssao/frag.glsl +99 -0
  109. data/lib/engine/shaders/post_process/ssr/combine_frag.glsl +16 -0
  110. data/lib/engine/shaders/post_process/ssr/frag.glsl +118 -0
  111. data/lib/engine/shaders/post_process/tint_frag.glsl +14 -0
  112. data/lib/engine/shaders/shadow_frag.glsl +6 -0
  113. data/lib/engine/shaders/shadow_vertex.glsl +11 -0
  114. data/lib/engine/shaders/skybox_cubemap_frag.glsl +46 -0
  115. data/lib/engine/shaders/vertex_lit_frag.glsl +10 -66
  116. data/lib/engine/shaders/vertex_lit_vertex.glsl +1 -1
  117. data/lib/engine/standard_meshes/quad_mesh.rb +26 -0
  118. data/lib/engine/standard_objects/cube.rb +23 -0
  119. data/lib/engine/standard_objects/default_material.rb +20 -0
  120. data/lib/engine/standard_objects/plane.rb +23 -0
  121. data/lib/engine/standard_objects/sphere.rb +23 -0
  122. data/lib/engine/texture.rb +28 -19
  123. data/lib/engine/ui/rect.rb +16 -0
  124. data/lib/engine/window.rb +2 -2
  125. data/lib/ruby_rpg.rb +69 -9
  126. data/vendor/glew-2.2.0-win32/LICENSE.txt +73 -0
  127. data/vendor/glew-2.2.0-win32/bin/Release/x64/glew32.dll +0 -0
  128. data/vendor/glew-2.2.0-win32/include/GL/glew.h +26427 -0
  129. data/vendor/glew-2.2.0-win32/lib/Release/x64/glew32.lib +0 -0
  130. metadata +124 -466
  131. data/glfw-3.3.9.bin.MACOS/README.md +0 -5
  132. data/glfw-3.3.9.bin.MACOS/docs/html/bc_s.png +0 -0
  133. data/glfw-3.3.9.bin.MACOS/docs/html/bc_sd.png +0 -0
  134. data/glfw-3.3.9.bin.MACOS/docs/html/build_8dox.html +0 -81
  135. data/glfw-3.3.9.bin.MACOS/docs/html/build_guide.html +0 -199
  136. data/glfw-3.3.9.bin.MACOS/docs/html/closed.png +0 -0
  137. data/glfw-3.3.9.bin.MACOS/docs/html/compat_8dox.html +0 -81
  138. data/glfw-3.3.9.bin.MACOS/docs/html/compat_guide.html +0 -153
  139. data/glfw-3.3.9.bin.MACOS/docs/html/compile_8dox.html +0 -81
  140. data/glfw-3.3.9.bin.MACOS/docs/html/compile_guide.html +0 -223
  141. data/glfw-3.3.9.bin.MACOS/docs/html/context_8dox.html +0 -81
  142. data/glfw-3.3.9.bin.MACOS/docs/html/context_guide.html +0 -259
  143. data/glfw-3.3.9.bin.MACOS/docs/html/deprecated.html +0 -88
  144. data/glfw-3.3.9.bin.MACOS/docs/html/dir_08423ce7729c4554356a7de7171ba263.html +0 -85
  145. data/glfw-3.3.9.bin.MACOS/docs/html/dir_2dcebcdf14b42e92a6ed85c61bda6b9d.html +0 -93
  146. data/glfw-3.3.9.bin.MACOS/docs/html/dir_62ce056722ee97c199075aa1d6eca309.html +0 -95
  147. data/glfw-3.3.9.bin.MACOS/docs/html/dir_dddf4cf62655095a666cf715de3a31a2.html +0 -91
  148. data/glfw-3.3.9.bin.MACOS/docs/html/doc.svg +0 -12
  149. data/glfw-3.3.9.bin.MACOS/docs/html/docd.svg +0 -12
  150. data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.css +0 -1685
  151. data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.svg +0 -28
  152. data/glfw-3.3.9.bin.MACOS/docs/html/dynsections.js +0 -192
  153. data/glfw-3.3.9.bin.MACOS/docs/html/extra.css +0 -1
  154. data/glfw-3.3.9.bin.MACOS/docs/html/files.html +0 -91
  155. data/glfw-3.3.9.bin.MACOS/docs/html/folderclosed.svg +0 -11
  156. data/glfw-3.3.9.bin.MACOS/docs/html/folderclosedd.svg +0 -11
  157. data/glfw-3.3.9.bin.MACOS/docs/html/folderopen.svg +0 -17
  158. data/glfw-3.3.9.bin.MACOS/docs/html/folderopend.svg +0 -12
  159. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h.html +0 -1661
  160. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h_source.html +0 -1175
  161. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h.html +0 -167
  162. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h_source.html +0 -303
  163. data/glfw-3.3.9.bin.MACOS/docs/html/group__buttons.html +0 -282
  164. data/glfw-3.3.9.bin.MACOS/docs/html/group__context.html +0 -304
  165. data/glfw-3.3.9.bin.MACOS/docs/html/group__errors.html +0 -304
  166. data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__axes.html +0 -202
  167. data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__buttons.html +0 -410
  168. data/glfw-3.3.9.bin.MACOS/docs/html/group__hat__state.html +0 -234
  169. data/glfw-3.3.9.bin.MACOS/docs/html/group__init.html +0 -570
  170. data/glfw-3.3.9.bin.MACOS/docs/html/group__input.html +0 -2255
  171. data/glfw-3.3.9.bin.MACOS/docs/html/group__joysticks.html +0 -362
  172. data/glfw-3.3.9.bin.MACOS/docs/html/group__keys.html +0 -2034
  173. data/glfw-3.3.9.bin.MACOS/docs/html/group__mods.html +0 -198
  174. data/glfw-3.3.9.bin.MACOS/docs/html/group__monitor.html +0 -848
  175. data/glfw-3.3.9.bin.MACOS/docs/html/group__native.html +0 -812
  176. data/glfw-3.3.9.bin.MACOS/docs/html/group__shapes.html +0 -198
  177. data/glfw-3.3.9.bin.MACOS/docs/html/group__vulkan.html +0 -359
  178. data/glfw-3.3.9.bin.MACOS/docs/html/group__window.html +0 -3434
  179. data/glfw-3.3.9.bin.MACOS/docs/html/index.html +0 -100
  180. data/glfw-3.3.9.bin.MACOS/docs/html/input_8dox.html +0 -81
  181. data/glfw-3.3.9.bin.MACOS/docs/html/input_guide.html +0 -570
  182. data/glfw-3.3.9.bin.MACOS/docs/html/internal_8dox.html +0 -81
  183. data/glfw-3.3.9.bin.MACOS/docs/html/internals_guide.html +0 -132
  184. data/glfw-3.3.9.bin.MACOS/docs/html/intro_8dox.html +0 -81
  185. data/glfw-3.3.9.bin.MACOS/docs/html/intro_guide.html +0 -351
  186. data/glfw-3.3.9.bin.MACOS/docs/html/jquery.js +0 -34
  187. data/glfw-3.3.9.bin.MACOS/docs/html/main_8dox.html +0 -81
  188. data/glfw-3.3.9.bin.MACOS/docs/html/menu.js +0 -136
  189. data/glfw-3.3.9.bin.MACOS/docs/html/menudata.js +0 -29
  190. data/glfw-3.3.9.bin.MACOS/docs/html/minus.svg +0 -8
  191. data/glfw-3.3.9.bin.MACOS/docs/html/minusd.svg +0 -8
  192. data/glfw-3.3.9.bin.MACOS/docs/html/monitor_8dox.html +0 -81
  193. data/glfw-3.3.9.bin.MACOS/docs/html/monitor_guide.html +0 -229
  194. data/glfw-3.3.9.bin.MACOS/docs/html/moving_8dox.html +0 -81
  195. data/glfw-3.3.9.bin.MACOS/docs/html/moving_guide.html +0 -374
  196. data/glfw-3.3.9.bin.MACOS/docs/html/nav_f.png +0 -0
  197. data/glfw-3.3.9.bin.MACOS/docs/html/nav_fd.png +0 -0
  198. data/glfw-3.3.9.bin.MACOS/docs/html/nav_g.png +0 -0
  199. data/glfw-3.3.9.bin.MACOS/docs/html/nav_h.png +0 -0
  200. data/glfw-3.3.9.bin.MACOS/docs/html/nav_hd.png +0 -0
  201. data/glfw-3.3.9.bin.MACOS/docs/html/news.html +0 -634
  202. data/glfw-3.3.9.bin.MACOS/docs/html/news_8dox.html +0 -81
  203. data/glfw-3.3.9.bin.MACOS/docs/html/open.png +0 -0
  204. data/glfw-3.3.9.bin.MACOS/docs/html/pages.html +0 -99
  205. data/glfw-3.3.9.bin.MACOS/docs/html/plus.svg +0 -9
  206. data/glfw-3.3.9.bin.MACOS/docs/html/plusd.svg +0 -9
  207. data/glfw-3.3.9.bin.MACOS/docs/html/quick_8dox.html +0 -81
  208. data/glfw-3.3.9.bin.MACOS/docs/html/quick_guide.html +0 -397
  209. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_0.js +0 -5
  210. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1.js +0 -4
  211. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_10.js +0 -65
  212. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_11.js +0 -26
  213. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_12.js +0 -44
  214. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_13.js +0 -34
  215. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_14.js +0 -12
  216. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_15.js +0 -52
  217. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_16.js +0 -69
  218. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_17.js +0 -51
  219. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_18.js +0 -14
  220. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_19.js +0 -36
  221. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1a.js +0 -98
  222. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1b.js +0 -12
  223. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_2.js +0 -6
  224. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_3.js +0 -9
  225. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_4.js +0 -57
  226. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_5.js +0 -22
  227. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_6.js +0 -103
  228. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_7.js +0 -23
  229. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_8.js +0 -35
  230. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_9.js +0 -63
  231. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_a.js +0 -505
  232. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_b.js +0 -24
  233. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_c.js +0 -50
  234. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_d.js +0 -17
  235. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_e.js +0 -12
  236. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_f.js +0 -35
  237. data/glfw-3.3.9.bin.MACOS/docs/html/search/classes_0.js +0 -7
  238. data/glfw-3.3.9.bin.MACOS/docs/html/search/close.svg +0 -18
  239. data/glfw-3.3.9.bin.MACOS/docs/html/search/defines_0.js +0 -34
  240. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_0.js +0 -4
  241. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_1.js +0 -6
  242. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_2.js +0 -5
  243. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_3.js +0 -6
  244. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_4.js +0 -6
  245. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_5.js +0 -4
  246. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_6.js +0 -4
  247. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_7.js +0 -4
  248. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_8.js +0 -4
  249. data/glfw-3.3.9.bin.MACOS/docs/html/search/functions_0.js +0 -146
  250. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_0.js +0 -6
  251. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_1.js +0 -4
  252. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_10.js +0 -4
  253. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_2.js +0 -6
  254. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_3.js +0 -5
  255. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_4.js +0 -4
  256. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_5.js +0 -5
  257. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_6.js +0 -4
  258. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_7.js +0 -5
  259. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_8.js +0 -5
  260. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_9.js +0 -6
  261. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_a.js +0 -6
  262. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_b.js +0 -4
  263. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_c.js +0 -4
  264. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_d.js +0 -7
  265. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_e.js +0 -4
  266. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_f.js +0 -5
  267. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag.svg +0 -24
  268. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_d.svg +0 -24
  269. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_sel.svg +0 -31
  270. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_seld.svg +0 -31
  271. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_0.js +0 -4
  272. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_1.js +0 -4
  273. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_10.js +0 -4
  274. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_2.js +0 -5
  275. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_3.js +0 -4
  276. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_4.js +0 -6
  277. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_5.js +0 -4
  278. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_6.js +0 -4
  279. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_7.js +0 -7
  280. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_8.js +0 -6
  281. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_9.js +0 -4
  282. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_a.js +0 -5
  283. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_b.js +0 -5
  284. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_c.js +0 -4
  285. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_d.js +0 -6
  286. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_e.js +0 -6
  287. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_f.js +0 -4
  288. data/glfw-3.3.9.bin.MACOS/docs/html/search/search.css +0 -291
  289. data/glfw-3.3.9.bin.MACOS/docs/html/search/search.js +0 -840
  290. data/glfw-3.3.9.bin.MACOS/docs/html/search/searchdata.js +0 -39
  291. data/glfw-3.3.9.bin.MACOS/docs/html/search/typedefs_0.js +0 -32
  292. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_0.js +0 -4
  293. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_1.js +0 -6
  294. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_2.js +0 -5
  295. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_3.js +0 -4
  296. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_4.js +0 -4
  297. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_5.js +0 -6
  298. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_6.js +0 -4
  299. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_7.js +0 -4
  300. data/glfw-3.3.9.bin.MACOS/docs/html/spaces.svg +0 -877
  301. data/glfw-3.3.9.bin.MACOS/docs/html/splitbar.png +0 -0
  302. data/glfw-3.3.9.bin.MACOS/docs/html/splitbard.png +0 -0
  303. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
  304. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgammaramp.html +0 -170
  305. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wimage.html +0 -151
  306. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wvidmode.html +0 -204
  307. data/glfw-3.3.9.bin.MACOS/docs/html/sync_off.png +0 -0
  308. data/glfw-3.3.9.bin.MACOS/docs/html/sync_on.png +0 -0
  309. data/glfw-3.3.9.bin.MACOS/docs/html/tab_a.png +0 -0
  310. data/glfw-3.3.9.bin.MACOS/docs/html/tab_ad.png +0 -0
  311. data/glfw-3.3.9.bin.MACOS/docs/html/tab_b.png +0 -0
  312. data/glfw-3.3.9.bin.MACOS/docs/html/tab_bd.png +0 -0
  313. data/glfw-3.3.9.bin.MACOS/docs/html/tab_h.png +0 -0
  314. data/glfw-3.3.9.bin.MACOS/docs/html/tab_hd.png +0 -0
  315. data/glfw-3.3.9.bin.MACOS/docs/html/tab_s.png +0 -0
  316. data/glfw-3.3.9.bin.MACOS/docs/html/tab_sd.png +0 -0
  317. data/glfw-3.3.9.bin.MACOS/docs/html/tabs.css +0 -1
  318. data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_8dox.html +0 -81
  319. data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_guide.html +0 -196
  320. data/glfw-3.3.9.bin.MACOS/docs/html/window_8dox.html +0 -81
  321. data/glfw-3.3.9.bin.MACOS/docs/html/window_guide.html +0 -763
  322. data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3.h +0 -5932
  323. data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3native.h +0 -634
  324. data/glfw-3.3.9.bin.MACOS/lib-arm64/libglfw3.a +0 -0
  325. data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw.3.dylib +0 -0
  326. data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw3.a +0 -0
  327. data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw.3.dylib +0 -0
  328. data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw3.a +0 -0
  329. data/glfw-3.4.bin.WIN64/README.md +0 -70
  330. data/glfw-3.4.bin.WIN64/docs/html/bc_s.png +0 -0
  331. data/glfw-3.4.bin.WIN64/docs/html/bc_sd.png +0 -0
  332. data/glfw-3.4.bin.WIN64/docs/html/build_8md.html +0 -81
  333. data/glfw-3.4.bin.WIN64/docs/html/build_guide.html +0 -217
  334. data/glfw-3.4.bin.WIN64/docs/html/closed.png +0 -0
  335. data/glfw-3.4.bin.WIN64/docs/html/compat_8md.html +0 -81
  336. data/glfw-3.4.bin.WIN64/docs/html/compat_guide.html +0 -156
  337. data/glfw-3.4.bin.WIN64/docs/html/compile_8md.html +0 -81
  338. data/glfw-3.4.bin.WIN64/docs/html/compile_guide.html +0 -219
  339. data/glfw-3.4.bin.WIN64/docs/html/context_8md.html +0 -81
  340. data/glfw-3.4.bin.WIN64/docs/html/context_guide.html +0 -258
  341. data/glfw-3.4.bin.WIN64/docs/html/deprecated.html +0 -88
  342. data/glfw-3.4.bin.WIN64/docs/html/dir_13577e2d8b9423099662de029791bd7d.html +0 -93
  343. data/glfw-3.4.bin.WIN64/docs/html/dir_7f92719a7fe62e5b064f87d7a3c220b1.html +0 -95
  344. data/glfw-3.4.bin.WIN64/docs/html/dir_a788ef6c2b1e5b367804e0b6ccfd6f11.html +0 -85
  345. data/glfw-3.4.bin.WIN64/docs/html/dir_b11153cd0f4fd04a7564cc166f482635.html +0 -91
  346. data/glfw-3.4.bin.WIN64/docs/html/doc.svg +0 -12
  347. data/glfw-3.4.bin.WIN64/docs/html/docd.svg +0 -12
  348. data/glfw-3.4.bin.WIN64/docs/html/doxygen.css +0 -1685
  349. data/glfw-3.4.bin.WIN64/docs/html/doxygen.svg +0 -28
  350. data/glfw-3.4.bin.WIN64/docs/html/dynsections.js +0 -192
  351. data/glfw-3.4.bin.WIN64/docs/html/extra.css +0 -2
  352. data/glfw-3.4.bin.WIN64/docs/html/files.html +0 -91
  353. data/glfw-3.4.bin.WIN64/docs/html/folderclosed.svg +0 -11
  354. data/glfw-3.4.bin.WIN64/docs/html/folderclosedd.svg +0 -11
  355. data/glfw-3.4.bin.WIN64/docs/html/folderopen.svg +0 -17
  356. data/glfw-3.4.bin.WIN64/docs/html/folderopend.svg +0 -12
  357. data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h.html +0 -1910
  358. data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h_source.html +0 -1260
  359. data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h.html +0 -170
  360. data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h_source.html +0 -306
  361. data/glfw-3.4.bin.WIN64/docs/html/group__buttons.html +0 -282
  362. data/glfw-3.4.bin.WIN64/docs/html/group__context.html +0 -304
  363. data/glfw-3.4.bin.WIN64/docs/html/group__errors.html +0 -384
  364. data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__axes.html +0 -202
  365. data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__buttons.html +0 -410
  366. data/glfw-3.4.bin.WIN64/docs/html/group__hat__state.html +0 -234
  367. data/glfw-3.4.bin.WIN64/docs/html/group__init.html +0 -1015
  368. data/glfw-3.4.bin.WIN64/docs/html/group__input.html +0 -2285
  369. data/glfw-3.4.bin.WIN64/docs/html/group__joysticks.html +0 -362
  370. data/glfw-3.4.bin.WIN64/docs/html/group__keys.html +0 -2034
  371. data/glfw-3.4.bin.WIN64/docs/html/group__mods.html +0 -198
  372. data/glfw-3.4.bin.WIN64/docs/html/group__monitor.html +0 -849
  373. data/glfw-3.4.bin.WIN64/docs/html/group__native.html +0 -837
  374. data/glfw-3.4.bin.WIN64/docs/html/group__shapes.html +0 -337
  375. data/glfw-3.4.bin.WIN64/docs/html/group__vulkan.html +0 -361
  376. data/glfw-3.4.bin.WIN64/docs/html/group__window.html +0 -3608
  377. data/glfw-3.4.bin.WIN64/docs/html/index.html +0 -100
  378. data/glfw-3.4.bin.WIN64/docs/html/input_8md.html +0 -81
  379. data/glfw-3.4.bin.WIN64/docs/html/input_guide.html +0 -576
  380. data/glfw-3.4.bin.WIN64/docs/html/internal_8md.html +0 -81
  381. data/glfw-3.4.bin.WIN64/docs/html/internals_guide.html +0 -135
  382. data/glfw-3.4.bin.WIN64/docs/html/intro_8md.html +0 -81
  383. data/glfw-3.4.bin.WIN64/docs/html/intro_guide.html +0 -429
  384. data/glfw-3.4.bin.WIN64/docs/html/jquery.js +0 -34
  385. data/glfw-3.4.bin.WIN64/docs/html/main_8md.html +0 -81
  386. data/glfw-3.4.bin.WIN64/docs/html/menu.js +0 -136
  387. data/glfw-3.4.bin.WIN64/docs/html/menudata.js +0 -30
  388. data/glfw-3.4.bin.WIN64/docs/html/minus.svg +0 -8
  389. data/glfw-3.4.bin.WIN64/docs/html/minusd.svg +0 -8
  390. data/glfw-3.4.bin.WIN64/docs/html/monitor_8md.html +0 -81
  391. data/glfw-3.4.bin.WIN64/docs/html/monitor_guide.html +0 -228
  392. data/glfw-3.4.bin.WIN64/docs/html/moving_8md.html +0 -81
  393. data/glfw-3.4.bin.WIN64/docs/html/moving_guide.html +0 -360
  394. data/glfw-3.4.bin.WIN64/docs/html/nav_f.png +0 -0
  395. data/glfw-3.4.bin.WIN64/docs/html/nav_fd.png +0 -0
  396. data/glfw-3.4.bin.WIN64/docs/html/nav_g.png +0 -0
  397. data/glfw-3.4.bin.WIN64/docs/html/nav_h.png +0 -0
  398. data/glfw-3.4.bin.WIN64/docs/html/nav_hd.png +0 -0
  399. data/glfw-3.4.bin.WIN64/docs/html/news.html +0 -336
  400. data/glfw-3.4.bin.WIN64/docs/html/news_8md.html +0 -81
  401. data/glfw-3.4.bin.WIN64/docs/html/open.png +0 -0
  402. data/glfw-3.4.bin.WIN64/docs/html/pages.html +0 -99
  403. data/glfw-3.4.bin.WIN64/docs/html/plus.svg +0 -9
  404. data/glfw-3.4.bin.WIN64/docs/html/plusd.svg +0 -9
  405. data/glfw-3.4.bin.WIN64/docs/html/quick_8md.html +0 -81
  406. data/glfw-3.4.bin.WIN64/docs/html/quick_guide.html +0 -406
  407. data/glfw-3.4.bin.WIN64/docs/html/search/all_0.js +0 -4
  408. data/glfw-3.4.bin.WIN64/docs/html/search/all_1.js +0 -4
  409. data/glfw-3.4.bin.WIN64/docs/html/search/all_10.js +0 -13
  410. data/glfw-3.4.bin.WIN64/docs/html/search/all_11.js +0 -11
  411. data/glfw-3.4.bin.WIN64/docs/html/search/all_12.js +0 -26
  412. data/glfw-3.4.bin.WIN64/docs/html/search/all_13.js +0 -51
  413. data/glfw-3.4.bin.WIN64/docs/html/search/all_14.js +0 -22
  414. data/glfw-3.4.bin.WIN64/docs/html/search/all_15.js +0 -35
  415. data/glfw-3.4.bin.WIN64/docs/html/search/all_16.js +0 -29
  416. data/glfw-3.4.bin.WIN64/docs/html/search/all_17.js +0 -8
  417. data/glfw-3.4.bin.WIN64/docs/html/search/all_18.js +0 -44
  418. data/glfw-3.4.bin.WIN64/docs/html/search/all_19.js +0 -60
  419. data/glfw-3.4.bin.WIN64/docs/html/search/all_1a.js +0 -39
  420. data/glfw-3.4.bin.WIN64/docs/html/search/all_1b.js +0 -8
  421. data/glfw-3.4.bin.WIN64/docs/html/search/all_1c.js +0 -32
  422. data/glfw-3.4.bin.WIN64/docs/html/search/all_1d.js +0 -84
  423. data/glfw-3.4.bin.WIN64/docs/html/search/all_1e.js +0 -13
  424. data/glfw-3.4.bin.WIN64/docs/html/search/all_1f.js +0 -4
  425. data/glfw-3.4.bin.WIN64/docs/html/search/all_2.js +0 -5
  426. data/glfw-3.4.bin.WIN64/docs/html/search/all_3.js +0 -4
  427. data/glfw-3.4.bin.WIN64/docs/html/search/all_4.js +0 -4
  428. data/glfw-3.4.bin.WIN64/docs/html/search/all_5.js +0 -4
  429. data/glfw-3.4.bin.WIN64/docs/html/search/all_6.js +0 -4
  430. data/glfw-3.4.bin.WIN64/docs/html/search/all_7.js +0 -58
  431. data/glfw-3.4.bin.WIN64/docs/html/search/all_8.js +0 -21
  432. data/glfw-3.4.bin.WIN64/docs/html/search/all_9.js +0 -82
  433. data/glfw-3.4.bin.WIN64/docs/html/search/all_a.js +0 -20
  434. data/glfw-3.4.bin.WIN64/docs/html/search/all_b.js +0 -26
  435. data/glfw-3.4.bin.WIN64/docs/html/search/all_c.js +0 -35
  436. data/glfw-3.4.bin.WIN64/docs/html/search/all_d.js +0 -555
  437. data/glfw-3.4.bin.WIN64/docs/html/search/all_e.js +0 -23
  438. data/glfw-3.4.bin.WIN64/docs/html/search/all_f.js +0 -40
  439. data/glfw-3.4.bin.WIN64/docs/html/search/classes_0.js +0 -8
  440. data/glfw-3.4.bin.WIN64/docs/html/search/close.svg +0 -18
  441. data/glfw-3.4.bin.WIN64/docs/html/search/defines_0.js +0 -43
  442. data/glfw-3.4.bin.WIN64/docs/html/search/files_0.js +0 -4
  443. data/glfw-3.4.bin.WIN64/docs/html/search/files_1.js +0 -6
  444. data/glfw-3.4.bin.WIN64/docs/html/search/files_2.js +0 -5
  445. data/glfw-3.4.bin.WIN64/docs/html/search/files_3.js +0 -6
  446. data/glfw-3.4.bin.WIN64/docs/html/search/files_4.js +0 -6
  447. data/glfw-3.4.bin.WIN64/docs/html/search/files_5.js +0 -4
  448. data/glfw-3.4.bin.WIN64/docs/html/search/files_6.js +0 -4
  449. data/glfw-3.4.bin.WIN64/docs/html/search/files_7.js +0 -4
  450. data/glfw-3.4.bin.WIN64/docs/html/search/files_8.js +0 -4
  451. data/glfw-3.4.bin.WIN64/docs/html/search/functions_0.js +0 -152
  452. data/glfw-3.4.bin.WIN64/docs/html/search/groups_0.js +0 -6
  453. data/glfw-3.4.bin.WIN64/docs/html/search/groups_1.js +0 -4
  454. data/glfw-3.4.bin.WIN64/docs/html/search/groups_10.js +0 -4
  455. data/glfw-3.4.bin.WIN64/docs/html/search/groups_2.js +0 -6
  456. data/glfw-3.4.bin.WIN64/docs/html/search/groups_3.js +0 -5
  457. data/glfw-3.4.bin.WIN64/docs/html/search/groups_4.js +0 -4
  458. data/glfw-3.4.bin.WIN64/docs/html/search/groups_5.js +0 -5
  459. data/glfw-3.4.bin.WIN64/docs/html/search/groups_6.js +0 -4
  460. data/glfw-3.4.bin.WIN64/docs/html/search/groups_7.js +0 -5
  461. data/glfw-3.4.bin.WIN64/docs/html/search/groups_8.js +0 -5
  462. data/glfw-3.4.bin.WIN64/docs/html/search/groups_9.js +0 -6
  463. data/glfw-3.4.bin.WIN64/docs/html/search/groups_a.js +0 -6
  464. data/glfw-3.4.bin.WIN64/docs/html/search/groups_b.js +0 -4
  465. data/glfw-3.4.bin.WIN64/docs/html/search/groups_c.js +0 -4
  466. data/glfw-3.4.bin.WIN64/docs/html/search/groups_d.js +0 -7
  467. data/glfw-3.4.bin.WIN64/docs/html/search/groups_e.js +0 -4
  468. data/glfw-3.4.bin.WIN64/docs/html/search/groups_f.js +0 -5
  469. data/glfw-3.4.bin.WIN64/docs/html/search/mag.svg +0 -24
  470. data/glfw-3.4.bin.WIN64/docs/html/search/mag_d.svg +0 -24
  471. data/glfw-3.4.bin.WIN64/docs/html/search/mag_sel.svg +0 -31
  472. data/glfw-3.4.bin.WIN64/docs/html/search/mag_seld.svg +0 -31
  473. data/glfw-3.4.bin.WIN64/docs/html/search/pages_0.js +0 -4
  474. data/glfw-3.4.bin.WIN64/docs/html/search/pages_1.js +0 -5
  475. data/glfw-3.4.bin.WIN64/docs/html/search/pages_10.js +0 -5
  476. data/glfw-3.4.bin.WIN64/docs/html/search/pages_11.js +0 -4
  477. data/glfw-3.4.bin.WIN64/docs/html/search/pages_2.js +0 -4
  478. data/glfw-3.4.bin.WIN64/docs/html/search/pages_3.js +0 -5
  479. data/glfw-3.4.bin.WIN64/docs/html/search/pages_4.js +0 -4
  480. data/glfw-3.4.bin.WIN64/docs/html/search/pages_5.js +0 -6
  481. data/glfw-3.4.bin.WIN64/docs/html/search/pages_6.js +0 -4
  482. data/glfw-3.4.bin.WIN64/docs/html/search/pages_7.js +0 -5
  483. data/glfw-3.4.bin.WIN64/docs/html/search/pages_8.js +0 -7
  484. data/glfw-3.4.bin.WIN64/docs/html/search/pages_9.js +0 -7
  485. data/glfw-3.4.bin.WIN64/docs/html/search/pages_a.js +0 -4
  486. data/glfw-3.4.bin.WIN64/docs/html/search/pages_b.js +0 -5
  487. data/glfw-3.4.bin.WIN64/docs/html/search/pages_c.js +0 -4
  488. data/glfw-3.4.bin.WIN64/docs/html/search/pages_d.js +0 -4
  489. data/glfw-3.4.bin.WIN64/docs/html/search/pages_e.js +0 -6
  490. data/glfw-3.4.bin.WIN64/docs/html/search/pages_f.js +0 -6
  491. data/glfw-3.4.bin.WIN64/docs/html/search/search.css +0 -291
  492. data/glfw-3.4.bin.WIN64/docs/html/search/search.js +0 -840
  493. data/glfw-3.4.bin.WIN64/docs/html/search/searchdata.js +0 -39
  494. data/glfw-3.4.bin.WIN64/docs/html/search/typedefs_0.js +0 -36
  495. data/glfw-3.4.bin.WIN64/docs/html/search/variables_0.js +0 -5
  496. data/glfw-3.4.bin.WIN64/docs/html/search/variables_1.js +0 -6
  497. data/glfw-3.4.bin.WIN64/docs/html/search/variables_2.js +0 -4
  498. data/glfw-3.4.bin.WIN64/docs/html/search/variables_3.js +0 -5
  499. data/glfw-3.4.bin.WIN64/docs/html/search/variables_4.js +0 -4
  500. data/glfw-3.4.bin.WIN64/docs/html/search/variables_5.js +0 -4
  501. data/glfw-3.4.bin.WIN64/docs/html/search/variables_6.js +0 -7
  502. data/glfw-3.4.bin.WIN64/docs/html/search/variables_7.js +0 -4
  503. data/glfw-3.4.bin.WIN64/docs/html/search/variables_8.js +0 -4
  504. data/glfw-3.4.bin.WIN64/docs/html/search/variables_9.js +0 -4
  505. data/glfw-3.4.bin.WIN64/docs/html/spaces.svg +0 -877
  506. data/glfw-3.4.bin.WIN64/docs/html/splitbar.png +0 -0
  507. data/glfw-3.4.bin.WIN64/docs/html/splitbard.png +0 -0
  508. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wallocator.html +0 -168
  509. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
  510. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgammaramp.html +0 -170
  511. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wimage.html +0 -151
  512. data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wvidmode.html +0 -204
  513. data/glfw-3.4.bin.WIN64/docs/html/sync_off.png +0 -0
  514. data/glfw-3.4.bin.WIN64/docs/html/sync_on.png +0 -0
  515. data/glfw-3.4.bin.WIN64/docs/html/tab_a.png +0 -0
  516. data/glfw-3.4.bin.WIN64/docs/html/tab_ad.png +0 -0
  517. data/glfw-3.4.bin.WIN64/docs/html/tab_b.png +0 -0
  518. data/glfw-3.4.bin.WIN64/docs/html/tab_bd.png +0 -0
  519. data/glfw-3.4.bin.WIN64/docs/html/tab_h.png +0 -0
  520. data/glfw-3.4.bin.WIN64/docs/html/tab_hd.png +0 -0
  521. data/glfw-3.4.bin.WIN64/docs/html/tab_s.png +0 -0
  522. data/glfw-3.4.bin.WIN64/docs/html/tab_sd.png +0 -0
  523. data/glfw-3.4.bin.WIN64/docs/html/tabs.css +0 -1
  524. data/glfw-3.4.bin.WIN64/docs/html/topics.html +0 -101
  525. data/glfw-3.4.bin.WIN64/docs/html/vulkan_8md.html +0 -81
  526. data/glfw-3.4.bin.WIN64/docs/html/vulkan_guide.html +0 -206
  527. data/glfw-3.4.bin.WIN64/docs/html/window_8md.html +0 -81
  528. data/glfw-3.4.bin.WIN64/docs/html/window_guide.html +0 -806
  529. data/glfw-3.4.bin.WIN64/include/GLFW/glfw3.h +0 -6547
  530. data/glfw-3.4.bin.WIN64/include/GLFW/glfw3native.h +0 -663
  531. data/glfw-3.4.bin.WIN64/lib-mingw-w64/glfw3.dll +0 -0
  532. data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3.a +0 -0
  533. data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3dll.a +0 -0
  534. data/glfw-3.4.bin.WIN64/lib-static-ucrt/glfw3dll.lib +0 -0
  535. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.dll +0 -0
  536. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.lib +0 -0
  537. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3_mt.lib +0 -0
  538. data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3dll.lib +0 -0
  539. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.dll +0 -0
  540. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.lib +0 -0
  541. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3_mt.lib +0 -0
  542. data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3dll.lib +0 -0
  543. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.dll +0 -0
  544. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.lib +0 -0
  545. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3_mt.lib +0 -0
  546. data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3dll.lib +0 -0
  547. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.dll +0 -0
  548. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.lib +0 -0
  549. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3_mt.lib +0 -0
  550. data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3dll.lib +0 -0
  551. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.dll +0 -0
  552. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.lib +0 -0
  553. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3_mt.lib +0 -0
  554. data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3dll.lib +0 -0
  555. data/lib/engine/components/font_renderer.rb +0 -134
  556. data/lib/engine/components/mesh_renderer.rb +0 -31
  557. data/lib/engine/components/sprite_renderer.rb +0 -141
  558. data/lib/engine/components/ui_font_renderer.rb +0 -140
  559. data/lib/engine/components/ui_sprite_renderer.rb +0 -101
  560. data/lib/engine/shaders/skybox_frag.glsl +0 -12
  561. /data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.3.9.bin.MACOS}/LICENSE.md +0 -0
  562. /data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.3.9.bin.MACOS}/lib-arm64/libglfw.3.dylib +0 -0
  563. /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.4.bin.WIN64}/LICENSE.md +0 -0
  564. /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
@@ -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