Improve Cycles/EEVEE For Procedural Content Creation

Adding a Smoothing slider to the White Noise node might also be a handy addition because it could create simple value noise without the performance hit of a full Voronoi noise with a jitter of 0.

2 Likes

Hey Omar, in terms of the white noise node, is there anyway to “scale” up the noise. Currently it creates a super fine white noise which is fantastic:

but it would be nice if we could get larger scale noise as well, sort of like this:

I tried using the vector mapping node and decreased the scale but it didn’t enlarge it. So in that first gif I used a math node set to greater than to try and create more black than white but it’s still super fine. Is there anyway to do this currently? If not I wonder if it could be added? After the other items on your list, of course, the white noise node is already very nice as is.

2 Likes

I added a patch for vector rotation with an input for Origin.

https://developer.blender.org/D3789

It would be nice to see this option added to the new mapping node.

8 Likes

Alright, I will come back to the Vector Math node later.

I see, I am not sure how we should handle this. Would a Convert Angle node does the job?

I think that this would needlessly complicate the node. I wouldn’t mind a separate node though like the one @Charlie added. We probably need to ask Brecht about this.

I would like to keep things simple, white noise should be for white noise and white noise only. I suppose we can look into adding a separate Value Noise.

Just insert a Vector Math Snap node before the white noise and you will get exactly this. Example:

You will also need a less than 0.5 node to get the exact result you have above.

1 Like

Oh sorry, I gave you the wrong idea. The example image I had was very zoomed in so you could see the individual pixels in the photoshop document. I don’t actual mean the kind of effect that the snap funtion will give. I mean more like the small points of white being larger or smaller.


In this image the dots are quiet large, vs the very fine points we have currently. That’s what I meant to convey.

1 Like

Not sure I understand what you mean. If you want smaller dots, just reduce the snap vector:

2 Likes

Oh I see now. Actually this is what I’m looking for. Thank you !

I entirely agree. Imho there will be a window after gsoc, and i’d see myself switch from cloud to devfund just to get this done and support this work by omar.

2 Likes

@OmarEmaraDev do you have interest in continuing your work on Blender after you’re finished with your studies? I would love to see you continue your work. I and, I’m sure, a lot of other people here would petition to get you added as a full time developer and help round up the funds needed. I’m truly impressed with what you’ve accomplished in such a short time.

1 Like

Am I interested in contributing to Blender outside of GSoC? Yes, definitely. I have been part of the Blender community for years and I would love to contribute in any way possible, if allowed. I promise you that I will git commit myself to Blender and open source for the next three years, and I don’t need to get paid to do that, I have nothing better to do anyway :smile:.

26 Likes

Bless you :pray:
(A post must be atleast 20 characters long)

2 Likes

Yay, thanks so much! That’s great to hear :slight_smile:

I have a small request, though it may be outside the scope since it’s only tangentially related - could you add a rotation value to the Environment Texture node? Adding a big Mapping node and then a Texture Coordinate node (because mapping doesn’t default to UV or Generated), seems like a bit much for such a common task.

Actually, would it be helpful to add a dropdown for texture coordinate defaults for when nothing is plugged into the Vector input? It wouldn’t take any extra space, would clarify what the default is (sometimes UV, sometimes Generated, and sometimes nothing), and would reduce the complexity of some node networks.
node

5 Likes

Think the whole brick node should be done better, brick layout and brick looks should ideally be 2 different nodes (i took a stab at this initially in bricktricks but i think it could be cleaned up some more.) if @OmarEmaraDev doesn’t get to it this gsoc i may have another go at it.

1 Like

Not sure if you are aware, but all texture nodes have a built-in mapping option. You can find this in the Texture Mapping panel in the N menu of the node as shown here:

You can just rotate your texture from here. Is this what you wanted?

We will probably need to add a new socket type or refactor the current sockets to allow for such extra properties. Not sure if we should consider this.

7 Likes

Ah, thanks, so that’s where it went! This used to be in the properties editor, under texture properties. I thought it got removed in 2.8. It was never really clear how this works together with the mapping node. Does it get overwritten by a mapping node, or do the two vectors get added together?

I find the idea of @jonlampel actually very good. Thinking about it, in a lot of situations you always have to add the same nodes over and over again, such as the texture coordinate input. If we had options to simplify such common tasks, we could reduce complexity on node setups. For example such a drop-down menu could be sufficient maybe 80% of the time.

Sort of an 80/20 rule: cover most use cases with simple node setups, leaving the option to go as complex and detailed as you like for the smaller number of cases where you want to.

2 Likes

Yes, exactly! I just found that the other day, and I love it. It doesn’t show up in the world properties though, so one must be in the node editor, switch to world, and have the sidebar open in order to execute the most common HDRI related task.

Would it work better as an additional property of the Background shader instead? That way it would be easy to find everywhere and would make it easy to rotate procedural environments as well.

Do you need an Euler for full 3D rotation or just a value for Z rotation?

Another typical use for this is in archviz. Let’s say you have an object with a bunch of separated floor planks in it. If the random shading operator reacts to mesh islands you can easily create variations with it.

4 Likes

The input vector is just transformed based on those transforms. So if you have a mapping node, you will get double transformation.

Yes, but I mean the application if this particular features extends way past just that. It applies to anything that would have many separate pieces merged into one mesh.

  • Fruit (raspberries, grapes, bananas in a bunch etc.)
  • Trees
  • Feathers
  • Technology with many buttons
  • Scales
  • Jewelry
  • Coins
  • Bottles
  • Cards
  • Screws
  • Books on Shelves
  • Chain

And honestly the list goes on forever.

And there a certainly more things in architecture:

  • Bricks, tiles, pipes etc…

It’s a super powerful function!

5 Likes