All Projects → bourgesl → Marlin Renderer

bourgesl / Marlin Renderer

Licence: gpl-2.0
Marlin is the FAST Java2D antialiasing rasterizer derived from OpenJDK Pisces (shape)

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Marlin Renderer

Torchlayers
Shape and dimension inference (Keras-like) for PyTorch layers and neural networks
Stars: ✭ 527 (+260.96%)
Mutual labels:  shape
Flutter Neumorphic
A complete, ready to use, Neumorphic ui kit for Flutter, 🕶️ dark mode compatible
Stars: ✭ 988 (+576.71%)
Mutual labels:  shape
Sketch Make Long Shadow
A plugin for Sketch to create long shadows of a user defined length from a shape.
Stars: ✭ 92 (-36.99%)
Mutual labels:  shape
Vue Konva
Vue & Canvas - JavaScript library for drawing complex canvas graphics using Vue.
Stars: ✭ 682 (+367.12%)
Mutual labels:  shape
Animeavataar
creating Anime Avataar from a facial image
Stars: ✭ 31 (-78.77%)
Mutual labels:  shape
View shaper
A library to help create shaped views and layouts in Android
Stars: ✭ 42 (-71.23%)
Mutual labels:  shape
Azure Design
Here you will find my complete Azure Visio Stencil and bonus SVG and PNG versions for all of the Azure Service and configuration items.
Stars: ✭ 470 (+221.92%)
Mutual labels:  shape
Shapeshifter
🐺 Generate relational schemas, PropTypes, Flow aliases, and TypeScript interfaces from JSON or GraphQL schematic files.
Stars: ✭ 105 (-28.08%)
Mutual labels:  shape
Built vector
Generate Flutter vector code from a subset of SVG files.
Stars: ✭ 33 (-77.4%)
Mutual labels:  shape
Ng2 Konva
Angular & Canvas - JavaScript library for drawing complex canvas graphics using Angular.
Stars: ✭ 78 (-46.58%)
Mutual labels:  shape
Konva
Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.
Stars: ✭ 6,985 (+4684.25%)
Mutual labels:  shape
Shapesinopengles2.0
Create basic shapes in opnegles2. And for abstraction purpose, its a class implementation using VBO's to create basic shapes in Open GLES2.0
Stars: ✭ 20 (-86.3%)
Mutual labels:  shape
Morphi
Shapes for SwiftUI ♡☾
Stars: ✭ 54 (-63.01%)
Mutual labels:  shape
Texture Vs Shape
Pre-trained models, data, code & materials from the paper "ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness" (ICLR 2019 Oral)
Stars: ✭ 556 (+280.82%)
Mutual labels:  shape
Shapes
📐 Net standard geometry/shape manipulation library, can be used to merge / split shapes
Stars: ✭ 95 (-34.93%)
Mutual labels:  shape
Shape based matching
try to implement halcon shape based matching, refer to machine vision algorithms and applications, page 317 3.11.5, written by halcon engineers
Stars: ✭ 496 (+239.73%)
Mutual labels:  shape
Rwidgethelper
Android UI 快速开发,专治原生控件各种不服
Stars: ✭ 996 (+582.19%)
Mutual labels:  shape
Androidutillib
🔥 旨在打造一款属于Android开发的强大工具库:内置各种开发必备工具类、Dialog封装、组件重写等
Stars: ✭ 143 (-2.05%)
Mutual labels:  shape
Sketch React
render sketch(v43+) file as react component
Stars: ✭ 98 (-32.88%)
Mutual labels:  shape
Phidl
Python GDS layout and CAD geometry creation
Stars: ✭ 56 (-61.64%)
Mutual labels:  shape

Marlin-renderer

Marlin is an open source (GPL2 + CP) Java2D RenderingEngine optimized for performance (improved memory usage (~ no GC) and footprint, better multi-threading) and better visual quality based on openjdk's pisces implementation. It handles shape rendering (Graphics2D draw(Shape) / fill(Shape) with stroke & dash attributes only but it does it very well !

Release history

Latest release: https://github.com/bourgesl/marlin-renderer/releases/latest

