Sneak peek of the upcoming Node Material Editor ;D

when you work that help :slight_smile: i passed it maybe

1 Like

look for make simple code like
’ Simplex3D(WorldPosition * 100.0 )*0.5+0.5 ’ i take suffering in NME

then i need rotate WorldPosition in Y axias by camera direction for make float-able noise in ShaderBuilder i use

’ noise( r_y( wpos , atan(dot(camera , pos))) * 100.0 )*0.5+0.5 ’

so when we have some math tools and PlaceHolder part like definition function
we can collect a lot steps

but in final version for make it easy we can have floatableNoise as tested way for beginner

1 Like

it took me 2mins :wink:
https://nme.babylonjs.com/#EQP8F6

And it is easy to read and understand and manipulate

But I do not think we are on a race or a war. We have several options and tools available to everyone.

For instance @PatrickRyan who is our tech artist will not want to use Shadermaterial or ShaderBuilder for sure. But he loves NME

So a tool for everyone :slight_smile:

3 Likes

yes but i guess who wanna do that most know math so we can have math editor
because when everyone wanna make it they need math

for example if i can use math in NME editor like command on the NME block that take just sec and we can edit that in sec too

also you do this Simplex(WorldPosition)*100. * 0.5+0.5
try Simplex(WorldPosition * 100.) *0.5+0.5 so you see what i suffer for that

you can:) but again not everyone can. This is the point of NME: making shaders more accessible

3s (literally): https://nme.babylonjs.com/#EQP8F6#1

so you think we dont need attach more tools in NME and keep it simple same as now

because for myself i always have tools but when people ask here some option we try make it on other tools too it is not just for myself the result when i see NMe output i say that is for other people ? NMe is a shader tools i am shader man but it is not for me?

lol no I did not say it is not for you! It is for everyone who wants to use it :smiley:

But I was under the impression you did not like it hence my reaction :smiley:

And even if I want NME to remain simple, I would love to attach more tools to it if they make sense

Hopefully this is clearer

I think something that could be done for advanced users is a nme block where you could write custom glsl code. I think there’s such a block in Unity (or Unreal, I don’t remember where I saw that - or was it in Blender?).

3 Likes

were is the definition parts
mean how can i define a function before main ??

This is where all the blocs are:

Clamp is a good example as it is really simple:

Or pow:

winngy please use the reply butt let we read what you write then you continue ::))

1 Like

I caused mis-understanding… sorry guys.

ShaderBuilder and NME are not really comparable tools. They do not compete, as someone said before. They each have different usages.

Now, about that “ground’s vert-positions are NOT ‘actually’ changing/oscillating.” -thing.

:slight_smile: THAT… is just strange. I love it, though. Delete this as wanted… but… I did not want to start NME vs. Shaderbuilder debate. Both are fascinating, but need shader skills.

1 Like

also dear DK NME can be so beauty if we make library management and can be load in BABYLONjs Server
for example
.material = loadNmeMat(‘https://nme…com/shadername’,{params})

I think this is place of difference between shaderBuilder and NME. See https://playground.babylonjs.com/#4I3SIR#21 and https://playground.babylonjs.com/#4I3SIR#20

#21 is Snippet version (pre-compiled… no parameters allowed and no adjusting values inside playground.) ShaderBuilder ALWAYS allows params adjusting in playground.

Conversely, #20… uses 210 lines of NME code that CAN be adjusted in playground… and is compiled in-playground just like shaderBuilder does… but… 210 lines. ShaderBuild MIGHT be able to do the same… with 1/4 amount of code-lines.

BUT… shaderBuilder is Fluent-like and not always easy to read. 210 lines of NME code in #20… is easier for youngsters to read… than ShaderBuilder Fluent-style code.

It’s all interesting…

  • un-compiled Fluent-like ShaderBuilder (adjustable params in-PG)
  • un-compiled non-Fluent-like NME directives (adjustable params in-PG)
  • pre-compiled NME Snippet-parse (non-adjustable params in PG)

I DID momentarily examine in-PG-adjusting input.amplitude in NME Snippet-version… looked difficult if not impossible. Not sure if a Snippet-loaded material CAN be adjusted after-parse. Maybe it could be done in the .then area. (pg #21)

All in all, I’m not qualified to talk about this stuff AT ALL. Still, darned interesting. Thanks guys… I learn tons when you guys talk.

Well you CAN have parameters :slight_smile:

which then let you pick the material and play with all visible parameters:

You can also change values directly from code with something like:

nodeMaterial.getBlockByName("color").value = BABYLON.Color4.Red()

Ex: https://www.babylonjs-playground.com/#XHLFCM#1

And to the size, you can use NME with literally one line of code (equivalent to 210 lines):
https://www.babylonjs-playground.com/#XHLFCM

Cool right?

2 Likes

Ahhh… “Visible in the Inspector” == “exposed in playground”, too! Yeah, cool.

https://www.babylonjs-playground.com/#XHLFCM#5

In NME, I clicked amplitude node on-canvas, then chose type and set to “Visible in the Inspector”… and then… amplitude was settable in PG. (line 28).

I get it. Thx! Fascinating! It must be set “visible” before snippet save (as unique URL), though. No “late exposing” allowed. hmm.

1 Like

I wouldn’t want to inflame the debate, but for my part, I don’t even understand the connections between the nodes (who does what, and who goes with whom, to get I don’t really know what?)

Afterwards, I don’t use it so as not to lose my mind and feel too stupid. But it has the potential to be a great tool. But still too complex for me, who does not understand how this watch works.

Shaders are complex and a graphical tool to create shaders does not make them any easier, but faster to write, you still have to know what to write or which node to connect.

I think that’s what Wingnut was trying to explain. The world of Shaders is repulsive whether it is hard code or with a graphical interface by nodes. But as said, one can, not use it, it is the choice which I made, it avoids me emptying cans of aspirin… :smile:

1 Like

hehe (aspirin). Well said. GLSL is the problem (as Evgeni said, too). Maybe someday. Probably not. :slight_smile: For Dad72 and myself, GLSL makes a good fire to roast marshmallows-over. heh. Both of us WILL collect/enjoy wood-grain generators, though. Everyone loves wood. :slight_smile:

Topic drift: Back in the “glory days”…

Kids/noobs would come and make a green box and spotlight in the PG, and celebrate… feeling they had just created an entire world. We helpers would celebrate WITH them, no matter how simple the scene.

Maybe they were all “first 3d I ever made” experiences/celebrations. Eventually, perhaps, those “first time 3d” folk… finished. Maybe the world “ran out” of them. They loved EVERY “first”… first light, first shadow, first reflection, first material, first particleSystem, first animation, first hinge joint, first mesh click, etc etc. Self-satisfaction after self-satisfaction… child-like excitement and enthusiasm.

Somewhere, somehow, it seems to have ended. Sad. It was a great time/feeling. I wish/hope we can get it back again… with a new generation of “first”-timers.

Having many “super fancy demos” on the homepage… might have been a factor. Simple scenes done by youngsters/noobs… could not compare. Youngsters might have become discouraged by super demos… convinced that they could NEVER measure-up to the things seen in the gallery. A green box and spotlight… might seem wonderful ONLY IF the coder hasn’t seen a godlike gallery demo. Esplit and the train demo… were like that… in MY noob years. Droolers. :slight_smile: