While it might not seem like much, I implemented an OpenGLPane.
It combines the previous thing I did where I implemented a easy-to-access rendering path, but it extends a StackPane element. This will allow me to use direct OpenGL calls to this pane, but it will respect all of the sizing/layouts of the UI system automatically.
The picture above represents an OpenGL pane ontop of the root pane (background), sized 100x100. It has a label inside of it, to show it’s not simply drawing ontop of the window.
Since the OpenGLPane is ultimately a descendant of the Node, it can be used anywhere they can be, such as as an element in a dropdown list, or as a graphic for a button, ect. I currently provide an example shader as part of the library, but it’s designed so that you can use any sort of shader/geometry/whatever, and it’ll then display it as a pane element.