mittsu 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-workflow.yml +3 -38
  3. data/Gemfile +0 -4
  4. data/README.md +16 -130
  5. data/bin/console +0 -4
  6. data/lib/mittsu/cameras/cube_camera.rb +1 -1
  7. data/lib/mittsu/core/uniform.rb +23 -0
  8. data/lib/mittsu/core.rb +1 -0
  9. data/lib/mittsu/loaders/stl_loader.rb +186 -0
  10. data/lib/mittsu/loaders.rb +1 -0
  11. data/lib/mittsu/textures/render_target.rb +93 -0
  12. data/lib/mittsu/textures/render_target_cube.rb +8 -0
  13. data/lib/mittsu/textures/texture.rb +1 -1
  14. data/lib/mittsu/textures.rb +2 -0
  15. data/lib/mittsu/version.rb +1 -1
  16. data/lib/mittsu.rb +0 -1
  17. data/mittsu.gemspec +8 -12
  18. metadata +28 -199
  19. data/install-glfw.ps1 +0 -13
  20. data/lib/mittsu/renderers/generic_lib.rb +0 -125
  21. data/lib/mittsu/renderers/glfw_lib.rb +0 -64
  22. data/lib/mittsu/renderers/glfw_window.rb +0 -233
  23. data/lib/mittsu/renderers/opengl/core/buffer_geometry.rb +0 -11
  24. data/lib/mittsu/renderers/opengl/core/geometry.rb +0 -346
  25. data/lib/mittsu/renderers/opengl/core/object_3d.rb +0 -134
  26. data/lib/mittsu/renderers/opengl/lights/ambient_light.rb +0 -26
  27. data/lib/mittsu/renderers/opengl/lights/directional_light.rb +0 -35
  28. data/lib/mittsu/renderers/opengl/lights/hemisphere_light.rb +0 -39
  29. data/lib/mittsu/renderers/opengl/lights/light.rb +0 -55
  30. data/lib/mittsu/renderers/opengl/lights/point_light.rb +0 -36
  31. data/lib/mittsu/renderers/opengl/lights/spot_light.rb +0 -47
  32. data/lib/mittsu/renderers/opengl/materials/line_basic_material.rb +0 -16
  33. data/lib/mittsu/renderers/opengl/materials/material.rb +0 -274
  34. data/lib/mittsu/renderers/opengl/materials/mesh_basic_material.rb +0 -21
  35. data/lib/mittsu/renderers/opengl/materials/mesh_lambert_material.rb +0 -33
  36. data/lib/mittsu/renderers/opengl/materials/mesh_phong_material.rb +0 -44
  37. data/lib/mittsu/renderers/opengl/materials/opengl_material_basics.rb +0 -57
  38. data/lib/mittsu/renderers/opengl/materials/point_cloud_material.rb +0 -27
  39. data/lib/mittsu/renderers/opengl/materials/shader_material.rb +0 -11
  40. data/lib/mittsu/renderers/opengl/objects/group.rb +0 -9
  41. data/lib/mittsu/renderers/opengl/objects/line.rb +0 -45
  42. data/lib/mittsu/renderers/opengl/objects/mesh.rb +0 -70
  43. data/lib/mittsu/renderers/opengl/objects/point_cloud.rb +0 -39
  44. data/lib/mittsu/renderers/opengl/objects/sprite.rb +0 -12
  45. data/lib/mittsu/renderers/opengl/opengl_buffer.rb +0 -13
  46. data/lib/mittsu/renderers/opengl/opengl_debug.rb +0 -81
  47. data/lib/mittsu/renderers/opengl/opengl_default_target.rb +0 -50
  48. data/lib/mittsu/renderers/opengl/opengl_geometry_group.rb +0 -758
  49. data/lib/mittsu/renderers/opengl/opengl_geometry_like.rb +0 -132
  50. data/lib/mittsu/renderers/opengl/opengl_helper.rb +0 -161
  51. data/lib/mittsu/renderers/opengl/opengl_implementations.rb +0 -37
  52. data/lib/mittsu/renderers/opengl/opengl_lib.rb +0 -19
  53. data/lib/mittsu/renderers/opengl/opengl_light_renderer.rb +0 -43
  54. data/lib/mittsu/renderers/opengl/opengl_mittsu_params.rb +0 -53
  55. data/lib/mittsu/renderers/opengl/opengl_program.rb +0 -250
  56. data/lib/mittsu/renderers/opengl/opengl_shader.rb +0 -58
  57. data/lib/mittsu/renderers/opengl/opengl_state.rb +0 -205
  58. data/lib/mittsu/renderers/opengl/plugins/shadow_map_plugin.rb +0 -417
  59. data/lib/mittsu/renderers/opengl/plugins/sprite_fragment.glsl +0 -38
  60. data/lib/mittsu/renderers/opengl/plugins/sprite_plugin.rb +0 -250
  61. data/lib/mittsu/renderers/opengl/plugins/sprite_vertex.glsl +0 -31
  62. data/lib/mittsu/renderers/opengl/scenes/scene.rb +0 -9
  63. data/lib/mittsu/renderers/opengl/textures/compressed_texture.rb +0 -20
  64. data/lib/mittsu/renderers/opengl/textures/cube_texture.rb +0 -77
  65. data/lib/mittsu/renderers/opengl/textures/data_texture.rb +0 -21
  66. data/lib/mittsu/renderers/opengl/textures/texture.rb +0 -107
  67. data/lib/mittsu/renderers/opengl_render_target.rb +0 -201
  68. data/lib/mittsu/renderers/opengl_renderer.rb +0 -1028
  69. data/lib/mittsu/renderers/shaders/rbsl_loader.rb +0 -166
  70. data/lib/mittsu/renderers/shaders/shader_chunk/alphamap_fragment.glsl +0 -5
  71. data/lib/mittsu/renderers/shaders/shader_chunk/alphamap_pars_fragment.glsl +0 -5
  72. data/lib/mittsu/renderers/shaders/shader_chunk/alphatest_fragment.glsl +0 -5
  73. data/lib/mittsu/renderers/shaders/shader_chunk/bumpmap_pars_fragment.glsl +0 -40
  74. data/lib/mittsu/renderers/shaders/shader_chunk/color_fragment.glsl +0 -5
  75. data/lib/mittsu/renderers/shaders/shader_chunk/color_pars_fragment.glsl +0 -5
  76. data/lib/mittsu/renderers/shaders/shader_chunk/color_pars_vertex.glsl +0 -5
  77. data/lib/mittsu/renderers/shaders/shader_chunk/color_vertex.glsl +0 -5
  78. data/lib/mittsu/renderers/shaders/shader_chunk/common.glsl +0 -60
  79. data/lib/mittsu/renderers/shaders/shader_chunk/default_vertex.glsl +0 -15
  80. data/lib/mittsu/renderers/shaders/shader_chunk/defaultnormal_vertex.glsl +0 -21
  81. data/lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl +0 -62
  82. data/lib/mittsu/renderers/shaders/shader_chunk/envmap_pars_fragment.glsl +0 -21
  83. data/lib/mittsu/renderers/shaders/shader_chunk/envmap_pars_vertex.glsl +0 -7
  84. data/lib/mittsu/renderers/shaders/shader_chunk/envmap_vertex.glsl +0 -17
  85. data/lib/mittsu/renderers/shaders/shader_chunk/fog_fragment.glsl +0 -26
  86. data/lib/mittsu/renderers/shaders/shader_chunk/fog_pars_fragment.glsl +0 -15
  87. data/lib/mittsu/renderers/shaders/shader_chunk/lightmap_fragment.glsl +0 -5
  88. data/lib/mittsu/renderers/shaders/shader_chunk/lightmap_pars_fragment.glsl +0 -6
  89. data/lib/mittsu/renderers/shaders/shader_chunk/lightmap_pars_vertex.glsl +0 -5
  90. data/lib/mittsu/renderers/shaders/shader_chunk/lightmap_vertex.glsl +0 -5
  91. data/lib/mittsu/renderers/shaders/shader_chunk/lights_lambert_pars_vertex.glsl +0 -43
  92. data/lib/mittsu/renderers/shaders/shader_chunk/lights_lambert_vertex.glsl +0 -196
  93. data/lib/mittsu/renderers/shaders/shader_chunk/lights_phong_fragment.glsl +0 -243
  94. data/lib/mittsu/renderers/shaders/shader_chunk/lights_phong_pars_fragment.glsl +0 -58
  95. data/lib/mittsu/renderers/shaders/shader_chunk/lights_phong_pars_vertex.glsl +0 -5
  96. data/lib/mittsu/renderers/shaders/shader_chunk/lights_phong_vertex.glsl +0 -5
  97. data/lib/mittsu/renderers/shaders/shader_chunk/linear_to_gamma_fragment.glsl +0 -2
  98. data/lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_fragment.glsl +0 -5
  99. data/lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_pars_fragment.glsl +0 -12
  100. data/lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_pars_vertex.glsl +0 -11
  101. data/lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_vertex.glsl +0 -15
  102. data/lib/mittsu/renderers/shaders/shader_chunk/map_fragment.glsl +0 -9
  103. data/lib/mittsu/renderers/shaders/shader_chunk/map_pars_fragment.glsl +0 -11
  104. data/lib/mittsu/renderers/shaders/shader_chunk/map_pars_vertex.glsl +0 -6
  105. data/lib/mittsu/renderers/shaders/shader_chunk/map_particle_fragment.glsl +0 -5
  106. data/lib/mittsu/renderers/shaders/shader_chunk/map_particle_pars_fragment.glsl +0 -6
  107. data/lib/mittsu/renderers/shaders/shader_chunk/map_vertex.glsl +0 -5
  108. data/lib/mittsu/renderers/shaders/shader_chunk/morphnormal_vertex.glsl +0 -12
  109. data/lib/mittsu/renderers/shaders/shader_chunk/morphtarget_pars_vertex.glsl +0 -13
  110. data/lib/mittsu/renderers/shaders/shader_chunk/morphtarget_vertex.glsl +0 -20
  111. data/lib/mittsu/renderers/shaders/shader_chunk/normalmap_pars_fragment.glsl +0 -27
  112. data/lib/mittsu/renderers/shaders/shader_chunk/shadowmap_fragment.glsl +0 -216
  113. data/lib/mittsu/renderers/shaders/shader_chunk/shadowmap_pars_fragment.glsl +0 -19
  114. data/lib/mittsu/renderers/shaders/shader_chunk/shadowmap_pars_vertex.glsl +0 -6
  115. data/lib/mittsu/renderers/shaders/shader_chunk/shadowmap_vertex.glsl +0 -9
  116. data/lib/mittsu/renderers/shaders/shader_chunk/skinbase_vertex.glsl +0 -8
  117. data/lib/mittsu/renderers/shaders/shader_chunk/skinning_pars_vertex.glsl +0 -47
  118. data/lib/mittsu/renderers/shaders/shader_chunk/skinning_vertex.glsl +0 -20
  119. data/lib/mittsu/renderers/shaders/shader_chunk/skinnormal_vertex.glsl +0 -20
  120. data/lib/mittsu/renderers/shaders/shader_chunk/specularmap_fragment.glsl +0 -12
  121. data/lib/mittsu/renderers/shaders/shader_chunk/specularmap_pars_fragment.glsl +0 -5
  122. data/lib/mittsu/renderers/shaders/shader_chunk/worldpos_vertex.glsl +0 -17
  123. data/lib/mittsu/renderers/shaders/shader_chunk.rb +0 -9
  124. data/lib/mittsu/renderers/shaders/shader_lib/basic/basic_fragment.rbsl +0 -37
  125. data/lib/mittsu/renderers/shaders/shader_lib/basic/basic_uniforms.rbslu +0 -3
  126. data/lib/mittsu/renderers/shaders/shader_lib/basic/basic_vertex.rbsl +0 -33
  127. data/lib/mittsu/renderers/shaders/shader_lib/cube/cube_fragment.rbsl +0 -12
  128. data/lib/mittsu/renderers/shaders/shader_lib/cube/cube_uniforms.rbslu +0 -2
  129. data/lib/mittsu/renderers/shaders/shader_lib/cube/cube_vertex.rbsl +0 -12
  130. data/lib/mittsu/renderers/shaders/shader_lib/depth_rgba/depth_rgba_fragment.rbsl +0 -26
  131. data/lib/mittsu/renderers/shaders/shader_lib/depth_rgba/depth_rgba_uniforms.rbslu +0 -0
  132. data/lib/mittsu/renderers/shaders/shader_lib/depth_rgba/depth_rgba_vertex.rbsl +0 -12
  133. data/lib/mittsu/renderers/shaders/shader_lib/lambert/lambert_fragment.rbsl +0 -56
  134. data/lib/mittsu/renderers/shaders/shader_lib/lambert/lambert_uniforms.rbslu +0 -7
  135. data/lib/mittsu/renderers/shaders/shader_lib/lambert/lambert_vertex.rbsl +0 -37
  136. data/lib/mittsu/renderers/shaders/shader_lib/particle_basic/particle_basic_fragment.rbsl +0 -27
  137. data/lib/mittsu/renderers/shaders/shader_lib/particle_basic/particle_basic_uniforms.rbslu +0 -2
  138. data/lib/mittsu/renderers/shaders/shader_lib/particle_basic/particle_basic_vertex.rbsl +0 -25
  139. data/lib/mittsu/renderers/shaders/shader_lib/phong/phong_fragment.rbsl +0 -45
  140. data/lib/mittsu/renderers/shaders/shader_lib/phong/phong_uniforms.rbslu +0 -11
  141. data/lib/mittsu/renderers/shaders/shader_lib/phong/phong_vertex.rbsl +0 -43
  142. data/lib/mittsu/renderers/shaders/shader_lib.rb +0 -43
  143. data/lib/mittsu/renderers/shaders/shader_templates/fragment.glsl.erb +0 -105
  144. data/lib/mittsu/renderers/shaders/shader_templates/vertex.glsl.erb +0 -143
  145. data/lib/mittsu/renderers/shaders/uniforms_lib.rb +0 -106
  146. data/lib/mittsu/renderers/shaders/uniforms_utils.rb +0 -31
  147. data/lib/mittsu/renderers.rb +0 -1
