Page 1 of 2

FreeImageMixer 1.0.1 (abandoned see why)

Posted: Thu Dec 01, 2011 9:48 am
by REDDemon
Actually the project is abandoned. The reason is simple. No one is interested in :). If I see more people downloading I will resume its development.

I have finished a simple project. I worked on it for 2 years. It has been refactored many times from scratch (originally was much more hard to use and a bit confused). Actually the project is not OpenSource because I want to improve it before releasing full source code.

Image Mixer is pretty simple and needs no documentation. You should just take a look to the 3 pdf guides and to the "C++ userguide.txt" file

Features:
Image object - allows images interpolation and file loading/saving. extract color channels from one image (or other info like luminance)
Channel object - Channels have a full feature set of math operators and analyitical functions to work with
Mask object - Logic mask. Used in pair with interpolators/color matrices/algebraic operators allows to limit the effect of function only to certain part of images. you can combine mask with logic operators (not,and,or,xor) to create more complex masks
ColorMatrix object - A color matrix . There are few methods wich creates 3 different type of color rotation matrices based on input values
ColorMatrixChannel object - A different color matrix is applied to every pixel of the image. Input are Channels (very nice to see)

load/save images as PNG, JPG or BMP with any size for loading and saving (auto scale when loading/saving)

What can be done?

Texture Making (most commercial videogames uses edited photos as textures. By combining existing textures you can create new textures)
Image Mixing (based not only on Alpha but on any Info of the images).
ColorCorrection
Tile making (interpolation between tiles using a gradient allows to create texture atlas with many variations on tiles).
Shader prototyping (with some restriction, but usefull for test Post processing effects especially ones wich needs color correction)
Gamma correction ( you have all the analitical functions for doing that).

there's a set of features provided by most painting applications (like GIMP or photoshop) wich can be emulated by ImageMixer. But it is not limited only to that functions.

Feature request:
Wich features do you like to see? Do you think that this software is usefull? (if yes I will put more time on this).

-Noise making (+ a plugin for import images from libnoise)
-A Sampler Object (works also for taking info from adiacent pixels. Will allows to do nice effects like gaussian blur).
-A decent GUI + a plugin system (so instead of many small executables, many small plugin are done and are used as linkable modules through a GUI).
-Save Mix as multy step shader (in pair with the Sampler will allows to prototype shaders for the GPU and those shaders are cutted in 2 or more parts if they are too long.. very usefull to test post-processing effects with software rasterizing. actually is the only feature work in progress).
-GPU acceleration (add tunable inputs so that you can see in real time changes and increase productivity. Usefull for artist and digital artist that need to tune shaders.).
-VideoMix

If you want more features just ask. I will obviously add those features wich someone will use or ask for. I will not spend time on features wich are not used by anyone..

Irrlicht is used as loading/saving library and in future can be used for the GUI and OpenGL functionalities. Actually you can use ImageMixer only on windows and only with C::B. there is not platform speficic code so porting it to new operative systems is easy and fast. Every app compiles in no time and is very fast in doing image processing (even with ColorMatrixChannel). All computing is done in floatinpoint values. so all colors are in the range (0..1)

Two photos:
http://fc07.deviantart.net/fs70/i/2011/ ... 4gudc1.jpg
http://fc05.deviantart.net/fs70/i/2011/ ... 4gud82.jpg

The resulting combination of those two photos (just 1 of the infinite possible results):
Image

In shan-gri la world editor. The tiles for texture atlas are made by just mixing 2 up to 4 teerrain textures using color gradient images as interpolation value..
This is achieved by running in a loop ImageMixer code.
Image

Example code: making a new texture from two textures:

Code: Select all

 
#include <ImageMixer>
 
IMAGE_MIXER_START(512,512); //macros handle "main" and exceptions. artist has only to focus on the Mix.
 
Image A,B;
Channel L;
 
A.load("texture1.bmp"); //both images are resized to 512x512
B.load("texture2.png",  2,2,  258,258);  //but you can specify wich part of the image needs to be resized
 
L = A.getLuminance();
 
B.mix(A,L);  //mixing images using as interpolation value for each pixel the luminance of A.
 
B.save("newTexture.jpg"); 
 
IMAGE_MIXER_END();
 
 
example: making a tile

Code: Select all

 
#include <ImageMixer>
 
IMAGE_MIXER_START(512,512); //macros handle "main" and exceptions. artist has only to focus on the Mix.
 
Image A,B,C;
Channel L;
 
A.load("texture1.bmp"); //all images are resized to 512x512. Indipendently of their sizes.
B.load("texture2.jpg");  
C.load("gradient.png");  // a gradient. You can use each color channel for mix different images
 
L = C.getRed();
 
B.mix(A,L);  //mixing images using as interpolation value for each pixel the gradient value
 
B.save("tile01.jpg"); 
 
IMAGE_MIXER_END();
 
if someting fails some text is printed to the console (for example cannot open a file).

Download link for Image Mixer: (2,8 MB of zipped package)
http://imagemixertool.deviantart.com/ar ... n7zkaglnd7

projects using imagemixer:
Simple Layer World Editor (I use it for tile making)

EXECUTABLES BUILT WITH IMAGE MIXER WORKS ALSO ON WINDOWS 7-64
bit without installing any dll or package (nether mingw+c::b, of course if you want to make your custom executable instead of running the precompiled ones you have to get c::B + mingw)

The only needed dlls (ImageMixer.dll & IrrlichtLight.dll) are already in the folder with the executable. (so in the "art" folder)

Image

Re: Image Mixer 1.0.0

Posted: Thu Dec 01, 2011 10:11 am
by CuteAlien
Can you add a screenshot? You can put it on a service like imgur.com if you have no server for it.

