ruby_rpg 0.0.5 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +43 -21
- data/bin/build.bash +13 -13
- data/bin/import +54 -44
- data/ext/gl_native/extconf.rb +20 -0
- data/ext/gl_native/gl_native.c +563 -0
- data/ext/glfw_native/extconf.rb +18 -0
- data/ext/glfw_native/glfw_native.c +451 -0
- data/lib/engine/assets/_imported/cube.index_data +36 -0
- data/lib/engine/assets/_imported/cube.vertex_data +720 -0
- data/lib/engine/assets/_imported/plane.index_data +6 -0
- data/lib/engine/assets/_imported/plane.vertex_data +120 -0
- data/lib/engine/assets/_imported/sphere.index_data +2880 -0
- data/lib/engine/assets/_imported/sphere.vertex_data +57600 -0
- data/lib/engine/assets/cube.obj +46 -0
- data/lib/engine/assets/plane.obj +16 -0
- data/lib/engine/assets/sphere.obj +2488 -0
- data/lib/engine/autoloader.rb +11 -11
- data/lib/engine/camera.rb +12 -12
- data/lib/engine/component.rb +65 -63
- data/lib/engine/components/audio_source.rb +43 -41
- data/lib/engine/components/direction_light.rb +102 -23
- data/lib/engine/components/orthographic_camera.rb +60 -54
- data/lib/engine/components/perspective_camera.rb +76 -53
- data/lib/engine/components/point_light.rb +80 -24
- data/lib/engine/components/renderers/font_renderer.rb +19 -0
- data/lib/engine/components/renderers/font_renderer_base.rb +134 -0
- data/lib/engine/components/renderers/mesh_renderer.rb +41 -0
- data/lib/engine/components/renderers/sprite_renderer.rb +46 -0
- data/lib/engine/components/spot_light.rb +90 -0
- data/lib/engine/components/sprite_animator.rb +42 -0
- data/lib/engine/components/ui/flex/layout.rb +94 -0
- data/lib/engine/components/ui/flex/pack_layout.rb +65 -0
- data/lib/engine/components/ui/flex/stretch_layout.rb +52 -0
- data/lib/engine/components/ui/flex.rb +60 -0
- data/lib/engine/components/ui/font_renderer.rb +57 -0
- data/lib/engine/components/ui/rect.rb +117 -0
- data/lib/engine/components/ui/sprite_clickbox.rb +47 -0
- data/lib/engine/components/ui/sprite_renderer.rb +117 -0
- data/lib/engine/compute_shader.rb +14 -93
- data/lib/engine/compute_texture.rb +13 -0
- data/lib/engine/cursor.rb +43 -43
- data/lib/engine/debugging.rb +41 -41
- data/lib/engine/engine.rb +127 -131
- data/lib/engine/font.rb +99 -74
- data/lib/engine/game_object.rb +306 -234
- data/lib/engine/gl.rb +439 -0
- data/lib/engine/glfw.rb +151 -0
- data/lib/engine/importers/font_importer.rb +69 -69
- data/lib/engine/importers/obj_file.rb +244 -244
- data/lib/engine/importers/obj_importer.rb +33 -33
- data/lib/engine/input.rb +212 -105
- data/lib/engine/material.rb +214 -79
- data/lib/engine/matrix_helpers.rb +38 -0
- data/lib/engine/mesh.rb +68 -43
- data/lib/engine/metal/compute_shader.rb +118 -0
- data/lib/engine/metal/compute_texture.rb +176 -0
- data/lib/engine/metal/device.rb +98 -0
- data/lib/engine/metal/metal_bindings.rb +126 -0
- data/lib/engine/opengl/compute_shader.rb +77 -0
- data/lib/engine/opengl/compute_texture.rb +31 -0
- data/lib/engine/path.rb +92 -92
- data/lib/engine/physics/collision.rb +12 -12
- data/lib/engine/physics/components/cube_collider.rb +6 -6
- data/lib/engine/physics/components/rigidbody.rb +106 -103
- data/lib/engine/physics/components/sphere_collider.rb +103 -93
- data/lib/engine/physics/physics_resolver.rb +49 -37
- data/lib/engine/polygon_mesh.rb +45 -45
- data/lib/engine/quaternion.rb +234 -234
- data/lib/engine/rendering/cubemap_shadow_map_array.rb +77 -0
- data/lib/engine/rendering/gpu_timer.rb +68 -0
- data/lib/engine/rendering/instance_renderer.rb +232 -153
- data/lib/engine/rendering/post_processing/bloom_effect.rb +87 -0
- data/lib/engine/rendering/post_processing/depth_debug_effect.rb +17 -0
- data/lib/engine/rendering/post_processing/depth_of_field_effect.rb +52 -0
- data/lib/engine/rendering/post_processing/effect.rb +11 -0
- data/lib/engine/rendering/post_processing/post_processing_effect.rb +86 -0
- data/lib/engine/rendering/post_processing/single_pass_effect.rb +19 -0
- data/lib/engine/rendering/post_processing/ssao_effect.rb +182 -0
- data/lib/engine/rendering/post_processing/ssr_effect.rb +89 -0
- data/lib/engine/rendering/post_processing/tint_effect.rb +18 -0
- data/lib/engine/rendering/render_pipeline.rb +267 -35
- data/lib/engine/rendering/render_texture.rb +118 -0
- data/lib/engine/rendering/screen_quad.rb +64 -0
- data/lib/engine/rendering/shadow_map_array.rb +72 -0
- data/lib/engine/rendering/skybox_cubemap.rb +119 -0
- data/lib/engine/rendering/skybox_renderer.rb +64 -0
- data/lib/engine/rendering/ui/stencil_manager.rb +69 -0
- data/lib/engine/screenshoter.rb +34 -34
- data/lib/engine/serialization/graph_serializer.rb +74 -0
- data/lib/engine/serialization/object_serializer.rb +98 -0
- data/lib/engine/serialization/serializable.rb +78 -0
- data/lib/engine/serialization/yaml_persistence.rb +45 -0
- data/lib/engine/shader.rb +215 -119
- data/lib/engine/shaders/colour_frag.glsl +16 -8
- data/lib/engine/shaders/colour_vertex.glsl +20 -13
- data/lib/engine/shaders/fullscreen_frag.glsl +11 -0
- data/lib/engine/shaders/fullscreen_vertex.glsl +12 -0
- data/lib/engine/shaders/instanced_sprite_frag.glsl +21 -0
- data/lib/engine/shaders/{skybox_vert.glsl → instanced_sprite_vertex.glsl} +15 -14
- data/lib/engine/shaders/lighting/directional_light.glsl +49 -0
- data/lib/engine/shaders/lighting/lighting.glsl +33 -0
- data/lib/engine/shaders/lighting/lighting_common.glsl +13 -0
- data/lib/engine/shaders/lighting/point_light.glsl +46 -0
- data/lib/engine/shaders/lighting/spot_light.glsl +80 -0
- data/lib/engine/shaders/mesh_frag.glsl +53 -102
- data/lib/engine/shaders/mesh_vertex.glsl +25 -25
- data/lib/engine/shaders/point_shadow_frag.glsl +12 -0
- data/lib/engine/shaders/point_shadow_vertex.glsl +15 -0
- data/lib/engine/shaders/post_process/bloom_blur_frag.glsl +25 -0
- data/lib/engine/shaders/post_process/bloom_combine_frag.glsl +19 -0
- data/lib/engine/shaders/post_process/bloom_threshold_frag.glsl +19 -0
- data/lib/engine/shaders/post_process/debug_normals_frag.glsl +21 -0
- data/lib/engine/shaders/post_process/depth_debug_frag.glsl +17 -0
- data/lib/engine/shaders/post_process/dof_blur_frag.glsl +52 -0
- data/lib/engine/shaders/post_process/skybox_frag.glsl +29 -0
- data/lib/engine/shaders/post_process/ssao/blur_frag.glsl +50 -0
- data/lib/engine/shaders/post_process/ssao/combine_frag.glsl +15 -0
- data/lib/engine/shaders/post_process/ssao/frag.glsl +99 -0
- data/lib/engine/shaders/post_process/ssr/combine_frag.glsl +16 -0
- data/lib/engine/shaders/post_process/ssr/frag.glsl +118 -0
- data/lib/engine/shaders/post_process/tint_frag.glsl +14 -0
- data/lib/engine/shaders/shadow_frag.glsl +6 -0
- data/lib/engine/shaders/shadow_vertex.glsl +11 -0
- data/lib/engine/shaders/skybox_cubemap_frag.glsl +46 -0
- data/lib/engine/shaders/sprite_frag.glsl +17 -17
- data/lib/engine/shaders/sprite_vertex.glsl +15 -15
- data/lib/engine/shaders/text_frag.glsl +15 -15
- data/lib/engine/shaders/text_vertex.glsl +31 -31
- data/lib/engine/shaders/ui_sprite_frag.glsl +15 -15
- data/lib/engine/shaders/ui_sprite_vertex.glsl +15 -15
- data/lib/engine/shaders/vertex_lit_frag.glsl +33 -89
- data/lib/engine/shaders/vertex_lit_vertex.glsl +28 -28
- data/lib/engine/standard_meshes/quad_mesh.rb +26 -0
- data/lib/engine/standard_objects/cube.rb +23 -0
- data/lib/engine/standard_objects/default_material.rb +20 -0
- data/lib/engine/standard_objects/plane.rb +23 -0
- data/lib/engine/standard_objects/sphere.rb +23 -0
- data/lib/engine/tangent_calculator.rb +42 -42
- data/lib/engine/texture.rb +62 -53
- data/lib/engine/ui/rect.rb +16 -0
- data/lib/engine/video_mode.rb +37 -37
- data/lib/engine/window.rb +126 -126
- data/lib/ruby_rpg.rb +116 -58
- data/vendor/glew-2.2.0-win32/LICENSE.txt +73 -0
- data/vendor/glew-2.2.0-win32/bin/Release/x64/glew32.dll +0 -0
- data/vendor/glew-2.2.0-win32/include/GL/glew.h +26427 -0
- data/vendor/glew-2.2.0-win32/lib/Release/x64/glew32.lib +0 -0
- data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.3.9.bin.MACOS}/lib-arm64/libglfw.3.dylib +0 -0
- data/{glfw-3.3.9.bin.MACOS → vendor/glfw-3.4.bin.WIN64}/LICENSE.md +23 -23
- metadata +122 -463
- data/glfw-3.3.9.bin.MACOS/README.md +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/bc_s.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/bc_sd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/build_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/build_guide.html +0 -199
- data/glfw-3.3.9.bin.MACOS/docs/html/closed.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/compat_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/compat_guide.html +0 -153
- data/glfw-3.3.9.bin.MACOS/docs/html/compile_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/compile_guide.html +0 -223
- data/glfw-3.3.9.bin.MACOS/docs/html/context_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/context_guide.html +0 -259
- data/glfw-3.3.9.bin.MACOS/docs/html/deprecated.html +0 -88
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_08423ce7729c4554356a7de7171ba263.html +0 -85
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_2dcebcdf14b42e92a6ed85c61bda6b9d.html +0 -93
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_62ce056722ee97c199075aa1d6eca309.html +0 -95
- data/glfw-3.3.9.bin.MACOS/docs/html/dir_dddf4cf62655095a666cf715de3a31a2.html +0 -91
- data/glfw-3.3.9.bin.MACOS/docs/html/doc.svg +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/docd.svg +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.css +0 -1685
- data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.svg +0 -28
- data/glfw-3.3.9.bin.MACOS/docs/html/dynsections.js +0 -192
- data/glfw-3.3.9.bin.MACOS/docs/html/extra.css +0 -1
- data/glfw-3.3.9.bin.MACOS/docs/html/files.html +0 -91
- data/glfw-3.3.9.bin.MACOS/docs/html/folderclosed.svg +0 -11
- data/glfw-3.3.9.bin.MACOS/docs/html/folderclosedd.svg +0 -11
- data/glfw-3.3.9.bin.MACOS/docs/html/folderopen.svg +0 -17
- data/glfw-3.3.9.bin.MACOS/docs/html/folderopend.svg +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h.html +0 -1661
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h_source.html +0 -1175
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h.html +0 -167
- data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h_source.html +0 -303
- data/glfw-3.3.9.bin.MACOS/docs/html/group__buttons.html +0 -282
- data/glfw-3.3.9.bin.MACOS/docs/html/group__context.html +0 -304
- data/glfw-3.3.9.bin.MACOS/docs/html/group__errors.html +0 -304
- data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__axes.html +0 -202
- data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__buttons.html +0 -410
- data/glfw-3.3.9.bin.MACOS/docs/html/group__hat__state.html +0 -234
- data/glfw-3.3.9.bin.MACOS/docs/html/group__init.html +0 -570
- data/glfw-3.3.9.bin.MACOS/docs/html/group__input.html +0 -2255
- data/glfw-3.3.9.bin.MACOS/docs/html/group__joysticks.html +0 -362
- data/glfw-3.3.9.bin.MACOS/docs/html/group__keys.html +0 -2034
- data/glfw-3.3.9.bin.MACOS/docs/html/group__mods.html +0 -198
- data/glfw-3.3.9.bin.MACOS/docs/html/group__monitor.html +0 -848
- data/glfw-3.3.9.bin.MACOS/docs/html/group__native.html +0 -812
- data/glfw-3.3.9.bin.MACOS/docs/html/group__shapes.html +0 -198
- data/glfw-3.3.9.bin.MACOS/docs/html/group__vulkan.html +0 -359
- data/glfw-3.3.9.bin.MACOS/docs/html/group__window.html +0 -3434
- data/glfw-3.3.9.bin.MACOS/docs/html/index.html +0 -100
- data/glfw-3.3.9.bin.MACOS/docs/html/input_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/input_guide.html +0 -570
- data/glfw-3.3.9.bin.MACOS/docs/html/internal_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/internals_guide.html +0 -132
- data/glfw-3.3.9.bin.MACOS/docs/html/intro_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/intro_guide.html +0 -351
- data/glfw-3.3.9.bin.MACOS/docs/html/jquery.js +0 -34
- data/glfw-3.3.9.bin.MACOS/docs/html/main_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/menu.js +0 -136
- data/glfw-3.3.9.bin.MACOS/docs/html/menudata.js +0 -29
- data/glfw-3.3.9.bin.MACOS/docs/html/minus.svg +0 -8
- data/glfw-3.3.9.bin.MACOS/docs/html/minusd.svg +0 -8
- data/glfw-3.3.9.bin.MACOS/docs/html/monitor_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/monitor_guide.html +0 -229
- data/glfw-3.3.9.bin.MACOS/docs/html/moving_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/moving_guide.html +0 -374
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_f.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_fd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_g.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_h.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/nav_hd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/news.html +0 -634
- data/glfw-3.3.9.bin.MACOS/docs/html/news_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/open.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/pages.html +0 -99
- data/glfw-3.3.9.bin.MACOS/docs/html/plus.svg +0 -9
- data/glfw-3.3.9.bin.MACOS/docs/html/plusd.svg +0 -9
- data/glfw-3.3.9.bin.MACOS/docs/html/quick_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/quick_guide.html +0 -397
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_0.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_10.js +0 -65
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_11.js +0 -26
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_12.js +0 -44
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_13.js +0 -34
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_14.js +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_15.js +0 -52
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_16.js +0 -69
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_17.js +0 -51
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_18.js +0 -14
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_19.js +0 -36
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1a.js +0 -98
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1b.js +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_2.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_3.js +0 -9
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_4.js +0 -57
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_5.js +0 -22
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_6.js +0 -103
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_7.js +0 -23
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_8.js +0 -35
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_9.js +0 -63
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_a.js +0 -505
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_b.js +0 -24
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_c.js +0 -50
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_d.js +0 -17
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_e.js +0 -12
- data/glfw-3.3.9.bin.MACOS/docs/html/search/all_f.js +0 -35
- data/glfw-3.3.9.bin.MACOS/docs/html/search/classes_0.js +0 -7
- data/glfw-3.3.9.bin.MACOS/docs/html/search/close.svg +0 -18
- data/glfw-3.3.9.bin.MACOS/docs/html/search/defines_0.js +0 -34
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_0.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_1.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_2.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_3.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_4.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_5.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_7.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/files_8.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/functions_0.js +0 -146
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_0.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_1.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_10.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_2.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_3.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_4.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_5.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_7.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_8.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_9.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_a.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_b.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_c.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_d.js +0 -7
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_e.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_f.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag.svg +0 -24
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_d.svg +0 -24
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_sel.svg +0 -31
- data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_seld.svg +0 -31
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_0.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_1.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_10.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_2.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_3.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_4.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_5.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_7.js +0 -7
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_8.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_9.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_a.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_b.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_c.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_d.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_e.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_f.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/search.css +0 -291
- data/glfw-3.3.9.bin.MACOS/docs/html/search/search.js +0 -840
- data/glfw-3.3.9.bin.MACOS/docs/html/search/searchdata.js +0 -39
- data/glfw-3.3.9.bin.MACOS/docs/html/search/typedefs_0.js +0 -32
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_0.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_1.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_2.js +0 -5
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_3.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_4.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_5.js +0 -6
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_6.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_7.js +0 -4
- data/glfw-3.3.9.bin.MACOS/docs/html/spaces.svg +0 -877
- data/glfw-3.3.9.bin.MACOS/docs/html/splitbar.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/splitbard.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgammaramp.html +0 -170
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wimage.html +0 -151
- data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wvidmode.html +0 -204
- data/glfw-3.3.9.bin.MACOS/docs/html/sync_off.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/sync_on.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_a.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_ad.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_b.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_bd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_h.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_hd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_s.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tab_sd.png +0 -0
- data/glfw-3.3.9.bin.MACOS/docs/html/tabs.css +0 -1
- data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_guide.html +0 -196
- data/glfw-3.3.9.bin.MACOS/docs/html/window_8dox.html +0 -81
- data/glfw-3.3.9.bin.MACOS/docs/html/window_guide.html +0 -763
- data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3.h +0 -5932
- data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3native.h +0 -634
- data/glfw-3.3.9.bin.MACOS/lib-arm64/libglfw3.a +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw.3.dylib +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw3.a +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw.3.dylib +0 -0
- data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw3.a +0 -0
- data/glfw-3.4.bin.WIN64/README.md +0 -70
- data/glfw-3.4.bin.WIN64/docs/html/bc_s.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/bc_sd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/build_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/build_guide.html +0 -217
- data/glfw-3.4.bin.WIN64/docs/html/closed.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/compat_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/compat_guide.html +0 -156
- data/glfw-3.4.bin.WIN64/docs/html/compile_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/compile_guide.html +0 -219
- data/glfw-3.4.bin.WIN64/docs/html/context_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/context_guide.html +0 -258
- data/glfw-3.4.bin.WIN64/docs/html/deprecated.html +0 -88
- data/glfw-3.4.bin.WIN64/docs/html/dir_13577e2d8b9423099662de029791bd7d.html +0 -93
- data/glfw-3.4.bin.WIN64/docs/html/dir_7f92719a7fe62e5b064f87d7a3c220b1.html +0 -95
- data/glfw-3.4.bin.WIN64/docs/html/dir_a788ef6c2b1e5b367804e0b6ccfd6f11.html +0 -85
- data/glfw-3.4.bin.WIN64/docs/html/dir_b11153cd0f4fd04a7564cc166f482635.html +0 -91
- data/glfw-3.4.bin.WIN64/docs/html/doc.svg +0 -12
- data/glfw-3.4.bin.WIN64/docs/html/docd.svg +0 -12
- data/glfw-3.4.bin.WIN64/docs/html/doxygen.css +0 -1685
- data/glfw-3.4.bin.WIN64/docs/html/doxygen.svg +0 -28
- data/glfw-3.4.bin.WIN64/docs/html/dynsections.js +0 -192
- data/glfw-3.4.bin.WIN64/docs/html/extra.css +0 -2
- data/glfw-3.4.bin.WIN64/docs/html/files.html +0 -91
- data/glfw-3.4.bin.WIN64/docs/html/folderclosed.svg +0 -11
- data/glfw-3.4.bin.WIN64/docs/html/folderclosedd.svg +0 -11
- data/glfw-3.4.bin.WIN64/docs/html/folderopen.svg +0 -17
- data/glfw-3.4.bin.WIN64/docs/html/folderopend.svg +0 -12
- data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h.html +0 -1910
- data/glfw-3.4.bin.WIN64/docs/html/glfw3_8h_source.html +0 -1260
- data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h.html +0 -170
- data/glfw-3.4.bin.WIN64/docs/html/glfw3native_8h_source.html +0 -306
- data/glfw-3.4.bin.WIN64/docs/html/group__buttons.html +0 -282
- data/glfw-3.4.bin.WIN64/docs/html/group__context.html +0 -304
- data/glfw-3.4.bin.WIN64/docs/html/group__errors.html +0 -384
- data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__axes.html +0 -202
- data/glfw-3.4.bin.WIN64/docs/html/group__gamepad__buttons.html +0 -410
- data/glfw-3.4.bin.WIN64/docs/html/group__hat__state.html +0 -234
- data/glfw-3.4.bin.WIN64/docs/html/group__init.html +0 -1015
- data/glfw-3.4.bin.WIN64/docs/html/group__input.html +0 -2285
- data/glfw-3.4.bin.WIN64/docs/html/group__joysticks.html +0 -362
- data/glfw-3.4.bin.WIN64/docs/html/group__keys.html +0 -2034
- data/glfw-3.4.bin.WIN64/docs/html/group__mods.html +0 -198
- data/glfw-3.4.bin.WIN64/docs/html/group__monitor.html +0 -849
- data/glfw-3.4.bin.WIN64/docs/html/group__native.html +0 -837
- data/glfw-3.4.bin.WIN64/docs/html/group__shapes.html +0 -337
- data/glfw-3.4.bin.WIN64/docs/html/group__vulkan.html +0 -361
- data/glfw-3.4.bin.WIN64/docs/html/group__window.html +0 -3608
- data/glfw-3.4.bin.WIN64/docs/html/index.html +0 -100
- data/glfw-3.4.bin.WIN64/docs/html/input_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/input_guide.html +0 -576
- data/glfw-3.4.bin.WIN64/docs/html/internal_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/internals_guide.html +0 -135
- data/glfw-3.4.bin.WIN64/docs/html/intro_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/intro_guide.html +0 -429
- data/glfw-3.4.bin.WIN64/docs/html/jquery.js +0 -34
- data/glfw-3.4.bin.WIN64/docs/html/main_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/menu.js +0 -136
- data/glfw-3.4.bin.WIN64/docs/html/menudata.js +0 -30
- data/glfw-3.4.bin.WIN64/docs/html/minus.svg +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/minusd.svg +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/monitor_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/monitor_guide.html +0 -228
- data/glfw-3.4.bin.WIN64/docs/html/moving_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/moving_guide.html +0 -360
- data/glfw-3.4.bin.WIN64/docs/html/nav_f.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_fd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_g.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_h.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/nav_hd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/news.html +0 -336
- data/glfw-3.4.bin.WIN64/docs/html/news_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/open.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/pages.html +0 -99
- data/glfw-3.4.bin.WIN64/docs/html/plus.svg +0 -9
- data/glfw-3.4.bin.WIN64/docs/html/plusd.svg +0 -9
- data/glfw-3.4.bin.WIN64/docs/html/quick_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/quick_guide.html +0 -406
- data/glfw-3.4.bin.WIN64/docs/html/search/all_0.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_10.js +0 -13
- data/glfw-3.4.bin.WIN64/docs/html/search/all_11.js +0 -11
- data/glfw-3.4.bin.WIN64/docs/html/search/all_12.js +0 -26
- data/glfw-3.4.bin.WIN64/docs/html/search/all_13.js +0 -51
- data/glfw-3.4.bin.WIN64/docs/html/search/all_14.js +0 -22
- data/glfw-3.4.bin.WIN64/docs/html/search/all_15.js +0 -35
- data/glfw-3.4.bin.WIN64/docs/html/search/all_16.js +0 -29
- data/glfw-3.4.bin.WIN64/docs/html/search/all_17.js +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/search/all_18.js +0 -44
- data/glfw-3.4.bin.WIN64/docs/html/search/all_19.js +0 -60
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1a.js +0 -39
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1b.js +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1c.js +0 -32
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1d.js +0 -84
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1e.js +0 -13
- data/glfw-3.4.bin.WIN64/docs/html/search/all_1f.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_2.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/all_3.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_5.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/all_7.js +0 -58
- data/glfw-3.4.bin.WIN64/docs/html/search/all_8.js +0 -21
- data/glfw-3.4.bin.WIN64/docs/html/search/all_9.js +0 -82
- data/glfw-3.4.bin.WIN64/docs/html/search/all_a.js +0 -20
- data/glfw-3.4.bin.WIN64/docs/html/search/all_b.js +0 -26
- data/glfw-3.4.bin.WIN64/docs/html/search/all_c.js +0 -35
- data/glfw-3.4.bin.WIN64/docs/html/search/all_d.js +0 -555
- data/glfw-3.4.bin.WIN64/docs/html/search/all_e.js +0 -23
- data/glfw-3.4.bin.WIN64/docs/html/search/all_f.js +0 -40
- data/glfw-3.4.bin.WIN64/docs/html/search/classes_0.js +0 -8
- data/glfw-3.4.bin.WIN64/docs/html/search/close.svg +0 -18
- data/glfw-3.4.bin.WIN64/docs/html/search/defines_0.js +0 -43
- data/glfw-3.4.bin.WIN64/docs/html/search/files_0.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_1.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/files_2.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/files_3.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/files_4.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/files_5.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_7.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/files_8.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/functions_0.js +0 -152
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_0.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_1.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_10.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_2.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_3.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_5.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_7.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_8.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_9.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_a.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_b.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_c.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_d.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_e.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/groups_f.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/mag.svg +0 -24
- data/glfw-3.4.bin.WIN64/docs/html/search/mag_d.svg +0 -24
- data/glfw-3.4.bin.WIN64/docs/html/search/mag_sel.svg +0 -31
- data/glfw-3.4.bin.WIN64/docs/html/search/mag_seld.svg +0 -31
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_0.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_1.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_10.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_11.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_2.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_3.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_5.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_6.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_7.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_8.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_9.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_a.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_b.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_c.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_d.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_e.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/pages_f.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/search.css +0 -291
- data/glfw-3.4.bin.WIN64/docs/html/search/search.js +0 -840
- data/glfw-3.4.bin.WIN64/docs/html/search/searchdata.js +0 -39
- data/glfw-3.4.bin.WIN64/docs/html/search/typedefs_0.js +0 -36
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_0.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_1.js +0 -6
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_2.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_3.js +0 -5
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_4.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_5.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_6.js +0 -7
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_7.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_8.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/search/variables_9.js +0 -4
- data/glfw-3.4.bin.WIN64/docs/html/spaces.svg +0 -877
- data/glfw-3.4.bin.WIN64/docs/html/splitbar.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/splitbard.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wallocator.html +0 -168
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgamepadstate.html +0 -134
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wgammaramp.html +0 -170
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wimage.html +0 -151
- data/glfw-3.4.bin.WIN64/docs/html/struct_g_l_f_wvidmode.html +0 -204
- data/glfw-3.4.bin.WIN64/docs/html/sync_off.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/sync_on.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_a.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_ad.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_b.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_bd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_h.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_hd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_s.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tab_sd.png +0 -0
- data/glfw-3.4.bin.WIN64/docs/html/tabs.css +0 -1
- data/glfw-3.4.bin.WIN64/docs/html/topics.html +0 -101
- data/glfw-3.4.bin.WIN64/docs/html/vulkan_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/vulkan_guide.html +0 -206
- data/glfw-3.4.bin.WIN64/docs/html/window_8md.html +0 -81
- data/glfw-3.4.bin.WIN64/docs/html/window_guide.html +0 -806
- data/glfw-3.4.bin.WIN64/include/GLFW/glfw3.h +0 -6547
- data/glfw-3.4.bin.WIN64/include/GLFW/glfw3native.h +0 -663
- data/glfw-3.4.bin.WIN64/lib-mingw-w64/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3.a +0 -0
- data/glfw-3.4.bin.WIN64/lib-mingw-w64/libglfw3dll.a +0 -0
- data/glfw-3.4.bin.WIN64/lib-static-ucrt/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2013/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2015/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2017/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2019/glfw3dll.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.dll +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3_mt.lib +0 -0
- data/glfw-3.4.bin.WIN64/lib-vc2022/glfw3dll.lib +0 -0
- data/lib/engine/components/font_renderer.rb +0 -134
- data/lib/engine/components/mesh_renderer.rb +0 -31
- data/lib/engine/components/sprite_renderer.rb +0 -141
- data/lib/engine/components/ui_font_renderer.rb +0 -140
- data/lib/engine/components/ui_sprite_clickbox.rb +0 -62
- data/lib/engine/components/ui_sprite_renderer.rb +0 -101
- data/lib/engine/shaders/skybox_frag.glsl +0 -12
- /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.3.9.bin.MACOS}/LICENSE.md +0 -0
- /data/{glfw-3.4.bin.WIN64 → vendor/glfw-3.4.bin.WIN64}/lib-static-ucrt/glfw3.dll +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D screenTexture;
|
|
7
|
+
uniform sampler2D depthTexture;
|
|
8
|
+
uniform samplerCube skyboxCubemap;
|
|
9
|
+
uniform mat4 inverseVP;
|
|
10
|
+
uniform vec3 cameraPos;
|
|
11
|
+
|
|
12
|
+
void main()
|
|
13
|
+
{
|
|
14
|
+
float depth = texture(depthTexture, TexCoords).r;
|
|
15
|
+
|
|
16
|
+
// If depth < 1.0, this is geometry - keep existing color
|
|
17
|
+
// Use tight threshold since depth buffer clears to exactly 1.0
|
|
18
|
+
if (depth < 0.99999) {
|
|
19
|
+
FragColor = texture(screenTexture, TexCoords);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Sky pixel: reconstruct view direction and sample cubemap
|
|
24
|
+
vec4 ndc = vec4(TexCoords * 2.0 - 1.0, 1.0, 1.0);
|
|
25
|
+
vec4 worldPos = inverseVP * ndc;
|
|
26
|
+
vec3 viewDir = normalize(worldPos.xyz / worldPos.w - cameraPos);
|
|
27
|
+
|
|
28
|
+
FragColor = texture(skyboxCubemap, viewDir);
|
|
29
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D ssaoTexture;
|
|
7
|
+
uniform sampler2D depthTexture;
|
|
8
|
+
uniform int blurSize;
|
|
9
|
+
uniform float depthThreshold;
|
|
10
|
+
|
|
11
|
+
float linearizeDepth(float d, float near, float far) {
|
|
12
|
+
return near * far / (far - d * (far - near));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
void main() {
|
|
16
|
+
vec2 texelSize = 1.0 / vec2(textureSize(ssaoTexture, 0));
|
|
17
|
+
float centerDepth = texture(depthTexture, TexCoords).r;
|
|
18
|
+
|
|
19
|
+
// Skip skybox
|
|
20
|
+
if (centerDepth >= 1.0) {
|
|
21
|
+
FragColor = vec4(1.0);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
float result = 0.0;
|
|
26
|
+
float weightSum = 0.0;
|
|
27
|
+
|
|
28
|
+
for (int x = -blurSize; x <= blurSize; x++) {
|
|
29
|
+
for (int y = -blurSize; y <= blurSize; y++) {
|
|
30
|
+
vec2 offset = vec2(float(x), float(y)) * texelSize;
|
|
31
|
+
vec2 sampleCoord = TexCoords + offset;
|
|
32
|
+
|
|
33
|
+
float sampleDepth = texture(depthTexture, sampleCoord).r;
|
|
34
|
+
|
|
35
|
+
// Edge-aware: reduce weight for samples with very different depth
|
|
36
|
+
float depthDiff = abs(centerDepth - sampleDepth);
|
|
37
|
+
float depthWeight = 1.0 / (1.0 + depthDiff * depthThreshold);
|
|
38
|
+
|
|
39
|
+
// Spatial weight (simple box for now, could use gaussian)
|
|
40
|
+
float spatialWeight = 1.0;
|
|
41
|
+
|
|
42
|
+
float weight = depthWeight * spatialWeight;
|
|
43
|
+
result += texture(ssaoTexture, sampleCoord).r * weight;
|
|
44
|
+
weightSum += weight;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
float ao = result / weightSum;
|
|
49
|
+
FragColor = vec4(ao, ao, ao, 1.0);
|
|
50
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D screenTexture;
|
|
7
|
+
uniform sampler2D ssaoTexture;
|
|
8
|
+
|
|
9
|
+
void main() {
|
|
10
|
+
vec4 sceneColor = texture(screenTexture, TexCoords);
|
|
11
|
+
float ao = texture(ssaoTexture, TexCoords).r;
|
|
12
|
+
|
|
13
|
+
// Multiply scene color by ambient occlusion
|
|
14
|
+
FragColor = vec4(sceneColor.rgb * ao, sceneColor.a);
|
|
15
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D depthTexture;
|
|
7
|
+
uniform sampler2D normalTexture;
|
|
8
|
+
uniform sampler2D noiseTexture;
|
|
9
|
+
|
|
10
|
+
uniform vec3 samples[64];
|
|
11
|
+
uniform int kernelSize;
|
|
12
|
+
uniform float radius;
|
|
13
|
+
uniform float bias;
|
|
14
|
+
uniform float power;
|
|
15
|
+
|
|
16
|
+
uniform mat4 projection;
|
|
17
|
+
uniform mat4 view;
|
|
18
|
+
uniform mat4 inverseVP;
|
|
19
|
+
uniform float nearPlane;
|
|
20
|
+
uniform float farPlane;
|
|
21
|
+
uniform vec2 noiseScale;
|
|
22
|
+
|
|
23
|
+
float linearizeDepth(float d) {
|
|
24
|
+
return nearPlane * farPlane / (farPlane - d * (farPlane - nearPlane));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
vec3 viewPosFromDepth(vec2 uv, float depth) {
|
|
28
|
+
// Reconstruct world position from depth
|
|
29
|
+
vec4 ndc = vec4(uv * 2.0 - 1.0, depth * 2.0 - 1.0, 1.0);
|
|
30
|
+
vec4 world = inverseVP * ndc;
|
|
31
|
+
vec3 worldPos = world.xyz / world.w;
|
|
32
|
+
// Transform to view space
|
|
33
|
+
return (view * vec4(worldPos, 1.0)).xyz;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
void main() {
|
|
37
|
+
float depth = texture(depthTexture, TexCoords).r;
|
|
38
|
+
|
|
39
|
+
// Skip skybox pixels
|
|
40
|
+
if (depth >= 1.0) {
|
|
41
|
+
FragColor = vec4(1.0);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Get view-space position
|
|
46
|
+
vec3 fragPos = viewPosFromDepth(TexCoords, depth);
|
|
47
|
+
|
|
48
|
+
// Get world normal and transform to view space
|
|
49
|
+
vec4 normalRough = texture(normalTexture, TexCoords);
|
|
50
|
+
vec3 worldNormal = normalize(normalRough.rgb * 2.0 - 1.0);
|
|
51
|
+
vec3 normal = normalize((view * vec4(worldNormal, 0.0)).xyz);
|
|
52
|
+
|
|
53
|
+
// Get random rotation vector from noise texture
|
|
54
|
+
vec3 randomVec = texture(noiseTexture, TexCoords * noiseScale).xyz;
|
|
55
|
+
|
|
56
|
+
// Create TBN matrix (Gram-Schmidt process)
|
|
57
|
+
vec3 tangent = normalize(randomVec - normal * dot(randomVec, normal));
|
|
58
|
+
vec3 bitangent = cross(normal, tangent);
|
|
59
|
+
mat3 TBN = mat3(tangent, bitangent, normal);
|
|
60
|
+
|
|
61
|
+
// Sample hemisphere and accumulate occlusion
|
|
62
|
+
float occlusion = 0.0;
|
|
63
|
+
for (int i = 0; i < kernelSize; i++) {
|
|
64
|
+
// Transform sample from tangent space to view space
|
|
65
|
+
vec3 samplePos = TBN * samples[i];
|
|
66
|
+
samplePos = fragPos + samplePos * radius;
|
|
67
|
+
|
|
68
|
+
// Project sample to screen space
|
|
69
|
+
vec4 offset = projection * vec4(samplePos, 1.0);
|
|
70
|
+
offset.xyz /= offset.w;
|
|
71
|
+
offset.xyz = offset.xyz * 0.5 + 0.5;
|
|
72
|
+
|
|
73
|
+
// Sample depth at this screen position
|
|
74
|
+
float sampleDepth = texture(depthTexture, offset.xy).r;
|
|
75
|
+
|
|
76
|
+
// Skip if sample is outside screen
|
|
77
|
+
if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Skip skybox samples
|
|
82
|
+
if (sampleDepth >= 1.0) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Get view-space depth of the geometry at this sample
|
|
87
|
+
float geometryDepth = -linearizeDepth(sampleDepth);
|
|
88
|
+
|
|
89
|
+
// Range check to avoid occlusion from distant objects
|
|
90
|
+
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(fragPos.z - geometryDepth));
|
|
91
|
+
|
|
92
|
+
// Compare depths: if geometry is in front of sample, it's occluded
|
|
93
|
+
occlusion += (geometryDepth >= samplePos.z + bias ? 1.0 : 0.0) * rangeCheck;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
occlusion = 1.0 - (occlusion / float(kernelSize));
|
|
97
|
+
float ao = pow(occlusion, power);
|
|
98
|
+
FragColor = vec4(ao, ao, ao, 1.0);
|
|
99
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D screenTexture;
|
|
7
|
+
uniform sampler2D ssrTexture;
|
|
8
|
+
|
|
9
|
+
void main() {
|
|
10
|
+
vec4 sceneColor = texture(screenTexture, TexCoords);
|
|
11
|
+
vec4 ssr = texture(ssrTexture, TexCoords);
|
|
12
|
+
|
|
13
|
+
// ssr.rgb = reflection color, ssr.a = reflectivity
|
|
14
|
+
vec3 finalColor = mix(sceneColor.rgb, ssr.rgb, ssr.a);
|
|
15
|
+
FragColor = vec4(finalColor, sceneColor.a);
|
|
16
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D screenTexture;
|
|
7
|
+
uniform sampler2D depthTexture;
|
|
8
|
+
uniform sampler2D normalTexture;
|
|
9
|
+
uniform samplerCube skyboxCubemap;
|
|
10
|
+
|
|
11
|
+
uniform mat4 inverseVP;
|
|
12
|
+
uniform mat4 viewProj;
|
|
13
|
+
uniform vec3 cameraPos;
|
|
14
|
+
|
|
15
|
+
uniform int maxSteps;
|
|
16
|
+
uniform float maxRayDistance;
|
|
17
|
+
uniform float thickness;
|
|
18
|
+
uniform float rayOffset;
|
|
19
|
+
uniform float nearPlane;
|
|
20
|
+
uniform float farPlane;
|
|
21
|
+
|
|
22
|
+
float linearizeDepth(float d) {
|
|
23
|
+
return nearPlane * farPlane / (farPlane - d * (farPlane - nearPlane));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
vec3 worldPosFromDepth(vec2 uv, float depth) {
|
|
27
|
+
vec4 ndc = vec4(uv * 2.0 - 1.0, depth * 2.0 - 1.0, 1.0);
|
|
28
|
+
vec4 world = inverseVP * ndc;
|
|
29
|
+
return world.xyz / world.w;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
void main() {
|
|
33
|
+
float depth = texture(depthTexture, TexCoords).r;
|
|
34
|
+
|
|
35
|
+
// No reflection for skybox
|
|
36
|
+
if (depth >= 1.0) {
|
|
37
|
+
FragColor = vec4(0.0, 0.0, 0.0, 0.0);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
vec4 normalRough = texture(normalTexture, TexCoords);
|
|
42
|
+
float roughness = normalRough.a;
|
|
43
|
+
|
|
44
|
+
// No reflection for fully rough surfaces
|
|
45
|
+
if (roughness >= 1.0) {
|
|
46
|
+
FragColor = vec4(0.0, 0.0, 0.0, 0.0);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
vec3 worldPos = worldPosFromDepth(TexCoords, depth);
|
|
51
|
+
vec3 normal = normalize(normalRough.rgb * 2.0 - 1.0);
|
|
52
|
+
vec3 viewDir = normalize(worldPos - cameraPos);
|
|
53
|
+
vec3 reflectDir = reflect(viewDir, normal);
|
|
54
|
+
|
|
55
|
+
// Project ray start/end to screen space once
|
|
56
|
+
vec3 rayStart = worldPos + reflectDir * rayOffset;
|
|
57
|
+
vec3 rayEnd = worldPos + reflectDir * maxRayDistance;
|
|
58
|
+
|
|
59
|
+
vec4 clipStart = viewProj * vec4(rayStart, 1.0);
|
|
60
|
+
vec4 clipEnd = viewProj * vec4(rayEnd, 1.0);
|
|
61
|
+
|
|
62
|
+
if (clipEnd.w < 0.0) {
|
|
63
|
+
float t = clipStart.w / (clipStart.w - clipEnd.w);
|
|
64
|
+
clipEnd = mix(clipStart, clipEnd, t);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
vec3 screenStart = clipStart.xyz / clipStart.w;
|
|
68
|
+
vec3 screenEnd = clipEnd.xyz / clipEnd.w;
|
|
69
|
+
|
|
70
|
+
screenStart.xy = screenStart.xy * 0.5 + 0.5;
|
|
71
|
+
screenEnd.xy = screenEnd.xy * 0.5 + 0.5;
|
|
72
|
+
screenStart.z = screenStart.z * 0.5 + 0.5;
|
|
73
|
+
screenEnd.z = screenEnd.z * 0.5 + 0.5;
|
|
74
|
+
|
|
75
|
+
// Ray march in screen space with perspective-correct depth
|
|
76
|
+
float linearDepthStart = linearizeDepth(screenStart.z);
|
|
77
|
+
float linearDepthEnd = linearizeDepth(screenEnd.z);
|
|
78
|
+
|
|
79
|
+
bool hitFound = false;
|
|
80
|
+
vec2 hitUV;
|
|
81
|
+
|
|
82
|
+
for (int i = 0; i < maxSteps; i++) {
|
|
83
|
+
float t = float(i) / float(maxSteps - 1);
|
|
84
|
+
|
|
85
|
+
vec2 screenPos = mix(screenStart.xy, screenEnd.xy, t);
|
|
86
|
+
|
|
87
|
+
if (screenPos.x < 0.0 || screenPos.x > 1.0 ||
|
|
88
|
+
screenPos.y < 0.0 || screenPos.y > 1.0) {
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
float rayLinearDepth = (linearDepthStart * linearDepthEnd) /
|
|
93
|
+
mix(linearDepthEnd, linearDepthStart, t);
|
|
94
|
+
|
|
95
|
+
float sceneDepthRaw = texture(depthTexture, screenPos).r;
|
|
96
|
+
if (sceneDepthRaw >= 1.0) continue;
|
|
97
|
+
|
|
98
|
+
float sceneLinearDepth = linearizeDepth(sceneDepthRaw);
|
|
99
|
+
float depthDiff = rayLinearDepth - sceneLinearDepth;
|
|
100
|
+
|
|
101
|
+
if (depthDiff > 0.0 && depthDiff < thickness) {
|
|
102
|
+
hitFound = true;
|
|
103
|
+
hitUV = screenPos;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
float reflectivity = 1.0 - roughness;
|
|
109
|
+
|
|
110
|
+
// Output: RGB = reflection color, A = reflectivity
|
|
111
|
+
if (hitFound) {
|
|
112
|
+
vec3 reflectionColor = texture(screenTexture, hitUV).rgb;
|
|
113
|
+
FragColor = vec4(reflectionColor, reflectivity);
|
|
114
|
+
} else {
|
|
115
|
+
vec3 skyColor = texture(skyboxCubemap, reflectDir).rgb;
|
|
116
|
+
FragColor = vec4(skyColor, reflectivity);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 color;
|
|
5
|
+
|
|
6
|
+
uniform sampler2D screenTexture;
|
|
7
|
+
uniform vec4 tintColor; // rgba, alpha controls intensity
|
|
8
|
+
|
|
9
|
+
void main()
|
|
10
|
+
{
|
|
11
|
+
vec4 texColor = texture(screenTexture, TexCoords);
|
|
12
|
+
vec3 tinted = mix(texColor.rgb, texColor.rgb * tintColor.rgb, tintColor.a);
|
|
13
|
+
color = vec4(tinted, texColor.a);
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
in vec2 TexCoords;
|
|
4
|
+
out vec4 FragColor;
|
|
5
|
+
|
|
6
|
+
uniform vec3 groundColour = vec3(0.2, 0.2, 0.2); // neutral grey
|
|
7
|
+
uniform vec3 horizonColour = vec3(0.7, 0.8, 0.9); // light hazy blue
|
|
8
|
+
uniform vec3 skyColour = vec3(0.3, 0.5, 0.8); // deeper blue
|
|
9
|
+
uniform float groundY = -0.1; // ground gradient ends here
|
|
10
|
+
uniform float horizonY = 0; // horizon line
|
|
11
|
+
uniform float skyY = 0.2; // sky gradient completes here
|
|
12
|
+
uniform int faceIndex;
|
|
13
|
+
|
|
14
|
+
vec3 getDirection(vec2 uv, int face) {
|
|
15
|
+
vec2 st = uv * 2.0 - 1.0;
|
|
16
|
+
vec3 dir;
|
|
17
|
+
|
|
18
|
+
switch(face) {
|
|
19
|
+
case 0: dir = vec3( 1.0, -st.y, -st.x); break; // +X
|
|
20
|
+
case 1: dir = vec3(-1.0, -st.y, st.x); break; // -X
|
|
21
|
+
case 2: dir = vec3( st.x, 1.0, st.y); break; // +Y
|
|
22
|
+
case 3: dir = vec3( st.x, -1.0, -st.y); break; // -Y
|
|
23
|
+
case 4: dir = vec3( st.x, -st.y, 1.0); break; // +Z
|
|
24
|
+
case 5: dir = vec3(-st.x, -st.y, -1.0); break; // -Z
|
|
25
|
+
default: dir = vec3(0.0, 1.0, 0.0); break;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return normalize(dir);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
void main() {
|
|
32
|
+
vec3 dir = getDirection(TexCoords, faceIndex);
|
|
33
|
+
|
|
34
|
+
vec3 color;
|
|
35
|
+
if (dir.y >= horizonY) {
|
|
36
|
+
// Above horizon: blend horizon -> sky
|
|
37
|
+
float mixFactor = clamp((dir.y - horizonY) / (skyY - horizonY), 0.0, 1.0);
|
|
38
|
+
color = mix(horizonColour, skyColour, mixFactor);
|
|
39
|
+
} else {
|
|
40
|
+
// Below horizon: blend ground -> horizon
|
|
41
|
+
float mixFactor = clamp((dir.y - groundY) / (horizonY - groundY), 0.0, 1.0);
|
|
42
|
+
color = mix(groundColour, horizonColour, mixFactor);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
FragColor = vec4(color, 1.0);
|
|
46
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
#version 330 core
|
|
2
|
-
in vec2 TexCoords;
|
|
3
|
-
out vec4 color;
|
|
4
|
-
|
|
5
|
-
uniform sampler2D image;
|
|
6
|
-
uniform vec3 spriteColor;
|
|
7
|
-
uniform vec4 frameCoords;
|
|
8
|
-
|
|
9
|
-
void main()
|
|
10
|
-
{
|
|
11
|
-
vec2 interpolatedCoords = vec2(frameCoords.x + (TexCoords.x * frameCoords.z), frameCoords.y + TexCoords.y * frameCoords.w);;
|
|
12
|
-
vec4 texColor = texture(image, interpolatedCoords);
|
|
13
|
-
if(texColor.a < 0.05)
|
|
14
|
-
discard;
|
|
15
|
-
else
|
|
16
|
-
color = vec4(spriteColor, 1.0) * texColor;
|
|
17
|
-
}
|
|
1
|
+
#version 330 core
|
|
2
|
+
in vec2 TexCoords;
|
|
3
|
+
out vec4 color;
|
|
4
|
+
|
|
5
|
+
uniform sampler2D image;
|
|
6
|
+
uniform vec3 spriteColor;
|
|
7
|
+
uniform vec4 frameCoords;
|
|
8
|
+
|
|
9
|
+
void main()
|
|
10
|
+
{
|
|
11
|
+
vec2 interpolatedCoords = vec2(frameCoords.x + (TexCoords.x * frameCoords.z), frameCoords.y + TexCoords.y * frameCoords.w);;
|
|
12
|
+
vec4 texColor = texture(image, interpolatedCoords);
|
|
13
|
+
if(texColor.a < 0.05)
|
|
14
|
+
discard;
|
|
15
|
+
else
|
|
16
|
+
color = vec4(spriteColor, 1.0) * texColor;
|
|
17
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
#version 330 core
|
|
2
|
-
|
|
3
|
-
// <vec3 position, vec2 texCoords>
|
|
4
|
-
layout (location = 0) in vec3 vertex;
|
|
5
|
-
layout (location = 1) in vec2 texCoord;
|
|
6
|
-
|
|
7
|
-
out vec2 TexCoords;
|
|
8
|
-
|
|
9
|
-
uniform mat4 camera;
|
|
10
|
-
uniform mat4 model;
|
|
11
|
-
|
|
12
|
-
void main()
|
|
13
|
-
{
|
|
14
|
-
TexCoords = texCoord;
|
|
15
|
-
gl_Position = camera * model * vec4(vertex, 1.0);
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
// <vec3 position, vec2 texCoords>
|
|
4
|
+
layout (location = 0) in vec3 vertex;
|
|
5
|
+
layout (location = 1) in vec2 texCoord;
|
|
6
|
+
|
|
7
|
+
out vec2 TexCoords;
|
|
8
|
+
|
|
9
|
+
uniform mat4 camera;
|
|
10
|
+
uniform mat4 model;
|
|
11
|
+
|
|
12
|
+
void main()
|
|
13
|
+
{
|
|
14
|
+
TexCoords = texCoord;
|
|
15
|
+
gl_Position = camera * model * vec4(vertex, 1.0);
|
|
16
16
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
#version 330 core
|
|
2
|
-
|
|
3
|
-
out vec4 color;
|
|
4
|
-
|
|
5
|
-
in vec2 TexCoords;
|
|
6
|
-
|
|
7
|
-
uniform sampler2D fontTexture;
|
|
8
|
-
|
|
9
|
-
void main()
|
|
10
|
-
{
|
|
11
|
-
vec4 textureColor = texture(fontTexture, TexCoords);
|
|
12
|
-
if(textureColor.a < 0.1)
|
|
13
|
-
discard;
|
|
14
|
-
color = vec4(1.0, 1.0, 1.0, textureColor.a);
|
|
15
|
-
}
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
out vec4 color;
|
|
4
|
+
|
|
5
|
+
in vec2 TexCoords;
|
|
6
|
+
|
|
7
|
+
uniform sampler2D fontTexture;
|
|
8
|
+
|
|
9
|
+
void main()
|
|
10
|
+
{
|
|
11
|
+
vec4 textureColor = texture(fontTexture, TexCoords);
|
|
12
|
+
if(textureColor.a < 0.1)
|
|
13
|
+
discard;
|
|
14
|
+
color = vec4(1.0, 1.0, 1.0, textureColor.a);
|
|
15
|
+
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
#version 330 core
|
|
2
|
-
|
|
3
|
-
// <vec3 position, vec2 texCoords>
|
|
4
|
-
layout (location = 0) in vec3 vertex;
|
|
5
|
-
layout (location = 1) in vec2 texCoords;
|
|
6
|
-
layout (location = 2) in int textIndex;
|
|
7
|
-
layout (location = 3) in vec2 offset;
|
|
8
|
-
|
|
9
|
-
uniform mat4 camera;
|
|
10
|
-
uniform mat4 model;
|
|
11
|
-
|
|
12
|
-
out vec2 TexCoords;
|
|
13
|
-
|
|
14
|
-
vec2 getTexCoords()
|
|
15
|
-
{
|
|
16
|
-
int x = textIndex / 16;
|
|
17
|
-
int y = textIndex % 16;
|
|
18
|
-
return (vec2(x, y) + texCoords) / 16.0;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
vec3 quadPosition()
|
|
22
|
-
{
|
|
23
|
-
return vertex + vec3(offset.x, offset.y, 0);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
void main()
|
|
28
|
-
{
|
|
29
|
-
gl_Position = camera * model * vec4(quadPosition(), 1.0);
|
|
30
|
-
TexCoords = getTexCoords();
|
|
31
|
-
}
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
// <vec3 position, vec2 texCoords>
|
|
4
|
+
layout (location = 0) in vec3 vertex;
|
|
5
|
+
layout (location = 1) in vec2 texCoords;
|
|
6
|
+
layout (location = 2) in int textIndex;
|
|
7
|
+
layout (location = 3) in vec2 offset;
|
|
8
|
+
|
|
9
|
+
uniform mat4 camera;
|
|
10
|
+
uniform mat4 model;
|
|
11
|
+
|
|
12
|
+
out vec2 TexCoords;
|
|
13
|
+
|
|
14
|
+
vec2 getTexCoords()
|
|
15
|
+
{
|
|
16
|
+
int x = textIndex / 16;
|
|
17
|
+
int y = textIndex % 16;
|
|
18
|
+
return (vec2(x, y) + texCoords) / 16.0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
vec3 quadPosition()
|
|
22
|
+
{
|
|
23
|
+
return vertex + vec3(offset.x, offset.y, 0);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
void main()
|
|
28
|
+
{
|
|
29
|
+
gl_Position = camera * model * vec4(quadPosition(), 1.0);
|
|
30
|
+
TexCoords = getTexCoords();
|
|
31
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
#version 330 core
|
|
2
|
-
in vec2 TexCoords;
|
|
3
|
-
out vec4 color;
|
|
4
|
-
|
|
5
|
-
uniform sampler2D image;
|
|
6
|
-
uniform vec4 spriteColor;
|
|
7
|
-
|
|
8
|
-
void main()
|
|
9
|
-
{
|
|
10
|
-
vec4 texColor = texture(image, TexCoords);
|
|
11
|
-
if(texColor.a < 0.05)
|
|
12
|
-
discard;
|
|
13
|
-
else
|
|
14
|
-
color = spriteColor * texColor;
|
|
15
|
-
}
|
|
1
|
+
#version 330 core
|
|
2
|
+
in vec2 TexCoords;
|
|
3
|
+
out vec4 color;
|
|
4
|
+
|
|
5
|
+
uniform sampler2D image;
|
|
6
|
+
uniform vec4 spriteColor;
|
|
7
|
+
|
|
8
|
+
void main()
|
|
9
|
+
{
|
|
10
|
+
vec4 texColor = texture(image, TexCoords);
|
|
11
|
+
if(texColor.a < 0.05)
|
|
12
|
+
discard;
|
|
13
|
+
else
|
|
14
|
+
color = spriteColor * texColor;
|
|
15
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
#version 330 core
|
|
2
|
-
|
|
3
|
-
// <vec3 position, vec2 texCoords>
|
|
4
|
-
layout (location = 0) in vec3 vertex;
|
|
5
|
-
layout (location = 1) in vec2 texCoord;
|
|
6
|
-
|
|
7
|
-
out vec2 TexCoords;
|
|
8
|
-
|
|
9
|
-
uniform mat4 camera;
|
|
10
|
-
uniform mat4 model;
|
|
11
|
-
|
|
12
|
-
void main()
|
|
13
|
-
{
|
|
14
|
-
TexCoords = texCoord;
|
|
15
|
-
gl_Position = camera * model * vec4(vertex, 1.0);
|
|
1
|
+
#version 330 core
|
|
2
|
+
|
|
3
|
+
// <vec3 position, vec2 texCoords>
|
|
4
|
+
layout (location = 0) in vec3 vertex;
|
|
5
|
+
layout (location = 1) in vec2 texCoord;
|
|
6
|
+
|
|
7
|
+
out vec2 TexCoords;
|
|
8
|
+
|
|
9
|
+
uniform mat4 camera;
|
|
10
|
+
uniform mat4 model;
|
|
11
|
+
|
|
12
|
+
void main()
|
|
13
|
+
{
|
|
14
|
+
TexCoords = texCoord;
|
|
15
|
+
gl_Position = camera * model * vec4(vertex, 1.0);
|
|
16
16
|
}
|