Archive 17/01/2023.

Node based material editor

glebedev
glebedev
glebedev
hdunderscore

Looks impressive ! You obviously put in a lot of work there. Plan to release it ?

glebedev

Yes. One day it will be opensource. Currently it only works with opengl 2. We plan to release it when we finish support for glsl and hlsl. I can provide access to early build for a feedback.

johnnycable

What did you use for UI?

glebedev

WPF + UrhoSharp for preview. There are plans to make it crossplatform with AvaloniaUI.

Omid

Can I ask you what is the node editor you used in WPF?

Virgo

How did you achieve runtime material modification?
just change the values of an existing material object (sometimes i get confused doing so)
or discard the existing object and instantiate a new one?

glebedev

The editor generates material.xml, technique.xml and shaders in background. Then it calls https://developer.xamarin.com/api/member/Urho.Resources.ResourceCache.ReloadResourceWithDependencies/p/System.String/ to update the runtime.

glebedev

Custom one. I’ll release it as a nuget package later. It is also suitable for scripting if you are interested in it :wink:

Omid

I using https://github.com/Wouterdek/NodeNetwork and it’s have lot of problem and also it’s have memory bug from reactiveui . so modified that lot and i removed reactive ui but still that you did it’s really nice it’s have grouping it’s really nice.

glebedev

An early version is avaliable via itch.io by invite. Drop me a message if you want a key.
Some limitations of the current version:

  • desktop OpenGL only
  • forward render only, per pixel lighting only
  • bugs are expected
  • there are no guarantees that the graph you make will be compatible with the final version. Although I made some safe checks so you can always “upgrade” it manually.
Omid

Perfect. It’s working really nice. GOOD JOB :+1:
DirectX working much much better with WPF. because WPF is running over directx.
There is a bug in ReactiveUI it’s leaking memory and i saw it’s effecting your project little.
You need to open menu and submenu lot of times and watch the memory or add lot of nodes and remove them you can see memory will not release after that. Dump memory with visual studio i’m sure you will see lot o IDisposable and ReactiveUI classes. :wink:

Actually I removed ReactiveUI finally and it’s much faster and no more memory leak. Our application should be run on embedded devices so we are limited on memory that why I found it’s good to don’t use ReactiveUI.

glebedev

I only use ReactiveUI to throttle user input. Shouldn’t be that bad. Otherwise there is a custom commands and the base node graph implementation doesn’t have any fancy dependencies.

Anyway I’ll run it under profiler later when the architecture gets stable.

Omid

Nice. then it’s easy to move from that. really nice. i going to test the new one on my scenes

Omid

@glebedev I didn’t success to load my scenes because i have 2 folders.

    DesktopUrhoInitializer.AssetsDirectory = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, @"../../Assets");
    var options = new ApplicationOptions("Data;Machines")
glebedev

I didn’t know it’s possible! :slight_smile:

Ok, I need to do something about it…

Zamir

If programn not run, you must manually C: \ Users \ ____ \ AppData \ Roaming \ Urho3DMaterialEditor change settings or delete folder

Modanung

@glebedev Is there a Linux version available?

glebedev

No, because I had to use WPF to speedup development. There are plans to utilize AvaloniaUI for cross platform but not at the moment.

Omid

Yeh it’s possible :wink:
I think it’s more easy to use Xamarin.Forms + GTK+ and WPF.
As you know it’s supporting now and i think you can run UrhoSharp on that.

glebedev

New version allows you to pick multiple folders. Unfortunately I had to change file format to make naming consistent. I hope it’s the last breaking change for a long time.

Omid

Perfect/ I’ll try it at Monday :wink:
thanks

glebedev

Thanks! By that time I hope to finish deferred pass generation and simplified material creation so you won’t need manually wire shadow map to light if all you need is a default diffuse lighting model.

Omid

After i added folders i again i cannot open my scene
image

glebedev

My I ask you to send me a screenshot of your folder settings?

Omid

@glebedev do you mean asset directory?

image
image
image

glebedev

No, I mean the dialog window that appear when you click on “set resources dir” in the main menu.

Omid

this one?

image

glebedev

Hmm… Maybe there is a bug due to space in a folder name. I’ll check it tonight.

glebedev

