ruby_rpg 0.0.5 → 0.1.1

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