gamemaker wrote:@Auylin,Anael,
Thx anael for reminder about repeating textures, as I definitely need some of that on mine as they are far too stretched atm, even looking at them from the distance
To Auylin, I shall indeed try the RGBB as noted in this thread. I also want to mirror the fact that Im a much better artist and creative person, than programmer ( definitely right brain here too ), but hopefully as you noted, I can progress as I learn the finer details of programming and apply them for experience. Im sure you will find this to be true as well, that I have over time found I enjoy programming more than I thought I would so it becomes easier as I go. Thankfully lua makes this learning curve a lot easier at least for scripting.
P.s.-When you referred to the stencil/blendmap in one of your prior posts above , and then mentioned their large sizes, were you referring to the heightmap you used for displacement, as that's what it sure sounds like; just wanted to make sure it was that and not something else, as if it's something else I have no idea what you meant by that reference of blendmap.
Ahh, so you can relate to the challenge of wrapping your head around coding then. Nice! Seems, though, that you have a better grasp on programming than I do. I have books on C++, Python, Java, and a few others... and I can't make progress with any of them. I get into the first couple chapters and it all just goes completely over my head. I don't know why. Maybe I'm making it more difficult than it actually is for myself? No idea. I just can't seem to grasp it, though I've tried. It would make my life a lot easier if I knew how to implement things myself, rather than having to hope I can find an engine that does it for me, or hope someone else could help me with doing so, which is a stretch. In my experience, professionally and personally, programmers tend to be protective of what they know. I say this having been good friends with two programmers for many years. One was happy to share whatever they knew, the other was like "No I won't share or explain my code! Learn it yourself!".
As for the stencil map, yes, that's what I was referring to with large sizes. Because the blend map is only controlling what is hidden or shown, and doesn't provide any color/detail itself, you can tend to get away with a lower resolution image than you might if you were using a single image map. Of course, using a higher resolution stencil map allows you to paint in finer details, which might be preferable, but I've yet to see a situation where that's been *super* important.
Look at it like this... If you're using a single image as a UV Map that covers the entire model, the only way you can maintain a high level of pixel density/image resolution is by using really large images (4096x4096, etc). Those can eat up quite a bit of memory when they start adding up.
For a system that uses a stencil map, or a color map (both serve the same function, just in different ways), you can be using individual tiling textures that are maybe 512x512, and then a single color/stencil map that controls their visibility/blending on the object. And that color/blend map can be 1024x1024, or maybe even 512x512 if you're using it in an area that doesn't require a lot of fine blending.
I just find that you can get far more detail with a significantly lower memory cost using the blend-map approach, than you could using the UV map approach.
Now that's in terms of file size and memory cost. I don't know what the cost is in terms of processing overhead to tile the image layers and blend them, versus just laying a single UV image over an object. I'm sure the processing cost is higher, but how much higher? I don't know. Considering many games I've played use the tiled texture/blendmap approach, I'm assuming it's not very significant.
Edit: I had a thought after posting this. When you're setting up these materials via the texture blend scripts, is Blender, or Maratis for that matter, loading the textures into memory for each individual object? Or, is it just referencing the images on disk, so it only has to load them once? I'm thinking in terms of efficiency when you have many objects using the same textures. For example, in my current prototype project, many of the objects are going to use the same textures (grass, dirt, stone, etc). So, instead of the textures being loaded up for each object using them, if they could be sorta "pre-loaded" into memory, and then simply referenced for each object using them, I imagine that would save a lot of memory as well. It's kind of a form of instancing, essentially.