Btw did you restart the editor after setting the path?

Omid

Yes. I did. It’s same.

glebedev

Sorry for the big. We’ll fix it asap :slight_smile:

Omid

It’s ok :wink:
thanks for responding

glebedev

I can not reproduce the issue :frowning:
image

And then I use
image

To load scene
image

glebedev

Can you spot the difference?

glebedev

I’ve made a workaround. Now the app offers you to copy file in the right folder. Let’s see what happens now.

Omid

I don’t know why. but this time worked well. :smiley:
Thanks

glebedev

Good to know :slight_smile:
Btw here is what guys made yesterday with the editor:

glebedev

A live stream of making an effect:
https://www.youtube.com/watch?v=RjrDxjzzKGE

Omid

Really looks perfect. NICE
Do you have plan for DirectX ?

glebedev

Yes, we do. I am not profound in DirectX personally so it depends on my teammates :slight_smile:

glebedev

@Zamir added a model preview:

glebedev

I’ll be streaming another example tomorrow. You can subscribe to the channel to ask questions and comment live :slight_smile:
https://www.youtube.com/channel/UCWxM_7z4Ab0g5wjN36e2Zqg

glebedev

https://youtu.be/2-IO5BLi6n8

Omid

@glebedev What is the license ?
I generate something and i want to use it and i need to add license to project.
Also it’s good to generate license header in output file.

I Hope you can finish DirectX as soon as possible.

THANKS FOR THIS GREAT TOOLS :pray:

glebedev

The source code will be released under MIT when it’s stable. I don’t think license applies for the files produced by the app. It’s like a Photoshop - you don’t need to include Photoshop license file anywhere if you made textures with it, am I right?

Omid

Ok. so simply i’ll copy generated file. thanks again

glebedev

Hlsl support and “ifdef” nodes are in progress. Stay tuned :slight_smile:

glebedev

Upcoming feature teaser:

image

glebedev

Just in case you are wondering what’s the state of the project. Here is a video to demonstrate new features:

https://youtu.be/AMypkra9Wyo

Omid

Nice. Do you have plan to release it soon?

glebedev

It should go to open source and open beta soon. We improved UI responsiveness, first experience (start material template), some features added. The only thing that bugs me is matrix multiplication. The 4x3 matrix called that after D3D but order of multiplication is following OpenGL pattern. I think I’ll keep OpenGL order but should I rename matrix then?

glebedev

And compatibility with previous release is broken :frowning:

Omid

And compatibility with previous release is broken

I think this is not a problem from my point of view. i can reproduce what i have.

glebedev

Presets are coming to the editor:
image

glebedev

Default material:

image

glebedev

itch version is updated now.

image

smellymumbler

This is really cool. Congratulations on your amazing work!

Omid

This is really great. PERFECT. :clap:
I can see you already start directx :slight_smile: I really need that.

This perfect project should be include into the urho by default.

Zamir

Omid, could you help with the translation to directX?:thinking::slightly_smiling_face:

Omid

what do you mean ? !!!

Zamir

translation from GLSL to HLSL

Omid

Ah. Yes. sure. why not. :slight_smile:

glebedev

Cool! It goes open source and open beta today. I’ll send you a message.

Omid

GOOD NEWS! :slight_smile:

glebedev

It is done.

Modanung

When I try to watch the video on the page it says:

“Playback on other websites has been disabled by the video owner.”

glebedev

Ok. This is strange.

Zamir

yes, it is, but you can continue viewing in the youtube directly

Modanung

Of course, but this is clearly unintended behaviour. Providing workarounds doesn’t equal fixing bugs. :slight_smile:

glebedev

:frowning:
image

Modanung

@glebedev Might Vimeo meet your needs?

glebedev

I can’t stream to Vimeo, only YouTube and Facebook :frowning:And recording and uploading isn’t an options as I don’t have much time to do it. It is way easier for me to do it live.

glebedev
megapunchself

u’ll make in the future possible to export to a script like a .glsl/.hlsl/shader/technique too?

glebedev

It already creates a material, technique and glsl shader. Enjoy :slight_smile:

glebedev

Here is an example of material made with an editor:

Each butterfly is a quad with animated “wings”. Everything is animated on GPU.