data/mittsu.gemspec CHANGED
@@ -10,28 +10,24 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["danini@hey.com"]
11
11
 
12
12
  spec.summary = %q{3D Graphics Library for Ruby}
13
- spec.description = %q{Mittsu makes 3D graphics easier by providing an abstraction over OpenGL, and is based heavily off of THREE.js. No more weird pointers and wondering about the difference between a VAO and a VBO (besides the letter). Simply think of something awesome and make it!}
13
+ spec.description = %q{Mittsu is a 3D Graphics Library for Ruby, based heavily on Three.js}
14
14
  spec.homepage = "https://github.com/danini-the-panini/mittsu"
15
15
  spec.license = "MIT"
16
16
  spec.metadata = {
17
17
  "bug_tracker" => "https://github.com/danini-the-panini/mittsu/issues"
18
18
  }
19
19
 
20
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{(^(test|examples)/|\.sh$)}) }
20
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{(^(test)/|\.sh$)}) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.required_ruby_version = '>= 2.0.0'
24
- spec.requirements << 'OpenGL 3.3+ capable hardware and drivers'
23
+ spec.required_ruby_version = '>= 2.6.0'
25
24
 
26
- spec.add_runtime_dependency 'opengl-bindings'
27
- spec.add_runtime_dependency 'ffi'
28
25
  spec.add_runtime_dependency 'chunky_png'
