Skip to content
— CH. 1 · ORIGINS AND RENAMING —

Devil

~3 min read · Ch. 1 of 6
6 sections
  • Denton Woods launched the project that would become DevIL in the early 2000s. The library began life under a different name called OpenIL. This initial title created legal friction with Silicon Graphics, Inc., a major player in graphics hardware at the time. Silicon Graphics requested a change to avoid confusion with their own proprietary libraries. Woods complied with the request and renamed the software to Developer's Image Library or DevIL. This shift marked the first major milestone in the tool's history. The rebranding ensured the project could continue without legal hurdles from established industry giants.

  • The system divides its functionality into three distinct parts for clarity and organization. The main library carries the core image handling logic and is known simply as IL. A second component serves as the utility library and bears the name ILU. The third piece functions as the utility toolkit and goes by the label ILUT. This structure mirrors the architecture found within OpenGL although the OpenGL Utility Toolkit does not appear in the official specification. Developers can access specific features through these separate modules rather than one monolithic block of code. The separation allows users to pick which components they need for a given application.

  • DevIL currently supports 43 file formats for reading data into memory. It also handles writing operations for 17 different formats depending on user configuration. Common formats like BMP, JPEG, PNG, TGA, and TIFF enjoy read-write support across many installations. The actual list of supported types depends heavily on compilation settings chosen during setup. External libraries such as libjpeg and libpng must be present to enable certain format capabilities. Without these external dependencies, the software cannot process those specific file types. Users often configure their builds to include only the formats required for their projects.

  • The library offers advanced functionality including full support for 3d texture volumes or three-dimensional images. Animations and layers receive dedicated support allowing complex visual sequences to be handled efficiently. Automatic color conversions occur when saving images if needed without manual intervention from the programmer. The system maintains a state stack that can be pushed and popped during execution. Direct access to image data happens through functions named ilGetData and ilSetData. Validation checks ensure images are valid before processing begins. Developers can apply effects like embossing or edge detection using built-in filters. Images can be resized or placed onto larger backgrounds known as canvases.

  • Portability remains a central goal for the entire project team. DevIL runs smoothly on Windows operating systems without modification. It also supports Mac OS X environments with equal ease. Linux and other *nix variants receive full compatibility guarantees as well. The codebase uses OpenGL-style syntax which simplifies integration for graphics programmers. Full Unicode support exists for filenames ensuring international character sets work correctly. Sixty-four-bit compatibility allows modern processors to handle large datasets effectively. Users can pick specific features to create smaller dynamic link libraries for distribution.

Common questions

What was the original name of DevIL before it changed?

DevIL originally launched under the name OpenIL. This initial title created legal friction with Silicon Graphics, Inc., which requested a change to avoid confusion with their proprietary libraries.

Who founded the DevIL project and when did they launch it?

Denton Woods launched the project that would become DevIL in the early 2000s. The library began life under the different name called OpenIL before Woods complied with requests to rename it.

How many file formats does DevIL support for reading data into memory?

DevIL currently supports 43 file formats for reading data into memory. It also handles writing operations for 17 different formats depending on user configuration and compilation settings.

What are the three distinct components of the DevIL system architecture?

The main library carries core image handling logic and is known simply as IL. A second component serves as the utility library and bears the name ILU while the third piece functions as the utility toolkit and goes by the label ILUT.

Under what license agreement does DevIL operate today?

DevIL operates under the terms of the LGPL license agreement today. This classification places it within the Free Software Foundation directory of approved projects and allows developers to use, modify, and distribute the code freely.