JDK Default renderer Available Marlin release
Oracle JDK 6 - 8 Ductus Marlin-renderer 0.9.4.3
Open JDK 6 - 8 Pisces Marlin-renderer 0.9.4.3
Azul Zulu 8.20+ Marlin 0.7.4 / 0.9.1.1 Marlin 0.9.1.1 integrated in 2018.12, Marlin-renderer 0.9.4.3
Jetbrains JDK 8 Marlin 0.7.4 / 0.9.3 Marlin 0.9.3 integrated in 2018.09, Marlin-renderer 0.9.4.3
Open JDK 9 Marlin 0.7.4 Marlin-renderer 0.9.4.2 for JDK9+
Open JDK 10 Marlin 0.8.2 Marlin-renderer 0.9.4.2 for JDK9+
Open JDK 11 Marlin 0.9.1 Marlin-renderer 0.9.4.2 for JDK9+
Open JDK 11.0.2 Marlin 0.9.1.1 Marlin-renderer 0.9.4.2 for JDK9+
Open JDK 12 Marlin 0.9.1.1 Marlin-renderer 0.9.4.2 for JDK9+
Open JDK 13 Marlin 0.9.1.1 Marlin-renderer 0.9.4.2 for JDK9+
Open JDK 14 (EA) Marlin 0.9.1.3 Marlin-renderer 0.9.4.2 for JDK9+

For JavaFX, see the Marlin-FX project

News

  • aug 2019: Marlin 0.9.1.2 integrated in OpenJDK 14
  • jul 2019: MarlinFX 0.9.3.1 integrated in OpenJFX 14, backported in OpenJFX 13
  • oct 2018: MarlinFX 0.9.3 integrated in OpenJFX 12
  • oct 2018: Marlin 0.9.1.1 backported to OpenJDK 11 updates (11.0.2)
  • sep 2018: Marlin 0.9.1.1 integrated in OpenJDK 12
  • jun 2018: MarlinFX 0.9.2 integrated in OpenJFX 11
  • apr 2018: Marlin 0.9.1 integrated in OpenJDK 11
  • dec 2017: Marlin & MarlinFX 0.8.2 integrated in OpenJDK & OpenJFX 10
  • nov 2017: Marlin rocks on Geoserver benchmarks: see geoserver (including Marlin 0.8.2) vs geoserver-jai results: it boosts geoserver to achieve MapServer performance !!
  • My personal point of view after javaone: it is your turn to contribute to OpenJDK & OpenJFX: see openjdk thread
  • 4 oct 2017: JavaOne talk slides: Marlin, a JDK9 Success Story: Vector Graphics on Steroids for Java 2D and JavaFX
  • may 2017: Marlin & MarlinFX 0.7.5 integrated in OpenJFX10 (enabled by default)
  • feb 2017: Blog post comparing Oracle ductus vs OpenJDK Marlin renderers (latency) Performance Rendered Visual
  • nov 2016: MarlinFX 0.7.5 integrated in OpenJFX9
  • jul 2016: Marlin integrated in Jetbrains OpenJDK8 build and running in IntelliJ IDEA 2016.3
  • feb 2016: FOSDEM talk slides Marlin renderer, a successful fork and join the OpenJDK 9 project
  • dec 2015: Marlin 0.7.4 integrated in OpenJDK9

Build status

Continuous Integration by Travis CI (build + unit & integration tests):

  • Branch unsafe-dev (jdk6-8):
build status * Branch use_Unsafe (jdk6-8): build status * Branch jdk (jdk9+): build status

License

As marlin is a fork from OpenJDK 8 pisces, its license is the OpenJDK's license = GPL2 + ClassPath exception:

GNU General Public License, version 2, with the Classpath Exception

The GNU General Public License (GPL)

Version 2, June 1991

See License.md

Performance

See the Benchmarks

Documentation

Documentation on how to use and tune the Marlin renderer is available in the wiki

Help is needed to improve the wiki & documentation !

Getting in touch

Users and developers interested in the Marlin-renderer are kindly invited to join the marlin-renderer Google Group.

Contributing

Contributions are welcomed, get in touch with us on the marlin-renderer Google Group and share your improvements via pull requests. Since we contribute this renderer into OpenJDK, we accept contributions from people that have signed the Oracle Contribution Agreeement (very easy to do)

Support our work

To support my efforts on improving either Java2D or JavaFX rendering thanks to the Marlin & MarlinFX projects, please contribute to the gofundme campaign 'Marlin renderer 0.9 dev & FX port': https://www.gofundme.com/marlin-09 or for long-term support, you can become my patron: https://www.patreon.com/user?u=9339017

Please help if you appreciate the Marlin project:

  • share your benchmark & test results (quality ?)
  • improve test cases, quality & unit tests, submit bug reports
  • documentation should be improved & updated

Related projects

  • Mapbench provides testing & benchmarking tools based on real world map painted by the GeoServer
  • Marlin-FX provides the Marlin renderer port into JavaFX Prism (shape rasterizer)

Acknowledgments:

The Marlin renderer project benefits from the following tools:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].