29
26
 
30
- spec.add_development_dependency "bundler"
31
- spec.add_development_dependency "rake"
32
- spec.add_development_dependency 'minitest'
33
- spec.add_development_dependency 'minitest-reporters'
34
- spec.add_development_dependency 'pry'
35
- spec.add_development_dependency 'benchmark-ips'
27
+ spec.add_development_dependency 'bundler', '~> 2.0'
28
+ spec.add_development_dependency 'rake', '~> 13.0'
29
+ spec.add_development_dependency 'minitest', '~> 5.0'
30
+ spec.add_development_dependency 'minitest-reporters', '~> 1.7'
31
+ spec.add_development_dependency 'benchmark-ips', '~> 2.14'
36
32
  spec.add_development_dependency 'simplecov', '0.17.1'
37
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mittsu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danielle Smith
@@ -10,34 +10,6 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2024-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: opengl-bindings
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: ffi
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: chunky_png
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -56,86 +28,72 @@ dependencies:
56
28
  name: bundler
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
- - - ">="
31
+ - - "~>"
60
32
  - !ruby/object:Gem::Version
61
- version: '0'
33
+ version: '2.0'
62
34
  type: :development
63
35
  prerelease: false
64
36
  version_requirements: !ruby/object:Gem::Requirement
65
37
  requirements:
