joonsrenderer 1.1-java → 1.3.1-java

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 (56) hide show
  1. checksums.yaml +5 -5
  2. data/.mvn/extensions.xml +1 -1
  3. data/.mvn/wrapper/MavenWrapperDownloader.java +117 -0
  4. data/.mvn/wrapper/maven-wrapper.properties +2 -0
  5. data/CHANGELOG.md +12 -1
  6. data/README.md +1 -1
  7. data/Rakefile +6 -1
  8. data/docs/Gemfile +2 -0
  9. data/docs/_config.yml +3 -0
  10. data/docs/_includes/header.html +1 -1
  11. data/docs/_includes/top.html +11 -0
  12. data/docs/_layouts/default.html +6 -15
  13. data/docs/_posts/2017-01-06-media.md +101 -0
  14. data/docs/_posts/2017-01-08-animated_ray_tracing.md +2 -2
  15. data/docs/_posts/2017-01-08-resources.md +14 -0
  16. data/docs/about.md +2 -2
  17. data/docs/assets/media_captured.png +0 -0
  18. data/docs/assets/media_rendered.png +0 -0
  19. data/joonsrenderer.gemspec +2 -2
  20. data/lib/commons.compiler/module-info.class +0 -0
  21. data/lib/commons.compiler/module-info.java +7 -0
  22. data/lib/janino/module-info.class +0 -0
  23. data/lib/janino/module-info.java +5 -0
  24. data/lib/joonsrenderer/version.rb +1 -1
  25. data/mvnw +310 -0
  26. data/mvnw.cmd +182 -0
  27. data/pom.rb +22 -22
  28. data/pom.xml +32 -17
  29. data/src/{test/java/a_maintest.java → a_maintest.java} +1 -1
  30. data/src/main/java/SunflowGUI.java +295 -351
  31. data/src/main/java/joons/JRFiller.java +15 -23
  32. data/src/main/java/joons/JoonsRenderer.java +6 -5
  33. data/src/main/java/org/sunflow/AsciiFileSunflowAPI.java +1 -1
  34. data/src/main/java/org/sunflow/BinaryFileSunflowAPI.java +1 -1
  35. data/src/main/java/org/sunflow/SunflowAPI.java +5 -5
  36. data/src/main/java/org/sunflow/core/GIEngine.java +3 -1
  37. data/src/main/java/org/sunflow/core/Geometry.java +1 -1
  38. data/src/main/java/org/sunflow/core/ImageSampler.java +3 -0
  39. data/src/main/java/org/sunflow/core/InstanceList.java +1 -1
  40. data/src/main/java/org/sunflow/core/IntersectionState.java +7 -6
  41. data/src/main/java/org/sunflow/core/ParameterList.java +3 -2
  42. data/src/main/java/org/sunflow/core/PhotonStore.java +1 -0
  43. data/src/main/java/org/sunflow/core/Ray.java +4 -3
  44. data/src/main/java/org/sunflow/core/TextureCache.java +1 -1
  45. data/src/main/java/org/sunflow/core/accel/BoundingIntervalHierarchy.java +1 -1
  46. data/src/main/java/org/sunflow/core/accel/KDTree.java +1 -1
  47. data/src/main/java/org/sunflow/core/photonmap/CausticPhotonMap.java +2 -2
  48. data/src/main/java/org/sunflow/core/photonmap/GlobalPhotonMap.java +2 -2
  49. data/src/main/java/org/sunflow/core/renderer/BucketRenderer.java +3 -1
  50. data/src/main/java/org/sunflow/image/writers/EXRBitmapWriter.java +28 -19
  51. data/src/main/java/org/sunflow/image/writers/PNGBitmapWriter.java +5 -0
  52. data/src/main/java/org/sunflow/image/writers/TGABitmapWriter.java +20 -14
  53. data/src/main/java/org/sunflow/system/BenchmarkFramework.java +2 -2
  54. data/src/main/java/org/sunflow/system/RenderGlobalsPanel.java +5 -4
  55. metadata +20 -8
  56. data/docs/_includes/head.html +0 -15
