Experimenting With Procedural Texture Generation — I’d Love Your Feedback!

EDIT: originally, I forgot to add the short demo video that shows the basics of using the tool, so here it is:

Hey There!

I’ve been tinkering with a little side‑project lately, and I think some of you might find it interesting — especially if you enjoy procedural workflows, texture creation, or just exploring weird technical experiments.

A couple of weeks ago I had one of those “wait… what if?” moments.

The idea was simple: Could we approximate a raster texture automatically using a combination of procedural textures?

I started experimenting, and after many tests (and many crashes), I now have a very early prototype that actually works well enough to share.

It’s not magic, it’s not production‑ready, and it’s definitely not fast — but it’s a start.

If you’re curious, you can check out the prototype on GitHub: GligDav/ProcTexLabClone the repo, follow the install instructions, and you’re good to go.

This is very much a “baby’s first steps” situation, so here are some honest notes on what you should expect (and not expect):

  • Performance is rough. Even with GPU acceleration (CuPy), fitting a texture can take minutes or hours. If you plan to import results into Blender, keep the settings low.
  • The Blender addon is fragile. It breaks easily. I’m actively working on stabilizing it.
  • "Blurry" results are expected. This is an approximation tool — many raster textures simply can’t be recreated 1:1 with procedural building blocks.
  • Crashes and bugs will happen. It’s early research, not a polished tool.

Since this community is full of artists and technical creators, I’d love to hear what you think:

  • Would you use a production‑ready version of this?
  • Do you see potential in the idea?
  • What would you change or improve?
  • Are there use cases I might be overlooking?

Even a short comment would help me understand whether this project is worth pushing further.

🙏 Thanks for taking the time to check this out!

I’m excited to hear your thoughts — whether it’s “this is cool,” “this is weird,” or “here’s how you could make it better.”

— Dávid

1 love
Reply
  • Martin Bergwerf replied

    Hi Dávid,

    Sorry, but that's way above my head.

    I tried reading the README and after the Installation part, you say; "It opens fullscreen by default; press Escape to leave fullscreen or F11 to toggle it." After that you lost me. That's full of technical terms and I don't even know where to place them. For instance atoms are mentioned, but are those chemical atoms or something else? 

    This seems to be one of the simpler explanations: "Maximum nonlinear optimizer iterations for each proposed atom." I understand every word, but still have no idea what it means.

    There's a Blender Addon, but I don't know what it does, how to use it and what for.


    2 loves
  • Dávid Gligor(GligDav) replied

    Hey Martin,

    Thank you for the feedback, and I'm really sorry if the UI and the description of it feel overwhelming. My goal was to give a proper explanation of what the different things do and how they influence the final result. I've noted this, and I will pay attention when developing the production ready version to simplify the UI (and the documentation).

    BTW, there is a demo video showing a basic flow of the tool, which I forgot to include in the post (shame on me), I hope it helps a little bit!

    1 love
  • Martin Bergwerf replied

    Oh, the description didn't feel overwhelming, just incomprehensible. Let me be clear: I don't even know what a raster texture is.

    2 loves
  • Dávid Gligor(GligDav) replied

    I see. I've just rephrased some sections of the readme and added a glossary to the end of it. Could you please check if this helps the comprehensiveness?

    1 love
  • Martin Bergwerf replied

    The workflow descriptions looks a lot clearer, but I still have no clue as to what this actually does in the first place...Is it some kind of image manipulation?  Like a Kuwahara Filter, for instance?

    The Glossary seems very helpful, although I didn't check every definition.

    1 love
  • Dávid Gligor(GligDav) replied

    No, this is not an image filter. So let's say you have a 2K texture. If you zoom in, it gets pixelated, so to overcome this, you replace it with a 4K one. This can help, but

    • Doesn't give an ultimate solution - you just need to zoom in more, and it's pixelated again
    • Uses more VRAM (actually, it's a quadrated growth)

    Procedural textures in the other hand (e.g. Noise, Voronoi, etc. - all you can find in the shader editor) are not using pixels in it's traditional form, but describe the image in a mathematical form. The advantage of this approach is that the texture will be quasi infinite in resolution with barely any VRAM use, but as an exchange it can be hard to reach the same look as your pixel based (raster) texture.

    What if there was a system that takes your 2K texture and says "okay, you need a noise texture, make it through a clamp, then add a voronoi texture to it" to get really close to your image texture?

    So... my proto/demo/proof of concept does this (or at least tries to do so)

    1 love
  • Martin Bergwerf replied

    Yeah, I know what a Procedural Texture is😂

    Okay, so let me see if I get this now:

    You are trying to aproximate an image through a combination of procedural textures.

    Is that correct? That would be an awesome idea.

    2 loves
  • Dávid Gligor(GligDav) replied

    Exactly! That's the main goal.

    The thing is, in order to eliminate the biggest issues (slowness and the instable import addon for blender), I need to rewrite this thing from 0. And this is why I shared this with the community: if there is a demand for it, I just might turn it into a web app - Blender add on combo (for cloud computing, not everyone has CUDA GPU), otherwise I keep this as a local thingy.

    Fun fact: when I checked it on Google, I couldn't find anything similar to this, so seems like this is a brand new "technology" 😅

    1 love

No sitemap found