Improve Cycles/EEVEE For Procedural Content Creation

Oh, okay thanks!! I still believe this should come with Blender by default though.

If you do go this route, could you please make the output RGB instead of greyscale? One big limitation of the current object info node random output is that there is just not enough of a range of values to do things like bake an ID map for Substance Painter. One could always convert RGB to BW, but not the other way around.

2 Likes

Hi, I think this wasn’t mentioned here, but on the textures panel, there are some other kind of noises such as wood or marble, that were left from blender internal and are still accesible to modifiers such as displacement. They can’t be used on cycles/eevee (Not easily at least) so would it be possible to port them to them?

I would also like to point out these maps that can be used on Max, and whose source code is available on Github http://www.ylilammi.com/2013/09/berconmaps/ (I also think some of them try to match some of V-Ray’s procedural maps)

Also 3ds max has some procedural maps that could be useful, either black and white:
Cellular, Dent, Noise, Smoke, Speckle, Stucco and waves.

Or colored ones:
Advanced wood, Marble, Splat, Perlin Marble, Wood and Splat.

Which you can look more in depth here

Yeah, I addmit it, I haven’t used them all but I’m crazy and I want to have every single procedural map available on every other 3D app and render,. I’m just mentioning the ones I know just in case it’s easy to implement some of them, or someone to recreate them with what is already there since some are not just pure noises.

3 Likes

@xdanic please don’t spread viruses in the forum

4 Likes

Actually Texture nodes are going to be fazed out. I believe the plan is to replace the functionality with shading nodes. You can see that over here: https://wiki.blender.org/wiki/Modules

As said above, this kind of stuff in all likelihood will be ported to the shading editor so I don’t know if that’s the kind of thing we want to be asking Omar to do as it is already planned.

The only concern is that those noises in the texture panel have a bunch of different base settings ie: Blender original,Perlin original, Improved Perlin,Voronoi F1 to F4,Vornoi Crackle and Cell noise. I don’t know if we want to keep all these or discard them because they can be achieved relatively easily with other nodes. For instance, cell noise can now be achieved with the new “snap” method on the vector math node.

What I’m trying to say is that while I don’t think Omar should do this, as it is planned, but it may affect design of things currently? I’m not sure. But for instance, if we are adding 4D capability to the standard “noise texture”, would it have to use all those different base noise versions now, or in the future, or just a couple or none etc?. I’m not a developer so I don’t know which direction these things will ultimately take.

Is possible to make realtime pointiness in EEVEE? Or maybe Cavity / Edge decetion node? Would be great to mix textures and shaders in realtime.

6 Likes

I am also wondering about whether it is possible to achieve Substance Designer’s node called Height Blend, it lets you add two displacement channels together so one goes on top of the other. See here for a description. Maybe this is possible but I have not figured out how, and it is rather a crucial feature. Would a Height Blend node be a possible addition?

1 Like

Just add two textures and then pass the result into the displacement node should work afaik

Cellular is just a voronoi texture. We allready have noise. And I think that Smoke is simply a noise with turbulence. Dent, Speckle and Stucco are also just (limited) variations of texures like voronoi, noise or musgrave.

3 Likes

Regarding 4D noises and the evolution slider - I would propose to make as many procedural textures 4D as possible.

3 Likes

Do you mean 4D as with a random phase in the other 3 dimentions, or do you mean implementind time (or any other dimention) derivative functions to sample texturing functions?
… I don’t think the latter goes well as a rendering process. :confused:

I found these two opensource procedural texture generators, maybe you can have a look at them:

and

NeoTexture edit has few noise types that I haven’t seen in Blender yet, anyway hope this was helpful in anyway :slightly_smiling_face:

4 Likes

Today I discovered what looked like just a 2.8 bug but is also a 2.79 bug so it’s probably a known issue that won’t be fixed soon. Box projection in image nodes get badly affected by object rotation. Even if your using a position vector or something unrelated to object info like that.

So, to solve this I tried to create my own triplanar mapping node. And I discovered two things:

One, it’s harder than I thought. There should be an easier way to make triplanar mapping like that.

Two, the same problem I’ve mentioned before arises. Do I create 3 texture image nodes mapped differently, and manually change each datablock each time I want another texture? Or do I just make a triplanar vector plugged to one texture node, but which gives me artifacts and won’t allow me to blend the edges of the textures?

In unreal engine they solve this with a different node called texture object that doesn’t take a vector, that can be used as input fo the triplanar function that takes the original vector and normals as separate inputs

2 Likes

Found this cool picture online which gives a good overview of what additional noises could achieve. Would be a great improvement to have them in Blender! :slight_smile:

11 Likes

As the “wishlist” of features grows, I’d like to remind Omar, and everyone that sometimes in GSoC student work doesn’t get finished, or is postponed due to classes, or adding too much to the preverbial “to do list”. I’d really hate that to happen for this particular project as Omar has already done great work by improving the vector mapping node and all the vector math options we have now(not to mention the clamp and remap nodes)! Already a lot of new things are available to us.

From here on, if we just got the voronoi and noise node in 4D and that’s it, I’d walk away extremely pleased.

I know we’re all thirsty for more features, but let’s take it easy a bit maybe, shall we? I’d much rather have these features in blender 2.81 than unfinished extra features pushing the master committe to next year or more.

Just a friendly reminder :slight_smile:

5 Likes

@Bobo_The_Imp WHoha! think you got all you asked for in this weeks update ! @OmarEmaraDev did some amazing work this week!!

Selfish feature request (but an easy one) vector math could use a floor function still.

2 Likes

I have to admit, the mapping node may need a little more polish. It’s a little confusing to use

image

rotate by -18 degrees! sweet!

great now I want to procedurally drive that!

image

rotation is now -18 radians… and we don’t seem to offer a deg->rad or rad->deg conversion node…

10 Likes

Right, had not thought if that, but that’s a good point. Might want to inform Omar on the conversion part. I know in Jaques luckes animation nodes, there are deg -> rad and rad -> deg nodes.

1 Like

Playing further a vector clamp would be useful as well, to keep texture rotates in the 0…1 range

UV rotate without clamping

With clamping.

it’s not that hard to do with a node group, still having a build in node would be nice.

also being able to specify the center of rotation would be nice as well, i find me self doing a lot of the node equivalent of :

UV = Rotate(UV- BrickWidth/2, angle) + Brickwidth/2

over and over, once more it’s not overly complicated but it sure makes messy graphs quickly.

8 Likes