66
- - - ">="
38
+ - - "~>"
67
39
  - !ruby/object:Gem::Version
68
- version: '0'
40
+ version: '2.0'
69
41
  - !ruby/object:Gem::Dependency
70
42
  name: rake
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
- - - ">="
45
+ - - "~>"
74
46
  - !ruby/object:Gem::Version
75
- version: '0'
47
+ version: '13.0'
76
48
  type: :development
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
- - - ">="
52
+ - - "~>"
81
53
  - !ruby/object:Gem::Version
82
- version: '0'
54
+ version: '13.0'
83
55
  - !ruby/object:Gem::Dependency
84
56
  name: minitest
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
- - - ">="
59
+ - - "~>"
88
60
  - !ruby/object:Gem::Version
89
- version: '0'
61
+ version: '5.0'
90
62
  type: :development
91
63
  prerelease: false
92
64
  version_requirements: !ruby/object:Gem::Requirement
93
65
  requirements:
94
- - - ">="
66
+ - - "~>"
95
67
  - !ruby/object:Gem::Version
96
- version: '0'
68
+ version: '5.0'
97
69
  - !ruby/object:Gem::Dependency
98
70
  name: minitest-reporters
99
71
  requirement: !ruby/object:Gem::Requirement
100
72
  requirements:
101
- - - ">="
73
+ - - "~>"
102
74
  - !ruby/object:Gem::Version
103
- version: '0'
75
+ version: '1.7'
104
76
  type: :development
105
77
  prerelease: false
106
78
  version_requirements: !ruby/object:Gem::Requirement
107
79
  requirements:
108
- - - ">="
80
+ - - "~>"
109
81
  - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: pry
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
82
+ version: '1.7'
125
83
  - !ruby/object:Gem::Dependency
126
84
  name: benchmark-ips
127
85
  requirement: !ruby/object:Gem::Requirement
128
86
  requirements:
129
- - - ">="
87
+ - - "~>"
130
88
  - !ruby/object:Gem::Version
131
- version: '0'
89
+ version: '2.14'
132
90
  type: :development
133
91
  prerelease: false
134
92
  version_requirements: !ruby/object:Gem::Requirement
135
93
  requirements:
136
- - - ">="
94
+ - - "~>"
137
95
  - !ruby/object:Gem::Version
138
- version: '0'
96
+ version: '2.14'
139
97
  - !ruby/object:Gem::Dependency
140
98
  name: simplecov
141
99
  requirement: !ruby/object:Gem::Requirement
@@ -150,10 +108,7 @@ dependencies:
150
108
  - - '='
151
109
  - !ruby/object:Gem::Version
152
110
  version: 0.17.1
153
- description: Mittsu makes 3D graphics easier by providing an abstraction over OpenGL,
154
- and is based heavily off of THREE.js. No more weird pointers and wondering about
155
- the difference between a VAO and a VBO (besides the letter). Simply think of something
156
- awesome and make it!
111
+ description: Mittsu is a 3D Graphics Library for Ruby, based heavily on Three.js
157
112
  email:
158
113
  - danini@hey.com
159
114
  executables: []
@@ -171,7 +126,6 @@ files:
171
126
  - Rakefile
172
127
  - bin/console
173
128
  - bin/setup
174
- - install-glfw.ps1
175
129
  - lib/mittsu.rb
176
130
  - lib/mittsu/cameras.rb
177
131
  - lib/mittsu/cameras/camera.rb
@@ -190,6 +144,7 @@ files:
190
144
  - lib/mittsu/core/hash_array.rb
