Commit 346023e4 authored by Jakob Weiss's avatar Jakob Weiss
Browse files

Updated DevIL to 1.8.0

* Added more supported file formats to DevilImageReader and DevilImageWriter
* Added more supported formats for datacontainerinspectorwidget.cpp export to file
parent 211311c1
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -446,7 +446,7 @@ namespace campvis {
                else if (handle.getData<ImageData>() || handle.getData<RenderData>()) {
                    QString dialogCaption = "Export " + name + " as Image";
                    QString directory = tr("");
                    const QString fileFilter = tr("*.png;;PNG images (*.png)");
                    const QString fileFilter = tr("Image (*.png *.bmp *.jpg *.tif);;RAW Image (*.raw);;DirectDraw Surface (*.dds);;C-style header (*.h);;Radiance High Dynamic (*.hdr)");

                    QString filename = QFileDialog::getSaveFileName(this, dialogCaption, directory, fileFilter);

@@ -503,10 +503,13 @@ namespace campvis {
        ilEnable(IL_FILE_OVERWRITE);
        ilResetWrite();
        ILboolean success = ilSaveImage(filename.c_str());

        ilDeleteImages(1, &img);

        if (!success) {
            LERRORC("CAMPVis.application.DataContainerInspectorWidget", "Could not save image to file: " << ilGetError());
            ILenum error = ilGetError();
            LERRORC("CAMPVis.application.DataContainerInspectorWidget", "Could not save image to file: " << error << ": " << iluErrorString(error));

        }
#else
        return;
+13 −0
Original line number Diff line number Diff line
%module DevIL
%{
#include "il.h"
#include "ilu.h"
#include "ilut.h"
//#include "ilu_region.h"
%}

%include "il.h"
%include "ilu.h"
%include "ilut.h"
//%include "ilu_region.h"
+51 −0
Original line number Diff line number Diff line
IL_INCLUDE_PATH="/usr/include"
IL_LIB_PATH="/usr/lib"
LUA_INCLUDE_PATH="/usr/include/lua5.1"
LUA_LIB_PATH="/usr/lib"
OSX=no

echo "Building the lua binding!"

export SWIG_FEATURES="-I$IL_INCLUDE_PATH"
swig -lua DevIL.i
if [ $? -ne 0 ] ; then
	echo "swig Failed to build the lua interface"
	exit 1
fi

compile() {
	gcc luadevil.c "$1" -o luadevil "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT -llua5.1 &>/dev/null
	err=$?
	if [ "$OSX" = "no" ] ; then
		gcc -shared "$1" -o DevIL.so "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT &>/dev/null
	else
	    gcc -bundle -undefined dynamic_lookup "$1" -o DevIL.so "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT &>/dev/null
	fi
	return $err
}

compile DevIL_wrap.c
if [ $? -ne 0 ] ; then
	echo 'Failed compilation'
	echo 'On some platform the file malloc.h is not present and produces a compilation error'
	echo -n 'it can be removed safely, try [y/n] ? '
	while read i ; do 
		if [ "$i" = "y" ] ; then
			sed 's/\#include\ \<malloc\.h\>//' < DevIL_wrap.c > DevIL_wrap.mod.c
			compile "DevIL_wrap.mod.c"
			if [ $? -ne 0 ] ; then
				echo 'still failing...'
				exit 2
			fi
			exit 0
		elif [ "$i" = "n" ] ; then
			echo 'ok, failing...'
			exit 3
		else
			echo 'Unknown command [y/n] ? '
		fi
	done
fi

echo "ok!"
exit 0
+17 −0
Original line number Diff line number Diff line
#! /bin/bash 

IL_INCLUDE_PATH="/usr/local/include"
IL_LIB_PATH="/usr/local/lib"
PYTHON_INCLUDE_PATH="/usr/include/python2.5"

swig "-I$IL_INCLUDE_PATH" -python -interface DevIL DevIL.i
if [ $? -ne 0 ] ; then
	echo Error while building the swig interface
	exit 1
fi

gcc -shared "-I$IL_INCLUDE_PATH" "-I$PYTHON_INCLUDE_PATH" "-L$IL_LIB_PATH" -lIL -lILU -lILUT DevIL_wrap.c -o DevIL.so
if [ $? -ne 0 ] ; then
	echo Error while compiling the python module
fi
echo "DevIL.py and DevIL.so are ready"
+0 −140
Original line number Diff line number Diff line
/* include/IL/config.h.  Generated by configure.  */
/* include/IL/config.h.in.  Generated from configure.in by autoheader.  */
#ifndef __CONFIG_H__
#define __CONFIG_H__

#define IL_USE_PRAGMA_LIBS

// Supported image formats (IL)

// #define IL_NO_BLP
// #define IL_NO_BMP
// #define IL_NO_CUT
// #define IL_NO_CHEAD
// #define IL_NO_DCX
// #define IL_NO_DDS
// #define IL_NO_DICOM
// #define IL_NO_DOOM
// #define IL_NO_EXR
// #define IL_NO_FITS
// #define IL_NO_FTX
// #define IL_NO_GIF
// #define IL_NO_HDR
// #define IL_NO_ICO
// #define IL_NO_ICNS
// #define IL_NO_IWI
// #define IL_NO_JP2
// #define IL_NO_JPG
// #define IL_NO_LCMS
// #define IL_NO_LIF
// #define IL_NO_MDL
// #define IL_NO_MNG
// #define IL_NO_PCD
// #define IL_NO_PCX
// #define IL_NO_PIC
// #define IL_NO_PIX
// #define IL_NO_PNG
// #define IL_NO_PNM
// #define IL_NO_PSD
// #define IL_NO_PSP
// #define IL_NO_PXR
// #define IL_NO_RAW
// #define IL_NO_ROT
// #define IL_NO_SGI
// #define IL_NO_SUN
// #define IL_NO_TGA
// #define IL_NO_TIF
// #define IL_NO_TPL
// #define IL_NO_WAL
// #define IL_NO_WDP
// #define IL_NO_XPM
#define IL_USE_JPEGLIB_UNMODIFIED 1
//#define IL_USE_DXTC_NVIDIA
#define IL_USE_DXTC_SQUISH

/* Supported api (ilut) */


//
// sorry just
// cant get this one to work under windows
// have disabled for the now
//
// will look at it some more later
//
// Kriss
//
#undef ILUT_USE_ALLEGRO

#undef ILUT_USE_DIRECTX8
//#define ILUT_USE_DIRECTX9
//#define ILUT_USE_DIRECTX10
//#define ILUT_USE_OPENGL
//#define ILUT_USE_SDL
//#define ILUT_USE_WIN32


/* Define to 1 if you have the <dlfcn.h> header file. */
//#define HAVE_DLFCN_H 1

/* Define to 1 if you have the <inttypes.h> header file. */
//#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <memory.h> header file. */
//#define HAVE_MEMORY_H 1

/* Define to 1 if you have the <stdint.h> header file. */
//#define HAVE_STDINT_H 1

/* Define to 1 if you have the <stdlib.h> header file. */
//#define HAVE_STDLIB_H 1

/* Define to 1 if you have the <strings.h> header file. */
//#define HAVE_STRINGS_H 1

/* Define to 1 if you have the <string.h> header file. */
//#define HAVE_STRING_H 1

/* Define to 1 if you have the <sys/stat.h> header file. */
//#define HAVE_SYS_STAT_H 1

/* Define to 1 if you have the <sys/types.h> header file. */
//#define HAVE_SYS_TYPES_H 1

/* Define to 1 if you have the <unistd.h> header file. */
//#define HAVE_UNISTD_H 1

/* Name of package */
#define IL_PACKAGE "DevIL"

/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""

/* Define to the full name of this package. */
#define IL_PACKAGE_NAME ""

/* Define to the full name and version of this package. */
#define IL_PACKAGE_STRING ""

/* Define to the one symbol short name of this package. */
#define IL_PACKAGE_TARNAME ""

/* Define to the version of this package. */
#define IL_PACKAGE_VERSION ""

/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1

/* Version number of package */
//#define IL_VERSION "1.7.3"

/* Define to 1 if your processor stores words with the most significant byte
   first (like Motorola and SPARC, unlike Intel and VAX). */
/* #undef WORDS_BIGENDIAN */

/* If using Mac OS X uncomment this line */
/* #include "macconfig.h" */

/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */
#endif /* __CONFIG_H__ */
Loading