Skip to content

Releases: bourgesl/marlin-renderer

Marlin-renderer 0.9.4.8 for JDK11+

15 Jan 17:00
005275b
Compare
Choose a tag to compare

Java.desktop system module patch for JDK 11 to 21... providing the Marlin Renderer 0.9.4.8 !
I decided to stop maintaining jdk8 builds, for the 10 years of this project: first release in 2014.2.

The Marlin-renderer 0.9.4.8 release provides one bug fix, integrated in jdk 21:

Release v0.9.4.8 (build 2024/01/15):

  • marlin-0.9.4.8-Unsafe-OpenJDK11.jar (module patch)

Usage:
java --patch-module java.desktop=<path>/marlin-0.9.4.8-Unsafe-OpenJDK11.jar ...

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin Renderer & Free Java (OpenJDK),
Let's save our planet: be smart and energy efficient !

Laurent Bourgès

Marlin-renderer 0.9.4.7 for JDK8

26 May 09:29
Compare
Choose a tag to compare

This is the Marlin-renderer 0.9.4.7 release providing one bug & one performance fix:

This release only provides the Marlin double-precision pipeline and uses the sun.java2d.marlin package (-Xbootclasspath/p: needed).
To enable the Marlin renderer on openjdk 8, just use the following option:
-Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine.

Release v0.9.4.7 (build 2023/05/26):

  • marlin-0.9.4.7-Unsafe.jar (RenderingEngine only)
  • marlin-0.9.4.7-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder. It includes D3D / OGL buffer tuning (1M) to speed up blending on volatile images

Compatible with OpenJDK 8 only.

All regression tests passed successfully.

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin Renderer,
Let's preserve our Planet: Be Smart and more Energy Efficient!

Laurent Bourgès

Marlin-renderer 0.9.4.7 for JDK11+

26 May 09:06
Compare
Choose a tag to compare

Java.desktop system module patch for JDK 11 to 21... providing the Marlin Renderer 0.9.4.7 !

The Marlin-renderer 0.9.4.7 release provides one bug & one performance fix:

Release v0.9.4.7 (build 2023/05/26):

  • marlin-0.9.4.7-Unsafe-OpenJDK11.jar (module patch)

Usage:
java --patch-module java.desktop=<path>/marlin-0.9.4.7-Unsafe-OpenJDK11.jar ...

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin Renderer & OpenJDK,
Let's save our planet: be smart and energy efficient !

Laurent Bourgès

Marlin-renderer 0.9.4.5 for JDK11+

28 Oct 19:53
Compare
Choose a tag to compare

Java.desktop system module patch for JDK 11 to 17... providing the Marlin Renderer 0.9.4.5 !

The Marlin-renderer 0.9.4.5 release provides bug fixes on Marlin's path clipper:

  • removed simple-precision (float) variant
  • improved Stroker to handle huge coordinates, up to 1E15
  • improved PathClipFilter (filler) to handle huge coordinates, up to 1E15

Release v0.9.4.5 (build 2021/10/28):

  • marlin-0.9.4.5-Unsafe-OpenJDK11.jar (module patch)

Usage:
java --patch-module java.desktop=<path>/marlin-0.9.4.5-Unsafe-OpenJDK11.jar ...

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's save our planet: be smart and energy efficient,
Laurent

Marlin-renderer 0.9.4.5 for JDK8

28 Oct 22:34
Compare
Choose a tag to compare

This is the Marlin-renderer 0.9.4.5 release providing bug fixes on Marlin's path clipper:

  • removed simple-precision (float) variant
  • improved Stroker to handle huge coordinates, up to 1E15
  • improved PathClipFilter (filler) to handle huge coordinates, up to 1E15

This release only provides the Marlin double-precision pipeline and uses the sun.java2d.marlin package (-Xbootclasspath/p: needed).
To enable the Marlin renderer, just use the following option: -Dsun.java2d.renderer=sun.java2d.marlin.DMarlinRenderingEngine.