191
145
  - lib/mittsu/core/object_3d.rb
192
146
  - lib/mittsu/core/raycaster.rb
147
+ - lib/mittsu/core/uniform.rb
193
148
  - lib/mittsu/extras.rb
194
149
  - lib/mittsu/extras/geometries.rb
195
150
  - lib/mittsu/extras/geometries/box_geometry.rb
@@ -231,6 +186,7 @@ files:
231
186
  - lib/mittsu/loaders/mtl_loader.rb
232
187
  - lib/mittsu/loaders/obj_loader.rb
233
188
  - lib/mittsu/loaders/obj_mtl_loader.rb
189
+ - lib/mittsu/loaders/stl_loader.rb
234
190
  - lib/mittsu/materials.rb
235
191
  - lib/mittsu/materials/line_basic_material.rb
236
192
  - lib/mittsu/materials/material.rb
@@ -267,140 +223,14 @@ files:
267
223
  - lib/mittsu/objects/mesh.rb
268
224
  - lib/mittsu/objects/point_cloud.rb
269
225
  - lib/mittsu/objects/sprite.rb
270
- - lib/mittsu/renderers.rb
271
- - lib/mittsu/renderers/generic_lib.rb
272
- - lib/mittsu/renderers/glfw_lib.rb
273
- - lib/mittsu/renderers/glfw_window.rb
274
- - lib/mittsu/renderers/opengl/core/buffer_geometry.rb
275
- - lib/mittsu/renderers/opengl/core/geometry.rb
276
- - lib/mittsu/renderers/opengl/core/object_3d.rb
277
- - lib/mittsu/renderers/opengl/lights/ambient_light.rb
278
- - lib/mittsu/renderers/opengl/lights/directional_light.rb
279
- - lib/mittsu/renderers/opengl/lights/hemisphere_light.rb
280
- - lib/mittsu/renderers/opengl/lights/light.rb
281
- - lib/mittsu/renderers/opengl/lights/point_light.rb
282
- - lib/mittsu/renderers/opengl/lights/spot_light.rb
283
- - lib/mittsu/renderers/opengl/materials/line_basic_material.rb
284
- - lib/mittsu/renderers/opengl/materials/material.rb
285
- - lib/mittsu/renderers/opengl/materials/mesh_basic_material.rb
286
- - lib/mittsu/renderers/opengl/materials/mesh_lambert_material.rb
287
- - lib/mittsu/renderers/opengl/materials/mesh_phong_material.rb
288
- - lib/mittsu/renderers/opengl/materials/opengl_material_basics.rb
289
- - lib/mittsu/renderers/opengl/materials/point_cloud_material.rb
290
- - lib/mittsu/renderers/opengl/materials/shader_material.rb
291
- - lib/mittsu/renderers/opengl/objects/group.rb
292
- - lib/mittsu/renderers/opengl/objects/line.rb
293
- - lib/mittsu/renderers/opengl/objects/mesh.rb
294
- - lib/mittsu/renderers/opengl/objects/point_cloud.rb
295
- - lib/mittsu/renderers/opengl/objects/sprite.rb
296
- - lib/mittsu/renderers/opengl/opengl_buffer.rb
297
- - lib/mittsu/renderers/opengl/opengl_debug.rb
298
- - lib/mittsu/renderers/opengl/opengl_default_target.rb
299
- - lib/mittsu/renderers/opengl/opengl_geometry_group.rb
300
- - lib/mittsu/renderers/opengl/opengl_geometry_like.rb
301
- - lib/mittsu/renderers/opengl/opengl_helper.rb
302
- - lib/mittsu/renderers/opengl/opengl_implementations.rb
303
- - lib/mittsu/renderers/opengl/opengl_lib.rb
304
- - lib/mittsu/renderers/opengl/opengl_light_renderer.rb
305
- - lib/mittsu/renderers/opengl/opengl_mittsu_params.rb
306
- - lib/mittsu/renderers/opengl/opengl_program.rb
307
- - lib/mittsu/renderers/opengl/opengl_shader.rb
308
- - lib/mittsu/renderers/opengl/opengl_state.rb
309
- - lib/mittsu/renderers/opengl/plugins/shadow_map_plugin.rb
310
- - lib/mittsu/renderers/opengl/plugins/sprite_fragment.glsl
311
- - lib/mittsu/renderers/opengl/plugins/sprite_plugin.rb
312
- - lib/mittsu/renderers/opengl/plugins/sprite_vertex.glsl
313
- - lib/mittsu/renderers/opengl/scenes/scene.rb
314
- - lib/mittsu/renderers/opengl/textures/compressed_texture.rb
315
- - lib/mittsu/renderers/opengl/textures/cube_texture.rb
316
- - lib/mittsu/renderers/opengl/textures/data_texture.rb
317
- - lib/mittsu/renderers/opengl/textures/texture.rb
318
- - lib/mittsu/renderers/opengl_render_target.rb
319
- - lib/mittsu/renderers/opengl_renderer.rb
320
- - lib/mittsu/renderers/shaders/rbsl_loader.rb
321
- - lib/mittsu/renderers/shaders/shader_chunk.rb
322
- - lib/mittsu/renderers/shaders/shader_chunk/alphamap_fragment.glsl
323
- - lib/mittsu/renderers/shaders/shader_chunk/alphamap_pars_fragment.glsl
324
- - lib/mittsu/renderers/shaders/shader_chunk/alphatest_fragment.glsl
325
- - lib/mittsu/renderers/shaders/shader_chunk/bumpmap_pars_fragment.glsl
326
- - lib/mittsu/renderers/shaders/shader_chunk/color_fragment.glsl
327
- - lib/mittsu/renderers/shaders/shader_chunk/color_pars_fragment.glsl
328
- - lib/mittsu/renderers/shaders/shader_chunk/color_pars_vertex.glsl
329
- - lib/mittsu/renderers/shaders/shader_chunk/color_vertex.glsl
330
- - lib/mittsu/renderers/shaders/shader_chunk/common.glsl
331
- - lib/mittsu/renderers/shaders/shader_chunk/default_vertex.glsl
332
- - lib/mittsu/renderers/shaders/shader_chunk/defaultnormal_vertex.glsl
333
- - lib/mittsu/renderers/shaders/shader_chunk/envmap_fragment.glsl
334
- - lib/mittsu/renderers/shaders/shader_chunk/envmap_pars_fragment.glsl
335
- - lib/mittsu/renderers/shaders/shader_chunk/envmap_pars_vertex.glsl
336
- - lib/mittsu/renderers/shaders/shader_chunk/envmap_vertex.glsl
337
- - lib/mittsu/renderers/shaders/shader_chunk/fog_fragment.glsl
338
- - lib/mittsu/renderers/shaders/shader_chunk/fog_pars_fragment.glsl
339
- - lib/mittsu/renderers/shaders/shader_chunk/lightmap_fragment.glsl
340
- - lib/mittsu/renderers/shaders/shader_chunk/lightmap_pars_fragment.glsl
341
- - lib/mittsu/renderers/shaders/shader_chunk/lightmap_pars_vertex.glsl
342
- - lib/mittsu/renderers/shaders/shader_chunk/lightmap_vertex.glsl
343
- - lib/mittsu/renderers/shaders/shader_chunk/lights_lambert_pars_vertex.glsl
344
- - lib/mittsu/renderers/shaders/shader_chunk/lights_lambert_vertex.glsl
345
- - lib/mittsu/renderers/shaders/shader_chunk/lights_phong_fragment.glsl
346
- - lib/mittsu/renderers/shaders/shader_chunk/lights_phong_pars_fragment.glsl
347
- - lib/mittsu/renderers/shaders/shader_chunk/lights_phong_pars_vertex.glsl
348
- - lib/mittsu/renderers/shaders/shader_chunk/lights_phong_vertex.glsl
349
- - lib/mittsu/renderers/shaders/shader_chunk/linear_to_gamma_fragment.glsl
350
- - lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_fragment.glsl
351
- - lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_pars_fragment.glsl
352
- - lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_pars_vertex.glsl
353
- - lib/mittsu/renderers/shaders/shader_chunk/logdepthbuf_vertex.glsl
354
- - lib/mittsu/renderers/shaders/shader_chunk/map_fragment.glsl
355
- - lib/mittsu/renderers/shaders/shader_chunk/map_pars_fragment.glsl
356
- - lib/mittsu/renderers/shaders/shader_chunk/map_pars_vertex.glsl
357
- - lib/mittsu/renderers/shaders/shader_chunk/map_particle_fragment.glsl
358
- - lib/mittsu/renderers/shaders/shader_chunk/map_particle_pars_fragment.glsl
359
- - lib/mittsu/renderers/shaders/shader_chunk/map_vertex.glsl
360
- - lib/mittsu/renderers/shaders/shader_chunk/morphnormal_vertex.glsl
361
- - lib/mittsu/renderers/shaders/shader_chunk/morphtarget_pars_vertex.glsl
362
- - lib/mittsu/renderers/shaders/shader_chunk/morphtarget_vertex.glsl
363
- - lib/mittsu/renderers/shaders/shader_chunk/normalmap_pars_fragment.glsl
364
- - lib/mittsu/renderers/shaders/shader_chunk/shadowmap_fragment.glsl
365
- - lib/mittsu/renderers/shaders/shader_chunk/shadowmap_pars_fragment.glsl
366
- - lib/mittsu/renderers/shaders/shader_chunk/shadowmap_pars_vertex.glsl
367
- - lib/mittsu/renderers/shaders/shader_chunk/shadowmap_vertex.glsl
368
- - lib/mittsu/renderers/shaders/shader_chunk/skinbase_vertex.glsl
369
- - lib/mittsu/renderers/shaders/shader_chunk/skinning_pars_vertex.glsl
370
- - lib/mittsu/renderers/shaders/shader_chunk/skinning_vertex.glsl
371
- - lib/mittsu/renderers/shaders/shader_chunk/skinnormal_vertex.glsl
372
- - lib/mittsu/renderers/shaders/shader_chunk/specularmap_fragment.glsl
373
- - lib/mittsu/renderers/shaders/shader_chunk/specularmap_pars_fragment.glsl
374
- - lib/mittsu/renderers/shaders/shader_chunk/worldpos_vertex.glsl
375
- - lib/mittsu/renderers/shaders/shader_lib.rb
376
- - lib/mittsu/renderers/shaders/shader_lib/basic/basic_fragment.rbsl
377
- - lib/mittsu/renderers/shaders/shader_lib/basic/basic_uniforms.rbslu
378
- - lib/mittsu/renderers/shaders/shader_lib/basic/basic_vertex.rbsl
379
- - lib/mittsu/renderers/shaders/shader_lib/cube/cube_fragment.rbsl
380
- - lib/mittsu/renderers/shaders/shader_lib/cube/cube_uniforms.rbslu
381
- - lib/mittsu/renderers/shaders/shader_lib/cube/cube_vertex.rbsl
382
- - lib/mittsu/renderers/shaders/shader_lib/depth_rgba/depth_rgba_fragment.rbsl
383
- - lib/mittsu/renderers/shaders/shader_lib/depth_rgba/depth_rgba_uniforms.rbslu
384
- - lib/mittsu/renderers/shaders/shader_lib/depth_rgba/depth_rgba_vertex.rbsl
385
- - lib/mittsu/renderers/shaders/shader_lib/lambert/lambert_fragment.rbsl
386
- - lib/mittsu/renderers/shaders/shader_lib/lambert/lambert_uniforms.rbslu
387
- - lib/mittsu/renderers/shaders/shader_lib/lambert/lambert_vertex.rbsl
388
- - lib/mittsu/renderers/shaders/shader_lib/particle_basic/particle_basic_fragment.rbsl
389
- - lib/mittsu/renderers/shaders/shader_lib/particle_basic/particle_basic_uniforms.rbslu
390
- - lib/mittsu/renderers/shaders/shader_lib/particle_basic/particle_basic_vertex.rbsl
391
- - lib/mittsu/renderers/shaders/shader_lib/phong/phong_fragment.rbsl
392
- - lib/mittsu/renderers/shaders/shader_lib/phong/phong_uniforms.rbslu
393
- - lib/mittsu/renderers/shaders/shader_lib/phong/phong_vertex.rbsl
394
- - lib/mittsu/renderers/shaders/shader_templates/fragment.glsl.erb
395
- - lib/mittsu/renderers/shaders/shader_templates/vertex.glsl.erb
396
- - lib/mittsu/renderers/shaders/uniforms_lib.rb
397
- - lib/mittsu/renderers/shaders/uniforms_utils.rb
398
226
  - lib/mittsu/scenes.rb
