Hi Pavl, thanks for the reply. You understand perfectly what I would like.
Do you know if the plugin still works? I took a look at the source code, and it’s a really ambitious and brilliant project. It should certainly be recovered for the benefit of the community.
At the moment I use the online editors to practice the shading language and then convert everything into j3md, vert and frag files. However, this method of work takes a lot of time. I would like to optimize development times. For example, how can I add the Fresnel effect to a PBR Material without having to duplicate all the native .frag code? Is there any way to pass parameters to a method / node / function like in the video?
Well, JME have Shader Nodes, but i didnt seen any PBR remake in it.
SDK had shader nodes tool that did work, but i would like use separate tool if there would any exist.
Blender i heard its not strict Shader Node, but its not problem to create custom basic components that reflect Blender, problem is to have more advanced components like pbr/etc in nodes there. (or maybe i just dont know there is written for .j3sn)
Some things like texture i belive you could pin via j3sn into pbr frag, but i never try so im unsure
Anyway it would be nice if some Blender export would exist. (oh it would save much work i did for characters)
I have re-maintained jmb recently but revived an older version 0.9.10, i am currently doing bug fixes on it (including a good threading model), if you want to add the feature on the new re-maintained version i will welcome it (you will need to build a plugin system that accept the abstraction layer of jmb shaders) :
Sadly I don’t think there’s currently a functional visual shader editor for jme. There were some attempts, but at least the shader node editor for sdk never really worked to any usable capacity.
While visual editors are important for prototyping, at the end of the day, you’ll probably want to convert node graphs into a code based shader manually for performance reasons. At least that’s the case for Unity’s shadergraph, as last time I checked it spewed out a 2k line shader for something I rewrote manually into a 100-200 line shader.
A simple jme project to share on github, with an animated model and a static model to quickly test small changes to the j3md file without having to restart the application every time (perhaps using the MaterialDebugAppState class). Something like that, but without the graphic editor.
Due to closure of jcenter (+ the original author is registering broken libs on the gradle file) and unreadable code at some parts of build.gradle, i cannot revive jmb-1.8.0, and i had to roll back to an ANT version which is 0.9.10…so then i converted to simple gradle with jme being only the remote dependencies so i ensure nothing would vanish out one day.
well, if you will make really nice ShaderNode editor that support PBR/etc i might use it myself then.
(since jMonkeyBuilder was pre-pbr as i know, where i need just adjust pbr shader with mixes/etc on it)
did check this shaderfrog, but it seems to be too simple, no advanced components there, and had some error without description what is wrong. Or maybe need account there to see more things, idk.
Shadertoy is not Shader Node based as i know, at least i never seen its editor for nodes.
Well, thank you, i will add it to my features milestone, i may start a features milestone after fixing the major bugs and migrating from bullet-native, i am in need to the help of the community to build a good thing, i will let you know when i start the implementation process !
Keep in mind, the idea of “shader nodes” is built right into the engine, meaning composeable wireable shaders. The editor was just a graphical way of editing them but it was just manipulating the “shader pieces” support that was added to the engine.
What would be nice is two things: 1) a set of PBR-based shader nodes (or even one PBR shader node like Blender’s giant BRDF node), 2) a usable graphic editor for JME’s built in shader nodes.
I’ve never looked at jmb so I don’t know what approach it took but hopefully it reused the built-in functionality and just put an editor on top of it.
Thanks for the info, i haven’t touched Alex’s jmb shader nodes plugin yet, and my current version of jmb doesn’t support jmb plugins, so there are high possibilities that i am going to build the shader node editor from scratch on top of the current version, so if you have a good pattern to suggest let me know.
jmb-shader-nodes build uses jMonkeyBuilder as a dependency, so i believe its broken too.
Conceptually, It’s just jfx Nodes and Geoms bounded to jfx Controllers (listenable objects) that display thr j3sn file content of different shader files, this is what i would normally think of when seeing the images.
EDIT : but the fact that jmb-shader-nodes uses jMonkeyBuilder as a dependency, raises the suspicion that the plugins api was built as a core feature inside jMonkeyBuilder !
I tried the SDK’s built-in shader editor. I have to say it’s not bad. It’s not as intuitive as others, and requires you to understand how the grammar is designed in order to create new function nodes. But it exists and this is already a great advantage.
Should be expanded with other j3sn nodes. I need the help of someone more experienced to understand how to write a PBR component like the one in Unity. Can someone help me?
Whatever the case, if the “path to enhancing shader nodes UI” is not documented then the next guy will come along and write his own, get it almost to the point of where the current ones are, then abandon it, etc…
Everyone always wants to dive into the “new hotness” without spending even a minute looking at what’s already there if it isn’t push-button ready. It’s unfortunate. (I fall into this trap all the time myself so I’m not being critical just pointing out an unfortunate truth.)
The SDK version needs a hero that will spend an hour or two trying to build the SDK and either document the process or document the issues.
…though honestly, I think the biggest issue with the SDK shader nodes is that it doesn’t have a PBR j3sn and some other quality of life j3sn defs… and that’s something that would benefit any shader nodes editor (or even those who just want to compose a shader in code).
The barrier of entry for that is significantly lower as you shouldn’t need to build the SDK just to implement those, I think.
I rather spend those hours on jfx and learn the design pattern of a simple desktop software, maybe that is my opinion, but you are right everything needs to be documented properly (i have intentions to build a simple wiki for jmb).