Archives for posts with tag: texture

Arithmetic expressions appear in almost every animation system ever created. Being able to embed an expression language in a piece of custom software allows an amazing degree of artistic freedom. At Disney artists have enjoyed using expressions because they allow just enough flexibility without being overwhelming to non-programmer users. Developers have enjoyed them too for quick prototyping and deployment of fixes to production needs.

History

At Disney there have been various expression languages. SeExpr started as a language for our procedural geometry instancing tool, XGen. Work was done to generalize it into something that could be used in other contexts. Later it was integrated into paint3d, our texture painting facility, which opened the door to procedural synthesis. More recently, we have integrated it as a way of defining procedural controls to physical dynamical simulations and render time particle instancing.

Expressions can be seen as a way of allowing customization of inner loops. This is contrast to scripting which is mostly aimed at gluing large parts of code base together. So in this sense, C++ forms the center of your application, python could be used to put pieces of it together, and SeExpr is used to customize tight inner loops.

Major Features

  • Arithmetic expression of scalar/vector types
  • Large library of builtin functions
  • Extensible variables and functions (including with DSOs)
  • Simple to embed in any program

Home Page: http://www.disneyanimation.com/technology/seexpr.html
Project Page: http://github.com/wdas/seexpr/
Language: C++
Platform: Linux, OSX, Windows
License: New BSD
Sponsor: Walt Disney Animation Studios

Ptex is a texture mapping system developed by Walt Disney Animation Studios for production-quality rendering:

  • No UV assignment is required! Ptex applies a separate texture to each face of a subdivision or polygon mesh.
  • The Ptex file format can efficiently store hundreds of thousands of texture images in a single file.
  • The Ptex API provides cached file I/O and high-quality filtering – everything that is needed to easily add Ptex support to a production-quality renderer or texture authoring application.

Home Page: http://ptex.us/
Project Page: http://github.com/wdas/ptex/
Language: C++
Platform: Linux, OS X, Windows
License: New BSD
Sponsor: Walt Disney Animation Studios

GIMP is a versatile and full-featured image processing and paint package.  Through it’s scripting interface it can also provide online batch processing systems, a mass production image renderer or function as an image format converter.

GIMP is expandable and extensible. It is designed to be augmented with plug-ins and extensions.

(more…)

Home Page: http://www.gimp.org/
Project Page: http://developer.gimp.org/
Language: C
Platform: Windows, Linux, OSX
License: GPL

OpenImageIO is a library for reading and writing images in many formats, and a bunch of related classes, utilities, and applications.

Main features include:

  • Extremely simple but powerful ImageInput and ImageOutput APIs for reading and writing 2D images that are format agnostic — that is, a “client app” doesn’t need to know the details about any particular image file formats. Specific formats are implemented by DLL/DSO plugins.
  • Format plugins for TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000, FITS, BMP, and ICO formats. More coming! The plugins are really good at understanding all the strange corners of the image formats, and are very careful about preserving image metadata (including Exif, GPS, and IPTC data).
  • An ImageCache class that transparently manages a cache so that it can access truly vast amounts of image data (thousands of image files totaling hundreds of GB) very efficiently using only a tiny amount (tens of megabytes at most) of runtime memory. Additionally, a TextureSystem class provides filtered MIP-map texture lookups, atop the nice caching behavior of ImageCache.
  • Several image tools based on these classes, including iinfo (print detailed info about images including metadata), iconvert (convert among formats, data types, or modify metadata), idiff (compare images with statistics), igrep (search images for matching metadata), iv (an image viewer). Because these tools are based on ImageInput/ImageOutput, they work with any image formats for which ImageIO plugins are available.

Home Page: http://www.openimageio.org
Project Page: http://www.openimageio.org
Language: C++ (Python bindings under development)
Platform: Linux, Mac OS X, Windows
License: New BSD