399
227
  - lib/mittsu/scenes/scene.rb
400
228
  - lib/mittsu/textures.rb
401
229
  - lib/mittsu/textures/compressed_texture.rb
402
230
  - lib/mittsu/textures/cube_texture.rb
403
231
  - lib/mittsu/textures/data_texture.rb
232
+ - lib/mittsu/textures/render_target.rb
233
+ - lib/mittsu/textures/render_target_cube.rb
404
234
  - lib/mittsu/textures/texture.rb
405
235
  - lib/mittsu/textures/video_texture.rb
406
236
  - lib/mittsu/utils.rb
@@ -419,14 +249,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
419
249
  requirements:
420
250
  - - ">="
421
251
  - !ruby/object:Gem::Version
422
- version: 2.0.0
252
+ version: 2.6.0
423
253
  required_rubygems_version: !ruby/object:Gem::Requirement
424
254
  requirements:
425
255
  - - ">="
426
256
  - !ruby/object:Gem::Version
427
257
  version: '0'
428
- requirements:
429
- - OpenGL 3.3+ capable hardware and drivers
258
+ requirements: []
430
259
  rubygems_version: 3.5.23
431
260
  signing_key:
432
261
  specification_version: 4
data/install-glfw.ps1 DELETED
@@ -1,13 +0,0 @@
1
- $glfwversion="3.3.1"
2
-
3
- Invoke-WebRequest "https://github.com/glfw/glfw/releases/download/$glfwversion/glfw-$glfwversion.bin.WIN32.zip" -OutFile "$pwd\glfw-$glfwversion.bin.WIN32.zip"
4
-
5
- Add-Type -AssemblyName System.IO.Compression.FileSystem
6
- function Unzip
7
- {
8
- param([string]$zipfile, [string]$outpath)
9
-
10
- [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
11
- }
12
-
13
- Unzip "$pwd\glfw-$glfwversion.bin.WIN32.zip" "$pwd"
@@ -1,125 +0,0 @@
1
- require 'open3'
2
-
3
- module Mittsu
4
- module GenericLib
5
- def discover
6
- case OpenGL.get_platform
7
- when :OPENGL_PLATFORM_WINDOWS
8
- self::Windows.new
9
- when :OPENGL_PLATFORM_MACOSX
10
- self::MacOS.new
11
- when :OPENGL_PLATFORM_LINUX
12
- self::Linux.new
13
- else
14
- warn "WARNING: Unsupported platform: #{OpenGL.get_platform}"
15
- Base.new
16
- end
17
- end
18
-
19
- class Base
20
- def path; nil; end
21
- def file; nil; end
22
- end
23
-
24
- class Linux < Base
25
- def path
26
- return nil if file_path.nil?
27
- File.dirname file_path
28
- end
29
-
30
- def file
31
- return nil if file_path.nil?
32
- File.basename file_path
33
- end
34
-
35
- class << self
36
- def kernel_module_in_use
37
- lspci_line, stderr, _status = Open3.capture3("lspci -nnk | grep -i vga -A3 | grep 'in use'")
38
- puts stderr if DEBUG
39
- /in use:\s*(\S+)/ =~ lspci_line && $1
40
- rescue
41
- ''
42
- end
43
-
44
- def libgl_paths
45
- Dir.glob('/usr/lib*/**/libGL.so*')
46
- rescue
47
- []
48
- end
49
-
50
- def sixtyfour_bits?
51
- 1.size == 8
52
- end
53
-
54
- def ldconfig
55
- `ldconfig -p | grep 'libGL\\.so'`.lines
56
- rescue
57
- []
58
- end
59
- end
60
-
61
- private
62
- def file_path
63
- @_file_path ||= begin
64
- ldconfig_lib || driver_specific_lib || sixtyfour_bit_lib || fallback_lib || give_up
65
- end.tap do |result|
66
- print_debug_info(result) if DEBUG
67
- end
68
- end
69
-
70
- def ldconfig_lib
71
- return nil if ldconfig.empty?
72
- @_debug = { source: 'ldconfig', info: ldconfig.inspect } if DEBUG
73
- ldconfig_for_arch = ldconfig.reject { |lib| @loader.sixtyfour_bits? ^ ldconfig_64?(lib) }
74
- ldconfig_for_arch.first.match(/=> (\/.*)$/)[1]
75
- end
76
-
77
- def ldconfig_64?(lib)
78
- lib =~ /\([^\)]*64[^\)]*\) =>/
79
- end
80
-
81
- def driver_specific_lib
82
- return nil if libs.empty?
83
- @_debug = { source: 'driver', info: kernel_module } if DEBUG
84
- libs.select { |lib| lib =~ /nvidia/ }.first if kernel_module =~ /nvidia/
85
- end
86
-
87
- def sixtyfour_bit_lib
88
- return nil if libs.empty?
89
- sixtyfour_bit_libs = libs.select { |lib| lib =~ /64/ }
90
- @_debug = { source: '64', info: sixtyfour_bit_libs.inspect } if DEBUG
91
- sixtyfour_bit_libs.first if @loader.sixtyfour_bits?
92
- end
93
-
94
- def fallback_lib
95
- return nil if libs.empty?
96
- @_debug = { source: 'fallback', info: libs.inspect } if DEBUG
97
- libs.first
98
- end
99
-
100
- def give_up
101
- @_debug = { source: 'none', info: nil } if DEBUG
102
- nil
103
- end
104
-
105
- def kernel_module
106
- @_kernel_module ||= @loader.kernel_module_in_use
107
- end
108
-
109
- def libs
110
- @_libs ||= @loader.libgl_paths.sort_by(&:length)
111
- end
112
-
113
- def ldconfig
114
- @_ldconfig ||= @loader.ldconfig
115
- end
116
-
117
- def print_debug_info(result)
118
- puts "Loading lib path: #{result.inspect}"
119
- puts "Source: #{@_debug[:source]}"
120
- puts "Info: #{@_debug[:info]}"
121
- puts "64-bit? #{@loader.sixtyfour_bits?}"
122
- end
123
- end
124
- end
125
- end
@@ -1,64 +0,0 @@
1
- require 'mittsu/renderers/generic_lib'
2
-
3
- module Mittsu
4
- module GLFWLib
5
- extend GenericLib
6
-
7
- class Linux < GenericLib::Linux
8
- def initialize(loader = Linux)
9
- @loader = loader
10
- end
11
-
12
- class << self
13
- def libgl_paths
14
- Dir.glob('/usr/lib*/**/libglfw*.so*')
15
- rescue
16
- []
17
- end
18
-
19
- def ldconfig
20
- out, stderr, _status = Open3.capture3("ldconfig -p | grep 'libglfw3\\?\\.so'")
21
- puts stderr if DEBUG
22
- out.lines
23
- rescue
24
- []
25
- end
26
- end
27
- end
28
-
29
- class Windows < GenericLib::Base
30
- def file
31
- 'glfw3.dll'
32
- end
33
- end
34
-
35
- class MacOS < GenericLib::Base
36
- SEARCH_GLOBS = ['/usr/local/lib/**',
37
- '/usr/lib/**',
38
- '/opt/homebrew/**']
39
-
40
- def path
41
- File.dirname(match.to_s)
42
- end
43
-
44
- def file
45
- File.basename(match.to_s)
46
- end
47
-
48
- private
49
-
50
- def match
51
- @match ||= find_match
52
- end
53
-
54
- def find_match
55
- SEARCH_GLOBS.each do |glob|
56
- matches = Dir.glob("#{glob}/libglfw*.dylib")
57
- next if matches.empty?
58
-
59
- return matches.find { |m| m.end_with?('libglfw3.dylib') || m.end_with?('libglfw.3.dylib') } || matches.first
60
- end
61
- end
62
- end
63
- end
64
- end