@@ -15,19 +15,23 @@ public class TGABitmapWriter implements BitmapWriter {
15
15
  private int width, height;
16
16
  private byte[] data;
17
17
 
18
+ @Override
18
19
  public void configure(String option, String value) {
19
20
  }
20
21
 
22
+ @Override
21
23
  public void openFile(String filename) throws IOException {
22
24
  this.filename = filename;
23
25
  }
24
26
 
27
+ @Override
25
28
  public void writeHeader(int width, int height, int tileSize) throws IOException, UnsupportedOperationException {
26
29
  this.width = width;
27
30
  this.height = height;
28
31
  data = new byte[width * height * 4]; // RGBA8
29
32
  }
30
33
 
34
+ @Override
31
35
  public void writeTile(int x, int y, int w, int h, Color[] color, float[] alpha) throws IOException {
32
36
  color = ColorEncoder.unlinearize(color); // gamma correction
33
37
  byte[] tileData = ColorEncoder.quantizeRGBA8(color, alpha);
@@ -43,21 +47,23 @@ public class TGABitmapWriter implements BitmapWriter {
43
47
  }
44
48
  }
45
49
 
50
+ @Override
46
51
  public void closeFile() throws IOException {
47
- // actually write the file from here
48
- OutputStream f = new BufferedOutputStream(new FileOutputStream(filename));
49
52
  // no id, no colormap, uncompressed 32bpp RGBA
50
- byte[] tgaHeader = {0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0};
51
- f.write(tgaHeader);
52
- // then the size info
53
- f.write(width & 0xFF);
54
- f.write((width >> 8) & 0xFF);
55
- f.write(height & 0xFF);
56
- f.write((height >> 8) & 0xFF);
57
- // bitsperpixel and filler
58
- f.write(32);
59
- f.write(0);
60
- f.write(data); // write image data bytes (already in BGRA order)
61
- f.close();
53
+ try ( // actually write the file from here
54
+ OutputStream f = new BufferedOutputStream(new FileOutputStream(filename))) {
55
+ // no id, no colormap, uncompressed 32bpp RGBA
56
+ byte[] tgaHeader = {0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0};
57
+ f.write(tgaHeader);
58
+ // then the size info
59
+ f.write(width & 0xFF);
60
+ f.write((width >> 8) & 0xFF);
61
+ f.write(height & 0xFF);
62
+ f.write((height >> 8) & 0xFF);
63
+ // bitsperpixel and filler
64
+ f.write(32);
65
+ f.write(0);
66
+ f.write(data); // write image data bytes (already in BGRA order)
67
+ }
62
68
  }
63
69
  }
@@ -8,8 +8,8 @@ import org.sunflow.system.UI.Module;
8
8
  */