Release v0.9.4.5 (build 2021/10/29):

  • marlin-0.9.4.5-Unsafe.jar (RenderingEngine only)
  • marlin-0.9.4.5-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder. It includes D3D / OGL buffer tuning (1M) to speed up blending on volatile images

Compatible with OpenJDK 8 only.

All regression tests passed successfully.

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's preserve our Planet: Be Smart and more Energy Efficient,
Laurent

Marlin-renderer 1.0.0 EA b3

25 Oct 13:08
Compare
Choose a tag to compare
Pre-release

This is the Marlin-renderer 1.0.0 Early Access release 2 release providing better curve rendering i.e. stroke width along the quad / cubic curves is more accurate.

Bug fixes on Marlin's path clipper:

  • improved Stroker to handle huge coordinates, up to 1E15
  • improved PathClipFilter (filler) to handle huge coordinates, up to 1E15

Release v1.0.0-EA (build 2021/10/25):

  • marlin-1.0.0-EA-Unsafe.jar (RenderingEngine only)
  • marlin-1.0.0-EA-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter)
  • marlin-1.0.0-EA-Unsafe-test.jar: it provides the DrawCurveApplication GUI (java -jar marlin-1.0.0-EA-Unsafe-test.jar to run it)

Tested on Oracle & OpenJDK 8.

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's save our planet: be smart and energy efficient,
Laurent

Marlin-renderer 0.9.5 EA build 3

25 Oct 13:06
Compare
Choose a tag to compare
Pre-release

This early-access release of Marlin 0.9.5 provides the new Marlin compositor (2020 July 21) to improve alpha color blending.

Bug fixes on Marlin's path clipper:

  • improved Stroker to handle huge coordinates, up to 1E15
  • improved PathClipFilter (filler) to handle huge coordinates, up to 1E15

Release v0.9.5.0-EA (build 2021/10/25):

  • marlin-0.9.5-EA-Unsafe.jar (RenderingEngine only)
  • marlin-0.9.5-EA-Unsafe-sun-java2d.jar (patched sun.java2d.pipe + new Marlin compositor code, highly integrated into java2d pipeline & SunGraphics2D class), required for the new Marlin compositor

Only tested on OpenJDK 8.

All regression tests passed successfully.

Please really try & give your your feedback !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's preserve our Planet: Be Smart and more Energy Efficient,
Laurent

Marlin-renderer 0.9.5 EA build 2

21 Jul 20:02
Compare
Choose a tag to compare
Pre-release

This early-access release of Marlin 0.9.5 provides the new Marlin compositor (2020 July 21) to improve alpha color blending: in 2020 it definitely changes how java2d processes colors (sRGB directly) to adopt a new approach:

  • gamma correction (using sRGB profile)
  • perform contrast correction based on sRGB or L* profiles (from CIE Luv) by adjusting alpha values to fix dark shades over bright background that look lighter with gamma correction
    For history, java2d directly mixes colors on sRGB values (no gamma correction at all): that's wrong, brightness is a physical process.

This release provides many more settings, especially the compositor.mode (linear / hybrid by default / perceptual) to only fix dark over bright shades: lighter shades are using linear mode, darker shades are using the perceptual mode (sRGB or L* depending on the blend.gamma and the fix setting : contrast or contrastL)...
Too many possibilities but the default settings are good for general use, see:

INFO: Marlin Compositor (Java implementation of correct alpha compositing)
INFO: Marlin Compositor: sun.java2d.renderer.compositor = true
INFO: Marlin Compositor: sun.java2d.renderer.gamma = 2.4
INFO: Marlin Compositor: sun.java2d.renderer.compositor.mode = perceptual
INFO: Marlin Compositor: sun.java2d.renderer.compositor.fix = hybrid
INFO: Marlin Compositor: sun.java2d.renderer.compositor.quality = false
INFO: Marlin Compositor: sun.java2d.renderer.compositor.speed = true
INFO: Marlin Compositor: sun.java2d.renderer.compositor.speed.color = true
INFO: Marlin Compositor: sun.java2d.renderer.blend.gamma = 2.4
INFO: Marlin Compositor: sun.java2d.renderer.contrast = 1.0
INFO: Marlin Compositor: Gamma correction only supports following surface types [IntArgb].
INFO: Marlin Compositor: Premultiplied formats [IntArgbPre] are working but not premultiplied (bad for alpha != 255).
INFO: Marlin Compositor advanced blending mode: gamma_sRGB_speed_mode_perceptual_contrast_1.0_lumaY_lerp_sRGB

