Coder Social home page Coder Social logo

ogtn / resil Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scaledlizard/resil

0.0 2.0 0.0 37.25 MB

ResIL (Resilient Image Library) continues development on the image library DevIL

License: GNU Lesser General Public License v2.1

CMake 0.48% Makefile 5.30% C++ 18.80% C 60.11% Objective-C 0.18% Shell 8.19% M4 0.70% Groff 1.77% SAS 0.04% HTML 2.47% Assembly 0.38% Module Management System 0.04% Smalltalk 0.01% Batchfile 0.02% Pascal 1.15% OpenEdge ABL 0.01% DIGITAL Command Language 0.19% Awk 0.11% Python 0.02% CLIPS 0.01%

resil's Introduction

Resilient Image Library (ResIL) version 1.7.9 Readme, Notes and Quick Use
-------------------------------------------------------------------------

<DZA[afk]> ResIL song: "la la la, a cross-platform image library utilizing a
           simple syntax to load, save, convert, manipulate, filter and display
           a variety of images with ease, la la la"


What is it?
-----------

ResIL is an Open Source image library whose distribution is done under the
terms of the GNU LGPL license. See the COPYING file for more details.
It was created as an updated fork of DevIL. Like DevIL, ResIL offers you a 
simple way to implement loading, manipulating, filtering, converting, 
displaying, saving from/to several different image formats in your own project.

ResIL source code uses code from the following projects:

ILMBase
Jasper
The Independent JPEG Group's JPEG software
Little CMS
libMNG
libPNG
OpenEXR
Tiff
zlib

Please refer to the idividual license files contained in the full source of ResIL
for the respective licenses of the projects.


Where can I find it?
--------------------

ResIL can be found at http://sourceforge.net/projects/resil


How do I build and install the 3 libraries ?
-----------------------------------------

*nix    users should read README.unix
VisualC users should read README.win
Cygwin  users should read README.cygwin
MacOSX  users should read README.macosx

PS: *nix stands for GNU/Linux, *BSD, SunOS/Solaris and perhaps some more.
 

More Extensive Documentation
----------------------------

This file is only a quick guide to point you to more detailed information on
how to use ResIL.  More extensive documentation can currently be found on the
ResIL site at http://openil.sf.net and in the /Docs directory in a normal
install.


Why the hell another image library?
-----------------------------------

I have never seen an image library that can do everything ResIL does.  Sure,
various different libraries can do part of what ResIL can do as well or even
better, but I wanted a simple to use library that encompassed all of these
features.  I also wanted an extremely portable image library that could be used
from a variety of languages and utilized the OpenGL syntax.


Basic Readme
------------

Most anything stated in this document applies to ResIL as well as ResILU and
ResILUT, unless otherwise stated. (This file is best viewed with word wrap on.)


Errors:
-------

All errors generated inside ResIL, along with illegal parameters passed to
ResIL functions are caught and passed to ilSetError(), an internal library
function.  The calling program can call ilGetError() to get the value of the
error generated.  Error types are defined in il.h, using the 0x501 - 0x5FF
range.  ilGetError() will return 0 (IL_NO_ERROR) if no error has occurred.


Basic Usage:
------

This demonstrates loading an image through ResIL for OpenGL. Don't forget to 
call ilInit before you before you do anything:

#include <IL/il.h>
#include <IL/ilu.h>
#include <IL/ilut.h>

...

ILuint ResILError;


ilInit();

ResILError = ilGetError();

if (ResILError != IL_NO_ERROR) {
  printf ("ResIL Error (ilInit: %s\n", iluGetErrorString (ResILError));
  exit (2);
}

....

ILuint ResILID;


ilGenImages(1, &ResILID);
ilBindImage(ResILID);
ilLoadImage("default1.tga");  // Loads into the current bound image
ResILError = ilGetError();

if (ResILError != IL_NO_ERROR) {
  printf ("ResIL Error (ilLoadImage: %s\n", iluGetErrorString (ResILError));
  exit (2);
}

....

ilutRenderer(IL_OPENGL);  // Switch the renderer

....

GLuint openglID, openglError;


openglID   = ilutGLBindTexImage(); // This generates the texture for you
ResILError = ilGetError();

if (ResILError != IL_NO_ERROR) {
  printf ("Error: %s\n", iluGetErrorString (ResILError));
  exit (2);
}

if (openglError != GL_NO_ERROR) {
  printf ("Opengl Error (ilutGLBindTexImage): %s\n", gluGetErrorString (openglError));
  exit (2);
}



// Make sure to close the image when you are done with it (though ResIL
// automatically deletes them when the program exits):

glDeleteTextures(1, &openglID);
ilDeleteImages  (1, &ResILID);


More Examples:
---------

The TestIL project is included to test features of ResIL.

ResIL includes a project called GLTest.  This is a simple test of ResIL's
capabilities.  All it does it load any image and displays it in a window
created by FreeGlut, which is available on http://freeglut.sourceforge.net. It
is also included to let the user have an idea of what the library can really
be used for.

Several other test projects are included to test support with various display
APIs.  The WindowsTest project is a basic image program that only runs in
Windows right now but showcases several of ResIL's features through various
menus.

If you want more in-depth tutorials, you can find them on
http://openil.sf.net, or they may be in your installation under the /examples
directory.  Documents are also available in the /docs directory.


Additional Reading
------------------

All image formats used in ResIL have corresponding documents on
http://www.wotsit.org, under the Graphics Files section.  These documents
proved invaluable for the creation of this library when there was no library
already available for that image format.


Legalese
--------

All contents of this file are intellectual property of Denton Woods,
copyright 2001-2008. Last edited by Björn Ganster.

resil's People

Contributors

abma avatar scaledlizard avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.