raysetta 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +72 -0
  4. data/Rakefile +8 -0
  5. data/Steepfile +15 -0
  6. data/exe/raysetta +3 -0
  7. data/lib/raysetta/aabb.rb +116 -0
  8. data/lib/raysetta/background/base.rb +19 -0
  9. data/lib/raysetta/background/cube_map.rb +44 -0
  10. data/lib/raysetta/background/gradient.rb +28 -0
  11. data/lib/raysetta/background/solid.rb +24 -0
  12. data/lib/raysetta/background/sphere_map.rb +30 -0
  13. data/lib/raysetta/camera.rb +109 -0
  14. data/lib/raysetta/entity_base.rb +28 -0
  15. data/lib/raysetta/exe.rb +75 -0
  16. data/lib/raysetta/hit.rb +38 -0
  17. data/lib/raysetta/image.rb +46 -0
  18. data/lib/raysetta/interval.rb +63 -0
  19. data/lib/raysetta/material/base.rb +19 -0
  20. data/lib/raysetta/material/dielectric.rb +60 -0
  21. data/lib/raysetta/material/diffuse_light.rb +42 -0
  22. data/lib/raysetta/material/lambertian.rb +48 -0
  23. data/lib/raysetta/material/metal.rb +49 -0
  24. data/lib/raysetta/object/base.rb +23 -0
  25. data/lib/raysetta/object/box.rb +50 -0
  26. data/lib/raysetta/object/bvh.rb +81 -0
  27. data/lib/raysetta/object/group.rb +59 -0
  28. data/lib/raysetta/object/moving_sphere.rb +41 -0
  29. data/lib/raysetta/object/quad.rb +88 -0
  30. data/lib/raysetta/object/sphere.rb +68 -0
  31. data/lib/raysetta/object/tri.rb +46 -0
  32. data/lib/raysetta/output/base.rb +23 -0
  33. data/lib/raysetta/output/png.rb +26 -0
  34. data/lib/raysetta/output/ppm.rb +19 -0
  35. data/lib/raysetta/perlin.rb +91 -0
  36. data/lib/raysetta/ray.rb +28 -0
  37. data/lib/raysetta/runner/base.rb +28 -0
  38. data/lib/raysetta/runner/concurrent.rb +17 -0
  39. data/lib/raysetta/runner/processes.rb +26 -0
  40. data/lib/raysetta/runner/ractors.rb +32 -0
  41. data/lib/raysetta/runner/sync.rb +28 -0
  42. data/lib/raysetta/runner/threads.rb +26 -0
  43. data/lib/raysetta/runner.rb +45 -0
  44. data/lib/raysetta/scatter.rb +12 -0
  45. data/lib/raysetta/scene.rb +205 -0
  46. data/lib/raysetta/texture/base.rb +19 -0
  47. data/lib/raysetta/texture/checker.rb +55 -0
  48. data/lib/raysetta/texture/image.rb +57 -0
  49. data/lib/raysetta/texture/noise.rb +46 -0
  50. data/lib/raysetta/texture/solid_color.rb +36 -0
  51. data/lib/raysetta/tracer.rb +43 -0
  52. data/lib/raysetta/util.rb +38 -0
  53. data/lib/raysetta/vec2.rb +125 -0
  54. data/lib/raysetta/vec3.rb +214 -0
  55. data/lib/raysetta/version.rb +5 -0
  56. data/lib/raysetta.rb +44 -0
  57. data/mise.toml +2 -0
  58. data/scenes/box.json +26 -0
  59. data/scenes/cornell.json +108 -0
  60. data/scenes/cubemap.json +109 -0
  61. data/scenes/dumb.json +58 -0
  62. data/scenes/earth.json +79 -0
  63. data/scenes/example.json +11712 -0
  64. data/scenes/perlin.json +2126 -0
  65. data/scenes/quads.json +38 -0
  66. data/scenes/simple_light.json +2126 -0
  67. data/scenes/testcube.json +113 -0
  68. data/sig/raysetta/aabb.rbs +39 -0
  69. data/sig/raysetta/background/base.rbs +11 -0
  70. data/sig/raysetta/background/cube_map.rbs +9 -0
  71. data/sig/raysetta/background/gradient.rbs +10 -0
  72. data/sig/raysetta/background/solid.rbs +9 -0
  73. data/sig/raysetta/background/sphere_map.rbs +9 -0
  74. data/sig/raysetta/camera.rbs +41 -0
  75. data/sig/raysetta/entity_base.rbs +12 -0
  76. data/sig/raysetta/hit.rbs +21 -0
  77. data/sig/raysetta/image.rbs +13 -0
  78. data/sig/raysetta/interval.rbs +36 -0
  79. data/sig/raysetta/material/base.rbs +11 -0
  80. data/sig/raysetta/material/dielectric.rbs +15 -0
  81. data/sig/raysetta/material/diffuse_light.rbs +12 -0
  82. data/sig/raysetta/material/lambertian.rbs +10 -0
  83. data/sig/raysetta/material/metal.rbs +11 -0
  84. data/sig/raysetta/object/base.rbs +15 -0
  85. data/sig/raysetta/object/box.rbs +13 -0
  86. data/sig/raysetta/object/bvh.rbs +23 -0
  87. data/sig/raysetta/object/group.rbs +16 -0
  88. data/sig/raysetta/object/moving_sphere.rbs +15 -0
  89. data/sig/raysetta/object/quad.rbs +26 -0
  90. data/sig/raysetta/object/sphere.rbs +14 -0
  91. data/sig/raysetta/object/tri.rbs +15 -0
  92. data/sig/raysetta/output/base.rbs +15 -0
  93. data/sig/raysetta/output/png.rbs +8 -0
  94. data/sig/raysetta/output/ppm.rbs +7 -0
  95. data/sig/raysetta/perlin.rbs +19 -0
  96. data/sig/raysetta/ray.rbs +18 -0
  97. data/sig/raysetta/runner/base.rbs +15 -0
  98. data/sig/raysetta/runner/concurrent.rbs +10 -0
  99. data/sig/raysetta/runner/processes.rbs +9 -0
  100. data/sig/raysetta/runner/ractors.rbs +11 -0
  101. data/sig/raysetta/runner/sync.rbs +11 -0
  102. data/sig/raysetta/runner/threads.rbs +9 -0
  103. data/sig/raysetta/runner.rbs +5 -0
  104. data/sig/raysetta/scatter.rbs +8 -0
  105. data/sig/raysetta/scene.rbs +69 -0
  106. data/sig/raysetta/texture/base.rbs +11 -0
  107. data/sig/raysetta/texture/checker.rbs +15 -0
  108. data/sig/raysetta/texture/image.rbs +11 -0
  109. data/sig/raysetta/texture/noise.rbs +13 -0
  110. data/sig/raysetta/texture/solid_color.rbs +10 -0
  111. data/sig/raysetta/tracer.rbs +16 -0
  112. data/sig/raysetta/util.rbs +15 -0
  113. data/sig/raysetta/vec2.rbs +48 -0
  114. data/sig/raysetta/vec3.rbs +67 -0
  115. data/sig/raysetta.rbs +6 -0
  116. data/sig/stdlib/chunky_png.rbs +24 -0
  117. data/sig/stdlib/etc.rbs +3 -0
  118. data/sig/stdlib/json.rbs +3 -0
  119. data/sig/stdlib/optparse.rbs +4 -0
  120. data/sig/stdlib/parallel.rbs +5 -0
  121. data/sig/stdlib/progress.rbs +5 -0
  122. metadata +206 -0