Re: Image Mixer 1.0.0

Posted: Thu Dec 01, 2011 10:30 am
by REDDemon
OK :) sorry i was still editing the post. Now it's ok.

Re: Image Mixer 1.0.0 Release

Posted: Thu Dec 01, 2011 2:12 pm
by RdR
Somehow the binary crashes right away when running
(Windows 7 64bit)

Re: Image Mixer 1.0.0 Release

Posted: Thu Dec 01, 2011 7:35 pm
by REDDemon
Strange I tried it more than 1 time. Works perfectly on windows vista and XP (vista both 64 and 32 bit.. XP only 32 bits.) What have you done exactly? There are no apparent problems for wich it will crash. There are just floating point arrays operations and Irrlicht is included.. I also triple/quadruple checked for memory leachs and null pointers. ^^

It can works only with Codeo::blocks installed... there's a step by step pdf guide inside. But also worked on PCs of a my friend wich has not C::B installed.

But what crashes? compiled executables or the selfexctractin archive? maybe the download is corrupted I will try to download it again...

EDIT: the download is ok.I tried that on 5 differnt pcs it MUST work.

Does anyone else has problems O_O?

Re: Image Mixer 1.0.0 Release

Posted: Thu Dec 01, 2011 8:09 pm
by hybrid
Maybe it's a debug version where some dlls are missing where another MSVC version is installed?!

Re: Image Mixer 1.0.0 Release

Posted: Thu Dec 01, 2011 10:36 pm
by RdR
REDDemon wrote:Strange I tried it more than 1 time. Works perfectly on windows vista and XP (vista both 64 and 32 bit.. XP only 32 bits.) What have you done exactly? There are no apparent problems for wich it will crash. There are just floating point arrays operations and Irrlicht is included.. I also triple/quadruple checked for memory leachs and null pointers. ^^

It can works only with Codeo::blocks installed... there's a step by step pdf guide inside. But also worked on PCs of a my friend wich has not C::B installed.

But what crashes? compiled executables or the selfexctractin archive? maybe the download is corrupted I will try to download it again...

EDIT: the download is ok.I tried that on 5 differnt pcs it MUST work.

Does anyone else has problems O_O?
Still have the same problem. Dont have Code::Blocks installed btw.
The compiled executable (art/MixerApp.exe) crashes when trying to start.
Isnt there an DLL missing?

Log:

Code: Select all

 
Irrlicht Engine version 1.7.2
Microsoft Windows 7 Ultimate Edition  (Build 7600)
 
ImageMixer version 1.0.0
Copyright 2010-2011 by Dario Oliveri
 
 

Re: Image Mixer 1.0.0 Release

Posted: Fri Dec 02, 2011 2:18 pm
by REDDemon
I tried to run ImageMixer on windows 7 64 bit.

It works perfectly.

have you tried to run at least "mixerApp.exe" before doing any custom compile? if not. Are you using "IMAGE_MIXER_START"? because internally exceptions can be thrown so if you don't use a try block (wich is embededd in the macro) it will crash.

It is builded with mingw so there are no missing dlls. or redistributable packages needed

here's the screen shot on windows 7 (i used the package from the download link without changin anything)
Image

EDIT: I continued to test it and get no crashes in all PC i have used..

There's a code::blocks project in the main folder wich has all precompilers defined (dllimport) and all libraries linked properly. You have just to open it and change the code... ^^ you are the only one wich is experitmenting crashes. Please other people wich has sucessfully runned it can PM him or write here?

Re: Image Mixer 1.0.0 Release

Posted: Thu Dec 08, 2011 9:39 am
by REDDemon
EDIT:
RdR I found the only possible crash bug. I have also updated the license file to be more permissive.

Re: FreeImageMixer 1.0.1 (texture making tool)

Posted: Sat Dec 10, 2011 3:09 pm
by REDDemon
I have updated the Zip package. Isn't there any texture artist wich likes to test this application and see what he can do? some feedback is wellcome :)

Re: FreeImageMixer 1.0.1 (texture making tool)

Posted: Sun Dec 11, 2011 8:19 pm
by Granyte
if you plan to implement libnoise you might obtain some better result with a noise algorithm that you can fully manipulate such as this one http://irrlicht.sourceforge.net/forum/v ... hp?t=42294

aswell as avoiding many issues with libnoise that will simply won't work on certain system

Re: FreeImageMixer 1.0.1 (texture making tool)

Posted: Sun Dec 11, 2011 9:53 pm
by REDDemon
Thanks for the suggestion, probably I will keep ImageMixer only irrlicht dependent to avoid most possible issues. I just thinked to load images directly from libnoise modules, but saving first them to images and then loading them with FIM will do the same. So maybe adding a plugin only for that is really useless.

Actually I have some ideas but only few of them can be realized (time questions). So I liked to know what users prefers too see as new features. I'm studying some noises to see if there's something new that can be done (nothing interesting found for now).

Re: FreeImageMixer 1.0.1 (texture making tool)

Posted: Sun Dec 11, 2011 10:57 pm
by Granyte
it could be donne in shaders :lol: wich nethier libnoise nor that code does

ethier way if you are interested or need it someday i'm working on a 3d noise implementation only i find it to ugly to post it in the open it will need a hell of a clean up and to see if it can be optimized

Re: FreeImageMixer 1.0.1 (abandoned see why)

Posted: Fri Mar 15, 2013 2:19 pm
by REDDemon
now project is opensource and no longer developed :)

http://code.google.com/p/free-image-mixer/

source code only release.

Re: FreeImageMixer 1.0.1 (abandoned see why)

Posted: Sat Mar 16, 2013 12:17 pm
by hybrid
So why is it abandoned?