9
9
  public class BenchmarkFramework {
10
10
 
11
- private Timer[] timers;
12
- private int timeLimit; // time limit in seconds
11
+ private final Timer[] timers;
12
+ private final int timeLimit; // time limit in seconds
13
13
 
14
14
  public BenchmarkFramework(int iterations, int timeLimit) {
15
15
  this.timeLimit = timeLimit;
@@ -64,6 +64,7 @@ public class RenderGlobalsPanel extends JTabbedPane {
64
64
 
65
65
  /**
66
66
  * Auto-generated main method to display this JPanel inside a new JFrame.
67
+ * @param args
67
68
  */
68
69
  public static void main(String[] args) {
69
70
  JFrame frame = new JFrame();
@@ -181,9 +182,9 @@ public class RenderGlobalsPanel extends JTabbedPane {
181
182
  jLabel5.setText("Min:");
182
183
  }
183
184
  {
184
- ComboBoxModel<String> minSamplingComboBoxModel = new DefaultComboBoxModel<String>(new String[]{
185
+ ComboBoxModel<String> minSamplingComboBoxModel = new DefaultComboBoxModel<>(new String[]{
185
186
  "Item One", "Item Two"});
186
- minSamplingComboBox = new JComboBox<String>();
187
+ minSamplingComboBox = new JComboBox<>();
187
188
  samplingPanel.add(minSamplingComboBox);
188
189
  minSamplingComboBox.setModel(minSamplingComboBoxModel);
189
190
  }
@@ -193,9 +194,9 @@ public class RenderGlobalsPanel extends JTabbedPane {
193
194
  jLabel6.setText("Max:");
194
195
  }
195
196
  {
196
- ComboBoxModel<String> maxSamplingComboxBoxModel = new DefaultComboBoxModel<String>(new String[]{
197
+ ComboBoxModel<String> maxSamplingComboxBoxModel = new DefaultComboBoxModel<>(new String[]{
197
198
  "Item One", "Item Two"});
198
- maxSamplingComboxBox = new JComboBox<String>();
199
+ maxSamplingComboxBox = new JComboBox<>();
199
200
  samplingPanel.add(maxSamplingComboxBox);
200
201
  maxSamplingComboxBox.setModel(maxSamplingComboxBoxModel);
201
202
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: joonsrenderer
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.1'
4
+ version: 1.3.1
5
5
  platform: java
6
6
  authors:
7
7
  - monkstone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-08 00:00:00.000000000 Z
11
+ date: 2021-01-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A realistic ray tracer for propane and JRubyArt
14
14
  email:
@@ -19,24 +19,29 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - ".gitignore"
21
21
  - ".mvn/extensions.xml"
22
+ - ".mvn/wrapper/MavenWrapperDownloader.java"
23
+ - ".mvn/wrapper/maven-wrapper.properties"
22
24
  - CHANGELOG.md
23
25
  - Gemfile
24
26
  - LICENSE
25
27
  - README.md
26
28
  - Rakefile
27
29
  - docs/.gitignore
30
+ - docs/Gemfile
28
31
  - docs/_config.yml
29
32
  - docs/_includes/footer.html
30
- - docs/_includes/head.html
31
33
  - docs/_includes/header.html
32
34
  - docs/_includes/icon-github.html
33
35
  - docs/_includes/icon-github.svg
34
36
  - docs/_includes/icon-twitter.html
35
37
  - docs/_includes/icon-twitter.svg
38
+ - docs/_includes/top.html
36
39
  - docs/_layouts/default.html
37
40
  - docs/_layouts/page.html
38
41
  - docs/_layouts/post.html
42
+ - docs/_posts/2017-01-06-media.md
39
43
  - docs/_posts/2017-01-08-animated_ray_tracing.md
44
+ - docs/_posts/2017-01-08-resources.md
40
45
  - docs/_posts/2017-01-08-welcome.md
41
46
  - docs/_sass/_base.scss
42
47
  - docs/_sass/_layout.scss
@@ -46,18 +51,27 @@ files:
46
51
  - docs/assets/Animation.png
47
52
  - docs/assets/basic.png
48
53
  - docs/assets/basic_traced.png
54
+ - docs/assets/media_captured.png
55
+ - docs/assets/media_rendered.png
49
56
  - docs/css/main.scss
50
57
  - docs/favicon.ico
51
58
  - docs/feed.xml
52
59
  - docs/index.html
53
60
  - joonsrenderer.gemspec
54
- - lib/commons-compiler-3.0.6.jar
55
- - lib/janino-3.0.6.jar
61
+ - lib/commons-compiler-3.1.3.jar
62
+ - lib/commons.compiler/module-info.class
63
+ - lib/commons.compiler/module-info.java
64
+ - lib/janino-3.1.3.jar
65
+ - lib/janino/module-info.class
66
+ - lib/janino/module-info.java
56
67
  - lib/joonsrenderer.jar
57
68
  - lib/joonsrenderer.rb
58
69
  - lib/joonsrenderer/version.rb
70
+ - mvnw
71
+ - mvnw.cmd
59
72
  - pom.rb
60
73
  - pom.xml
74
+ - src/a_maintest.java
61
75
  - src/main/java/SunflowGUI.java
62
76
  - src/main/java/joons/JRFiller.java
63
77
  - src/main/java/joons/JRImagePanel.java
@@ -272,7 +286,6 @@ files:
272
286
  - src/main/java/org/sunflow/util/FastHashMap.java
273
287
  - src/main/java/org/sunflow/util/FloatArray.java
274
288
  - src/main/java/org/sunflow/util/IntArray.java
275
- - src/test/java/a_maintest.java
276
289
  homepage: https://ruby-processing.github.io/joonsrenderer/
277
290
  licenses:
278
291
  - GPL-3.0
@@ -292,8 +305,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
305
  - !ruby/object:Gem::Version
293
306
  version: '0'
294
307
  requirements: []
295
- rubyforge_project:
296
- rubygems_version: 2.6.3
308
+ rubygems_version: 3.1.2
297
309
  signing_key:
298
310
  specification_version: 4
299
311
  summary: From Sketch to Ray Traced Image
@@ -1,15 +0,0 @@
1
- <head>
2
- <meta charset="utf-8">
3
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
- <meta name="viewport" content="width=device-width, initial-scale=1">
5
- {% if page.keywords %}
6
- <meta name="keywords" content="{{ page.keywords }}" />
7
- {% else %}
8
- <meta name="keywords" content="art, JRubyArt, code, blog, ruby" />
9
- {% endif %}<title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
10
- <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
11
-
12
- <link rel="stylesheet" href="https://ruby-processing.github.io/JRubyArt/css/main.css"/>
13
- <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.github.url | prepend: site.url }}">
14
- <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.github.url | prepend: site.url }}" />
15
- </head>