experimental
An early Python-based tool for generating PBR texture maps, created as a precursor to ChromaForge.
Texture Map Generator was an early attempt at building a tool for generating PBR texture maps, originally created to produce simple noise masks for use in Unity projects.
The tool explored procedural texture generation and the creation of maps such as roughness, height and other supporting data used in physically based rendering workflows.
It was developed as a standalone Python application, focusing on functionality and experimentation rather than performance or user interface design.
One of the main challenges encountered was real-time preview performance. Rendering and updating texture previews proved to be slow, highlighting the limitations of using Python for this type of interactive graphical tool.
These limitations ultimately led to the idea of rebuilding the concept using more suitable technologies, which later evolved into ChromaForge — a more advanced and performant system with real-time rendering and improved workflow design.
Reflection
This project was an early attempt at building a practical PBR texture generation tool, but it quickly exposed the limitations of using Python for interactive graphical applications.
The core functionality worked, but real-time preview performance was consistently poor. Updating and rendering texture maps at interactive speeds proved difficult, especially when trying to iterate quickly on visual output.
Much of the friction came from the mismatch between the problem and the chosen technology. Python was effective for prototyping logic and processing data, but it struggled when used as the foundation for a responsive, real-time visual tool.
This led to a key realisation: while the idea of the tool was sound, achieving a smooth and usable workflow required a different approach, particularly in how rendering and user interaction were handled.
Rather than continuing to push against these limitations, the project was rethought and rebuilt using more suitable technologies. This ultimately led to the creation of ChromaForge, which addressed the performance and workflow issues encountered here.
Looking back, this project was less about the final result and more about understanding where the bottlenecks were. It provided a clear direction for what needed to change, and directly influenced the design and technology choices of the system that followed.