itch.io is community of indie game creators and players

Devlogs

v0.3.0 Release Log

TextureLab
A downloadable tool for Windows, macOS, and Linux

This took way too long, but its finally here! Some may have probably thought I had abandoned the project. This release requires me getting a lot of things right and working in tandem for it to be complete. I think I did a pretty decent job.

New Features:

Random Seed:

I added both a local and global seed. Global seed affects the whole texture while local seed affects individual nodes. I had to retrofit some nodes to make use of the local seed. Modifying the algorithms old nodes it something  I shouldn't do, since it breaks older textures, but this was a pretty harmless change.

local seed:

global seed:


New Examples:

They're much better than the examples of the previous version. They really highlight the range of the textures new set of nodes are able to achieve.

Height Range:

The default height range in the 3d preview is now lowered to a more sane level.

(old version)

(new version)

(normal map generation has also gotten better)

Node  Changes:

I know TextureLab is supposed to be fully GPU accelerated, but there are just some things I just couldn't achieve on the GPU and within the limitations of WebGL. Believe me, I tried every option I could. Most nodes are still GPU accelerated with the exception of the Bevel and Floodfill nodes. Floodfill's companion nodes are on the GPU, however. 

The performance isn't as bad for something running on the CPU and , even worse, running in Javascript. They still process at around a second or less on a 1024 texture on modern hardware. I've made plans to use WASM, via C++ or AssemblyScript, to speed up processing of these nodes in a further release. I've added a timer to each node so you can see the impact they have on overall performance of the texture.

(notice the performance of Bevel and Floodfill in comparison to the other nodes)


Nodes also now store their textures at 16 bytes per pixel internally. 

UI Changes:

The properties UI got a better, yet subtle, design improvement.

(old ui)

(new ui)

Icons are added where necessary in other places:

New Nodes:

I've added almost 50 new nodes for this release. This is the biggest reason for the delay but it was totally worth it.

I'd love to go into details with each one, but I'll only cover the most impactful ones here.

Floodfill and its companions:

There's an issue with floodfill nodes that should be mentioned. There's sometimes a precision issue that shows up in nodes that uses the Floodfill texture; it's made worse by the random number generator I'm using. There's a precision parameter that you can fiddle with to fix it. This only serves as a crutch for now until the issue is properly fixed.

Tile Sampler, Circular Splatter, Splat, Advance Splatter:

These nodes are great for scattering shapes

New Noises:

I added Value noise and Gradient noise and fractal sum nodes for each.

Blurs:

Community:

It's the community that has been keeping me going for these long months of development.  I'm impressed all the time seeing the things they make. Here are a few:

by PulsarForge

by Vladimir Almonte

I'm most active on Discord than anywhere else. This is also where I host my most up-to-date development builds. I'd highly recommend joining and becoming an active member.

Join Discord

What's Next?

Next step is to replace the current website with a new one. It's going to have tutorials, docs and plenty of examples there.

I'm going to do more frequent releases for the rest of the 0.3.x development cycle. You can view the features on Github here:

https://github.com/njbrown/texturelab/projects/3

Features for the 0.4.x cycle is here too:

https://github.com/njbrown/texturelab/projects/4


Lots of good things to come from TextureLab this year. Thank you all for your support!

Files

  • texturelab-win-v0.3.0.zip 66 MB
    Mar 12, 2021
  • texturelab-linux-v0.3.0.zip 70 MB
    Mar 12, 2021
  • texturelab-macos-v0.3.0.zip 65 MB
    Mar 12, 2021
  • examples.zip 37 kB
    Mar 12, 2021
Download TextureLab
Read comments (5)