Category Archives: Applications

Software to solve operative tasks and not for entertainment

TextureMind Desktop (future project)

TextureMind Desktop (TMD) will be a software to allow remote access to a personal computer's desktop (the host machine) from a client device. It will be composed by a server running on the host machine and a client application which connects to the server. The application will expose a simple UI to make the user access and interact with the desktop of the host machine.

Why TextureMind Desktop?

There are already several softwares of this type, like VNC, RDP, TGX, PCoIP, Citrix, RGS and DCV. So what's the purpose of having TMD? The project TMD was born from TextureMind Framework, which is an entire C++ development environment for two-dimensional and three-dimensional applications, complete not only with the basic features for managing multithreading, inter-process communication, networking, dynamic modules, plugins, compression, serialization, but also 2D and 3D graphics, a proprietary GUI system, an entire 3D engine, a materials system comparable to that of Unreal Engine 5, internal computer vision's architecture and 2D / 3D audio system compatible with Dolby Surround 7.1 (but potentially atmos). TextureMind Framework doesn't use external dependencies but only graphics / audio libraries and some other import / export library, like devIL, ffmpeg, turbo-jpeg and assimp. TextureMind Framework is super consistent, self contained and easy to port to any operating system, the same goes for any product derived from the framework. TMD will benefit from the framework consistency and all the additional features not implemented in other remoting protocols.

Best features:

  • Optimized for high framerate and low CPU usage
  • GPU encoders (i.e. NvENC and AMF)
  • Multiple monitors with 4K resolutions
  • Smart client / server frame rate autotuning
  • A large set of image (jpg, bmp, png...) and compression formats (zip, lz4, lzo...)

Post link

OutVideoWork – Work in progress

This application is designed for creating professional visual effects and for non-linear video montage. It will make use of ffmpeg library for the video part and my framework for graphics part, in particular the chance of programming effects with GPU shaders, creating animations with the advanced animation system or ray-tracing rendering.

Post link

ShaderMind – Work in progress

ShaderMind will be designed for the automatic creation of shaders compatible with shadertoy and other environment. It will be possible to copy & paste shaders from shadertoy (or others) and see them work on ShaderMind application in no time, so the new shaders can be saved for the future and re-used for other projects. In the same way, you can design new shaders and export them to shadertoy without additional efforts. The shaders will be designed with a 3D modeller editor, where the scene is previewed with my engine and my material system: when finished, the entire scene can be converted into one or more program shaders compatible with shadertoy. The resources can be converted into the glsl source code to include in the shader program, with some limitation. For example, a small texture or a small 3D object can be converted into source code but not large textures or huge 3D models. The scene will be composed basically by signed distance functions rendered with a simplified material system. Complex resources like bezier outlines for 2D or 3D text rendering will be converted into source code as well.

Post link

MultiEdge Paint – Work in progress

MultiEdge Paint will be a professional software to paint artistic images and for seamless textures generation. It will make use of generative AI to create new images or modify existing images, with the latest features like txt-to-img, inpainting and outpainting, with the chance to setup the environment locally (not a remote service, it will require a powerful GPU) and download the checkpoints directly from civitai.com . It is called "multi-edge" to resemble the horizontal, vertical and temporal loop, but basically it can loop in multiple "edges" of the images, handling multiple layers and maps at the same time.

Post link

IdealMind – Work in progress

Originally TextureMind Framework IDE, IdealMind is designed to manage resources (like textures, materials, 3D models) and to create applications with TextureMind Framework's functionalities. The term "Ideal" stands for: Integrated Development Environment Application Level, but it's also nice to associate it with the word "Mind", which is part of the TextureMind logo.

With IdealMind, it will be possible to create any kind of application, from a simple window with a rectangle inside of it to an entire 3D game. You can create new projects, add resources like textures, materials, audio, design new graphics interfaces, handle input events, render 3D models, execute scripts and so on. It can be used also to create tests and to handle graphics workflows.

Post link

DWorkSim – Deterministic Workflow Simulator

This application was created with the aim of generating an animated scene where the frames are always the same. Each frame is associated with a number, so it is possible to capture individual frames and compare them, to see if there are any differences if the frames were manipulated by a second application, such as remote display protocol. Furthermore, the workflow is generated without excessive computational cost, so it can be used to calculate the performance of the remote display protocol, without excessive impact on the entire system. This software is freeware, so you can use it for free, even for commercial products ( see that you cannot distribute this software, sell it, change author's name or modify the content: read the EULA document in the zip file for more information).

How to use it

Download the right version for your operating system, unzip and use it. You can launch DWorkSim from command line.

On Windows:

> DWorkSim.exe
> DWorkSim.exe --software-rendering
> DWorkSim.exe --software-rendering --force-60-fps
> DWorkSim.exe --frame-target 357 --output test357.jpg
> DWorkSim.exe --software-rendering --frame-target 357 --output test357.jpg
> DWorkSim.exe -h
> DWorkSim.exe --about
> DWorkSim.exe --version

On Linux:

$ ./DWorkSim
$ ./DWorkSim --software-rendering
$ ./DWorkSim --software-rendering --force-60-fps
$ ./DWorkSim --frame-target 357 --output test357.jpg
$ ./DWorkSim --software-rendering --frame-target 357 --output test357.jpg
$ ./DWorkSim -h
$ ./DWorkSim --about
$ ./DWorkSim --version

You may need to install Cairo libraries for software rendering:

$ sudo apt install libcairo2-dev

For testing on machines without a GPU, you need to add the --software-rendering argument. It will run a totally different animation more adapt for software rendering without dropping performance. The framerate for software rendering is 30 fps by default, but you can increment it to 60 fps with the --force-60-fps argument. You can generate a single frame with --frame-target argument plus the number of the frame to render, and save the result on image file with --output argument followed by the name of the image file. The file format is decided by the file extension, for example image.jpg will save a jpeg image. You can save images in bmp, tga, jpg and png formats. Image in jpeg format are compressed with a quality of 80, while the other formats are lossless.

Continue reading

TexAviTure v0.05 Beta

For the delight of many graphicians and web masters I've released my old (and unpublished) utility for generating procedural animated textures which can loop in all directions and also in a time period without causing side effects or shots. The program is in a very early beta version and it can support only perlin noise  or cellular to create the main effects in great demand especially for 3D games (such as lava, flame or candle). It is able to save the created animation as individual frames in bitmap format or as an entire video in avi format.  (download)


©2008 Gianpaolo Ingegneri