See the latest comparison: https://bourgesl.github.io/gamma-correction/GRID_FONT.final/index.html

For now, this compositor is only implemented and enabled on INT_ARGB (non pre) images AND only supports Color blending (not general paints like gradient, texture paints) AND the SRC_OVER alpha composite. Other image types or paints or composite modes will be supported later. Of course, previous java2d pipeline stay in action if the Marlin compositor does not support any operation and have the previous rendering.

Release v0.9.5.0-EA (build 2020/07/21):

  • marlin-0.9.5-EA-Unsafe.jar (RenderingEngine only)
  • marlin-0.9.5-EA-Unsafe-sun-java2d.jar (patched sun.java2d.pipe + new Marlin compositor code, highly integrated into java2d pipeline & SunGraphics2D class), required for the new Marlin compositor

Only tested on OpenJDK 8.

All regression tests passed successfully.

Please really try & give your your feedback !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's preserve our Planet: Be Smart and more Energy Efficient,
Laurent

Marlin-renderer 0.9.5 EA build 1

03 Jul 20:12
Compare
Choose a tag to compare
Pre-release

This early-access release of Marlin 0.9.5 provides the new Marlin compositor to improve alpha color blending: in 2020 it definitely changes how java2d processes colors (sRGB directly) to adopt a new approach:

  • gamma correction (using sRGB profile)
  • perform linear interpolation in L* (from CIE Luv) by adjusting alpha values using a new contrastL correction to take into account the Luma Y (how colors are perceptually bright).
    For history, java2d directly mixes colors on sRGB values (no gamma correction at all).

See the latest comparison: https://bourgesl.github.io/gamma-correction/GRID_FONT.4/index.html

For now, this compositor is only implemented and enabled on INT_ARGB (non pre) images AND only supports Color blending (not general paints like gradient, texture paints) AND the SRC_OVER alpha composite. Other image types or paints or composite modes will be supported later. Of course, previous java2d pipeline stay in action if the Marlin compositor does not support any operation and have the previous rendering.

Release v0.9.5.0-EA (build 2020/07/03):

  • marlin-0.9.5-EA-Unsafe.jar (RenderingEngine only)
  • marlin-0.9.5-EA-Unsafe-sun-java2d.jar (patched sun.java2d.pipe + new Marlin compositor code, highly integrated into java2d pipeline & SunGraphics2D class)

Only tested on OpenJDK 8.

All regression tests passed successfully.

Please really try & give your your feedback !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's preserve our Planet: Be Smart and more Energy Efficient,
Laurent

Marlin-renderer 0.9.4.3

13 Jan 09:46
Compare
Choose a tag to compare

This is the Marlin-renderer 0.9.4.3 release providing few bug / enhancement fixes in the MarlinRenderingEngine:

  • #37: Update DPQS to latest OpenJDK 14 patch
  • #38: Improve cubic curve offset computation

Release v0.9.4.3 (build 2020/01/12):

  • marlin-0.9.4.3-Unsafe.jar (RenderingEngine only)
  • marlin-0.9.4.3-Unsafe-sun-java2d.jar (patched sun.java2d.AAShapePipe / RenderQueue + imageio PNGImageWriter): ~ 5 to 10% faster (multi-threading) and 50% faster PNG encoder. It includes D3D / OGL buffer tuning (1M) to speed up blending on volatile images

Compatible with OpenJDK JDK 1.6, 1.7, 1.8 and the Marlin-graphics library.

All regression tests passed successfully.

Please give your your feedback, as usual !

You can also post your questions or comments on the forum:
https://groups.google.com/forum/#!topic/marlin-renderer/biSbzplNlOc

Enjoy the Marlin renderer,
Let's preserve our Planet: Be Smart and more Energy Efficient,
Laurent