Hello everyone,
I’m excited to share a prototype that streamlines material editing within the 3D modeling environment. This approach leverages Java Swing to create custom windows and graphic components directly inside a running BaseAppState.
Here’s the breakdown:
- Injected BaseAppState: By injecting the BaseAppState into the scene, we gain access to the application’s core functionalities.
- Reflection & Unsafe for Scene Manipulation:
Reflection
andsun.misc.Unsafe
mechanisms (used cautiously) provide access to the 3D scene tree, allowing for manipulation of materials and potentially other elements. - Advanced Material Editor: This approach paves the way for a more powerful Material Editor, potentially supporting new JSON and YAML material formats.
- Simplified Plugin Creation: The goal is to simplify plugin development for the SDK by lowering the learning curve for IDE tools.
Benefits:
- Enhanced Material Editing Experience: A more intuitive and feature-rich Material Editor.
- Streamlined Plugin Development: Easier creation of plugins for the SDK.
- Reduced Learning Curve: Lower barrier to entry for developers working with the IDE.
Project Status and Next Steps:
This project is currently under development with a lot of potential for further exploration. If there’s interest from the community, I’d be happy to consider making it publicly available.
Feel free to share your thoughts and feedback!
Options Tab
Textures & Colors Tab
NB: To optimize the space occupied by the graphic components, the color of the buttons represents the color assigned to the material parameters.
Additional RenderState Tab
Here is the project I wrote to support json and yaml formats of Material in jme:
Explore the new JSON and YAML Materials