metadata ADDED
@@ -0,0 +1,206 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: raysetta
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Danielle Smith
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: progress
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '3.6'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '3.6'
26
+ - !ruby/object:Gem::Dependency
27
+ name: chunky_png
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.4'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.4'
40
+ - !ruby/object:Gem::Dependency
41
+ name: parallel
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.0'
54
+ description: A raytracer written in Ruby. Part of the Raysetta project
55
+ email:
56
+ - danielle.smith@platform45.com
57
+ executables:
58
+ - raysetta
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - LICENSE.txt
63
+ - README.md
64
+ - Rakefile
65
+ - Steepfile
66
+ - exe/raysetta
67
+ - lib/raysetta.rb
68
+ - lib/raysetta/aabb.rb
69
+ - lib/raysetta/background/base.rb
70
+ - lib/raysetta/background/cube_map.rb
71
+ - lib/raysetta/background/gradient.rb
72
+ - lib/raysetta/background/solid.rb
73
+ - lib/raysetta/background/sphere_map.rb
74
+ - lib/raysetta/camera.rb
75
+ - lib/raysetta/entity_base.rb
76
+ - lib/raysetta/exe.rb
77
+ - lib/raysetta/hit.rb
78
+ - lib/raysetta/image.rb
79
+ - lib/raysetta/interval.rb
80
+ - lib/raysetta/material/base.rb
81
+ - lib/raysetta/material/dielectric.rb
82
+ - lib/raysetta/material/diffuse_light.rb
83
+ - lib/raysetta/material/lambertian.rb
84
+ - lib/raysetta/material/metal.rb
85
+ - lib/raysetta/object/base.rb
86
+ - lib/raysetta/object/box.rb
87
+ - lib/raysetta/object/bvh.rb
88
+ - lib/raysetta/object/group.rb
89
+ - lib/raysetta/object/moving_sphere.rb
90
+ - lib/raysetta/object/quad.rb
91
+ - lib/raysetta/object/sphere.rb
92
+ - lib/raysetta/object/tri.rb
93
+ - lib/raysetta/output/base.rb
94
+ - lib/raysetta/output/png.rb
95
+ - lib/raysetta/output/ppm.rb
96
+ - lib/raysetta/perlin.rb
97
+ - lib/raysetta/ray.rb
98
+ - lib/raysetta/runner.rb
99
+ - lib/raysetta/runner/base.rb
100
+ - lib/raysetta/runner/concurrent.rb
101
+ - lib/raysetta/runner/processes.rb
102
+ - lib/raysetta/runner/ractors.rb
103
+ - lib/raysetta/runner/sync.rb
104
+ - lib/raysetta/runner/threads.rb
105
+ - lib/raysetta/scatter.rb
106
+ - lib/raysetta/scene.rb
107
+ - lib/raysetta/texture/base.rb
108
+ - lib/raysetta/texture/checker.rb
109
+ - lib/raysetta/texture/image.rb
110
+ - lib/raysetta/texture/noise.rb
111
+ - lib/raysetta/texture/solid_color.rb
112
+ - lib/raysetta/tracer.rb
113
+ - lib/raysetta/util.rb
114
+ - lib/raysetta/vec2.rb
115
+ - lib/raysetta/vec3.rb
116
+ - lib/raysetta/version.rb
117
+ - mise.toml
118
+ - scenes/box.json
119
+ - scenes/cornell.json
120
+ - scenes/cubemap.json
121
+ - scenes/dumb.json
122
+ - scenes/earth.json
123
+ - scenes/example.json
124
+ - scenes/perlin.json
125
+ - scenes/quads.json
126
+ - scenes/simple_light.json
127
+ - scenes/testcube.json
128
+ - sig/raysetta.rbs
129
+ - sig/raysetta/aabb.rbs
130
+ - sig/raysetta/background/base.rbs
131
+ - sig/raysetta/background/cube_map.rbs
132
+ - sig/raysetta/background/gradient.rbs
133
+ - sig/raysetta/background/solid.rbs
134
+ - sig/raysetta/background/sphere_map.rbs
135
+ - sig/raysetta/camera.rbs
136
+ - sig/raysetta/entity_base.rbs
137
+ - sig/raysetta/hit.rbs
138
+ - sig/raysetta/image.rbs
139
+ - sig/raysetta/interval.rbs
140
+ - sig/raysetta/material/base.rbs
141
+ - sig/raysetta/material/dielectric.rbs
142
+ - sig/raysetta/material/diffuse_light.rbs
143
+ - sig/raysetta/material/lambertian.rbs
144
+ - sig/raysetta/material/metal.rbs
145
+ - sig/raysetta/object/base.rbs
146
+ - sig/raysetta/object/box.rbs
147
+ - sig/raysetta/object/bvh.rbs
148
+ - sig/raysetta/object/group.rbs
149
+ - sig/raysetta/object/moving_sphere.rbs
150
+ - sig/raysetta/object/quad.rbs
151
+ - sig/raysetta/object/sphere.rbs
152
+ - sig/raysetta/object/tri.rbs
153
+ - sig/raysetta/output/base.rbs
154
+ - sig/raysetta/output/png.rbs
155
+ - sig/raysetta/output/ppm.rbs
156
+ - sig/raysetta/perlin.rbs
157
+ - sig/raysetta/ray.rbs
158
+ - sig/raysetta/runner.rbs
159
+ - sig/raysetta/runner/base.rbs
160
+ - sig/raysetta/runner/concurrent.rbs
161
+ - sig/raysetta/runner/processes.rbs
162
+ - sig/raysetta/runner/ractors.rbs
163
+ - sig/raysetta/runner/sync.rbs
164
+ - sig/raysetta/runner/threads.rbs
165
+ - sig/raysetta/scatter.rbs
166
+ - sig/raysetta/scene.rbs
167
+ - sig/raysetta/texture/base.rbs
168
+ - sig/raysetta/texture/checker.rbs
169
+ - sig/raysetta/texture/image.rbs
170
+ - sig/raysetta/texture/noise.rbs
171
+ - sig/raysetta/texture/solid_color.rbs
172
+ - sig/raysetta/tracer.rbs
173
+ - sig/raysetta/util.rbs
174
+ - sig/raysetta/vec2.rbs
175
+ - sig/raysetta/vec3.rbs
176
+ - sig/stdlib/chunky_png.rbs
177
+ - sig/stdlib/etc.rbs
178
+ - sig/stdlib/json.rbs
179
+ - sig/stdlib/optparse.rbs
180
+ - sig/stdlib/parallel.rbs
181
+ - sig/stdlib/progress.rbs
182
+ homepage: https://github.com/danini-the-panini/raysetta-ruby
183
+ licenses:
184
+ - MIT
185
+ metadata:
186
+ homepage_uri: https://github.com/danini-the-panini/raysetta-ruby
187
+ source_code_uri: https://github.com/danini-the-panini/raysetta-ruby
188
+ changelog_uri: https://github.com/danini-the-panini/raysetta-ruby/releases
189
+ rdoc_options: []
190
+ require_paths:
191
+ - lib
192
+ required_ruby_version: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: 3.0.0
197
+ required_rubygems_version: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ requirements: []
203
+ rubygems_version: 4.0.6
204
+ specification_version: 4
205
+ summary: Raysetta Ruby implementation
206
+ test_files: []