Building Latest Gimp from Github

gimp_2-9-3_github-b81c725_reduced
My Gimp built from Github

I followed this excellent guide and ended up with the latest Gimp shown in the screenshot above …

Building GIMP for artists and photographers

Here’s the sequence of commands I used.

PREFIX=$HOME/code/gimplch/install
export PATH=$PREFIX/bin:$PATH
export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH
export XDG_DATA_DIRS=$PREFIX/share:$XDG_DATA_DIRS
export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules
export SRC_DIR=$HOME/code/gimplch/build

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get build-dep gimp
sudo apt-get install git

mkdir $HOME/code
mkdir $HOME/code/gimplch
mkdir $HOME/code/gimplch/build
mkdir $HOME/code/gimplch/install
mkdir $HOME/code/gimplch/install/share
mkdir $HOME/code/gimplch/install/share/aclocal
touch $HOME/code/gimplch/install/share/aclocal/gimp-2.0.m4

cd $HOME/code/gimplch/build
git clone git://git.gnome.org/glib
git clone git://git.gnome.org/gdk-pixbuf
git clone git://git.gnome.org/babl
git clone git://git.gnome.org/gegl
git clone git://github.com/mypaint/libmypaint.git

cd $SRC_DIR/glib
./autogen.sh --prefix=$PREFIX
make -j5
make -j3 install
cd ..
git clone git://git.gnome.org/json-glib
cd $SRC_DIR/json-glib
./autogen.sh --prefix=$PREFIX
make -j5
make -j5 install
cd $SRC_DIR/gdk-pixbuf
./autogen.sh --prefix=$PREFIX
make -j5
make -j5 install
cd $SRC_DIR/babl
./autogen.sh --prefix=$PREFIX --disable-docs
make -j5
make -j5 install
cd $SRC_DIR/gegl
./autogen.sh --prefix=$PREFIX --enable-gtk-doc-html=no --enable-workshop
make -j5
echo $PREFIX
make -j5 install
cd $SRC_DIR/libmypaint
scons prefix=$HOME/code/gimplch/install use_sharedlib=yes enable_gegl=true
scons prefix=$HOME/code/gimplch/install use_sharedlib=yes enable_gegl=true install
cd $SRC_DIR/gimp
cd ..
ls
git clone git://git.gnome.org/gimp
cd $SRC_DIR/gimp
./autogen.sh --prefix=$PREFIX --with-gimpdir=$HOME/code/gimplch/install/config --disable-gtk-doc --with-gimpdir=$HOME/code/gimpbeta/install/config
make -j5
make -j5 install

Actually starting Gimp if you already have Gimp installed can be tricky. Here’s the script I use based on the one in the guide.

#! /bin/bash
PREFIX=$HOME/code/gimplch/install
export PATH=$PREFIX/bin:$PATH
export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH
export XDG_DATA_DIRS=$PREFIX/share:$XDG_DATA_DIRS
export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal"
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules
export SRC_DIR=$HOME/code/gimplch/build
/home/djbarney/code/gimplch/install/bin/gimp-2.9

Now I know how to build I can start adding the patches for artists and photographers which are covered in the guide.

Example PBR screenshots from UE4 Blueprints Office Level

These PBR screenshots are taken in the editor with everything turned up full, apart from antialiasing which is dialled down low because I find it blurs too much out. The editor was in “Play mode”. F9 is used to take the screenshot. To me this is just like “instant render” having been used to using 3DS Max in the late 90’s and applications like Bryce. No more waiting for sometimes hours for big scenes to render a single frame. But of course someone still has to create all those models and textures !

HTML5/WebGL Export from Unreal Engine 4 & The Death of Traditional 3D Renderers.

ue4_site

After some time being away from these things I was pleasantly surprised to find a fully working HTML/WebGL export from Unreal Engine 4 (which is entirely free BTW until you start making money out of a project). I chose one of the template projects. Tested it using the “Play” button and then thought “I wonder if this could export to HTML5?”. Having some history with this kind of thing I was expecting bugs, missing files, crashes. But, no ! Apart from a long shader compiling process (I expect this template is not really designed for HTML5 export) the editor finally opens the scene in Firefox and I played it in an entirely identical form to what I played using a traditional executable application. EXTRAORDINARY ! Click on the picture below to load the live HTML5.

2016-04-02
Click on pic to load live HTML5/WebGL that was exported from UE4 (Note: requires 64bit browser, Hint: It’s likely that your browser is 64bit if you have a modern OS/system).

This is a FUCKING PARADIGM SHIFT going on here folks ! Not only does UE4 have the ability to export to ANY game (just like the one’s we play on PC, Playstation 4) to your browser, what I also see happening is the death traditional 3D raster renderers like 3DS Max, Bryce, Blender. They can all still be used for MODELLING. But waiting for entire epochs for a single frame (!) to render in Max or Blender is ABSURD when the hardware is now fast enough (GPU, CPU) to render in REAL TIME. Video games have of course been doing this for years, but its only recently that they have started to approach the level of quality that a purely non-realtime raster renderer can produce. Of course purists will say that a real time renderer can never match the mathematically correct ray tracing and shaders of a traditional renderer. They would be correct. A realtime renderer uses shortcuts to be able to produce each frame every 16.6 milliseconds … yes 16.6 HUNDREDTHS OF A SECOND for a single frame render to produce 60 frame per second. But most of the time WHO THE FUCK CAN TELL THE DIFFERENCE, WHO THE FUCK EVEN CARES ABOUT THE DIFFERENCE ?!!

So, above. One can be rendered real time ~60fps, the other takes the equivalent of years in computer time to render in Blender (to be fair to poor Blender it is a very good application and can render very fast, but not usually at 60fps unless you are using the BGE, see link at the bottom). Can you tell the difference ? I can’t ?

So, what does this mean in the real world ? Well, think about Pixar films or any media that needs rendered content. The traditional way has been to send it off to a render farm, but now we have realtime rendering …

“And what RenderDigimania lacks in realism, it more than makes up for in speed. In early tests, scenes rendered with mental ray took 210 second per frame, while RenderDigimania chewed through them at a rate of five frames per second. When you’re rendering a 15- or 20-minute episode every week, it’s easy to see how this pipeline is both efficient and affordable. In a typical test case, Digimania calculated that on a 52-episode production, its GPU solution could save a studio over £340,000 in rendering costs.” – How real-time rendering will change the way you work forever

Gamers have been doing this for years. It’s called “Machinima“.

Links:

http://www.realtimerendering.com/blog/

http://www.fluidray.com/

http://www.lumenrt.com/

“PBR” in Blender’s Viewport

http://www.creativebloq.com/3d/real-time-rendering-21514214