Improve Cycles/EEVEE For Procedural Content Creation

This is what I am working on right now. I am having some trouble with it, so nothing to show yet.

6 Likes

Just a thought: what if the shader2rgb node had a vector socket that allowed you to move / distort the texture?

1 Like

@OmarEmaraDev @ogierm

Adding a vector input/output to all the image and/or RGB related nodes would be useful.

I learned and used blender and Max side by side for a time and I never understood how to use Max’s color ramps as blender, they appear to me too cumbersome to use, I think wathever they do, it should be rethought cause they’re not intuitive…

Well, they don´t really work that differently. They remap the color values of some sort of input map, for example a noise texture, to something new. The blacks of the input map are turned into whatever is on the left side of the color ramp and the whites get turned into whatever is on the right side of the ramp. Everything in between gets turned into whatever is in the center of the ramp.

Now, the cool thing in Max is that you can not only input color values but also textures. This can be achieved in Blener as well but it is a lot easier to set up in Max.

Yeah, that’s close. Quick mockup for dynamic input and output sockets based on the first input socket:

switch

13 Likes

Thanks, is this how Normal Maps are usually generated from a Bump?Height map?

Should the Vertex Group data be tranferred into Black and White or as with the colours you would usually see when editing vertex groups?

Yes. You first compute the partial derivatives of the height map. Then you compute the cross product of the partial derivatives’ differential vectors. Finally, remap that to the [0, 1] range to be able to store it in standard images and you got yourself a normal map.

It is quite easy to make a normal map generator yourself, refer to my answer here for more details:

3 Likes

Could something like this be added to Blender?


a Basic Shape node that generates geometric shapes, which can be used then to create tiles, roofs and other materials.
4 Likes

Hello everyone.
I’ve got a proposal regarding MixRGB node. Could it be posible to expand it for more than just two inputs along with blending modes for each input?

Currentlly to mix for example four color inputs we need three additional nodes to handle mixing process and building desired hierarchy - as every mixRGB node can handle only two inputs. I cannot post an image due to n00b cap, but I assume you all know what I’m talking about.

My proposal goes like this:

As a result we got expandable lists of RGB inputs with mask/alpha/fac. Every input gets its own blending mode option, just like it works in almost every layer stack in 2D software. Arrows on the right are for reordering layers in a stack without messing with input links.

There is no loss of functionality, because you can still build tree-like node layout with it, if you like.
I know that I can do all of that with node groups, but doing this repeatedly seems like a waste of time.

ED: The basic node should contain only two inputs, and as user will add them, the next available input should be added to the bottom of the stack.

ED2: I havent read the thread carefully, and it seems some of you already proposed this. Also instead using up/down arrows input fields could be rearranged by drag&drop.

17 Likes

Hi.
Does this project have plans to improve 3D (volumetric like) textures in materials? For example, to add bubbles in a liquid material/shader, but also that the bubbles look inside the liquid, not on the surface of the material. And also that this is consistent for animations.

1 Like

You can add with 3D Voronoi “bubbles” as a Volume. The only problem is (as was always) that you can’t render those bubbles as Refraction. Only Volume or Emission.

@brecht Is this even technically possible to render volume using any other shader?

5 Likes

That’s right, that is exactly the problem. It would be good to be able to have refraction and glossy effects in interior texture. Bubbles in fluid is just an example, there are many cases where volumetric textures using materials would be very useful.

4 Likes

Hi everyone,

Just thought I would update you on this project. We are currently aiming to get the project merged before the 2.81 release, which means we have about four or five weeks before the merge window closes. Additionally, the GSoC deadline for submitting the code is August 26.

What does this mean? For me, it means that I have to work on refactoring, cleaning up, optimizing, writing versioning code, and handling backward compatibility. This is what we are currently doing and will continue to do for the next two weeks. This is necessary to make sure the review process goes as smooth as possible so that we can get this merged before 2.81.

I know some of you might be disappointed that the features you desired didn’t happen, but we would rather get everything we already did in master than try to squeeze more features in. However, it is very likely that we will work on those features after GSoC, so you might get the features you want eventually. I hope you understand.

But what does this mean for you? It means we want your help to test things! Try to load old files and spot backward compatibility issues. Try to render with your GPUs (We don’t have the ability to test GPUs). Try to find bugs. Or just try things in general and give us feedback.

Thanks! :slight_smile:

32 Likes

I haven’t been able to follow this one as much as I’d like but just wanted to say thank you so much for this. All the features on this thread have been fire :pray:

6 Likes

I am not so well versed in this type of 3D work since I am so new to the scene, but I have to say, watching this thread has been like a delightful magic show. Just wonderful stuff all around.

I wish you good luck on finishing this project for 2.81. Looking forward to what type of bunny you pull out of your hat next in the future! ^-^

4 Likes

Did the Spline Info make it?

Hey Omar! I wanted to thank you for your work, it’s amazing. You implemented very useful features, while also listening to the users and handling their feedback. And I have to thank you for prioritizing that the features you made so far come into 2.8 over adding extra features. IMO that’s exactly the right way, because it’s better to have the already existing cool features in 2.8 for (somewhat) sure than to add new features while risking that it’s not ready for merging. I have seen many gsoc’s suffer from that, but you seem to avoid that. Thanks!

4 Likes

We did work on the Spline Info node, however, we couldn’t finish it in a timely manner. We underestimate the complexity of the Curves code.

7 Likes