📄 changelog
字号:
Version 1.6.1:
* Removed Windows .suo files from distribution.
(Eric Wimmer)
* Bug fix: crashes, memory leaks and file descriptor leaks
when reading damaged image files (some reported by Apple,
others found by running IlmImfFuzzTest).
(Florian Kainz)
* Added new IlmImfFuzzTest program to test how resilient the
IlmImf library is with respect broken input files: the program
first damages OpenEXR files by partially overwriting them with
random data; then it tries to read the damaged files. If all
goes well, the program doesn't crash.
(Florian Kainz)
Version 1.6.0:
* Bumped DSO version number to 6.0
(Florian Kainz)
* Added new standard attributes related to color rendering with
CTL (Color Transformation Language): renderingTransform,
lookModTransform and adoptedNeutral.
(Florian Kainz)
* Bug fix: for pixels with luminance near HALF_MIN, conversion
from RGB to luminance/chroma produces NaNs and infinities
(Florian Kainz)
* Bug fix: excessive desaturation of small details with certain
colors after repeatedly loading and saving luminance/chroma
encoded images with B44 compression.
(Florian Kainz)
* Added B44A compression, a minor variation of B44: in most cases,
the compression ratio is 2.28:1, the same as with B44, but in
uniform image areas where all pixels have the same value, the
compression ratio increases to 10.66:1. Uniform areas occur, for
example, in an image's alpha channel, which typically contains
large patches that are solid black or white, or in computer-
generated images with a black background.
(Florian Kainz)
* Added flag to configure.ac to enable or disable use of large
auto arrays in the IlmImf library. Default is "enable" for
Linux, "disable" for everything else.
(Darby Johnston, Florian Kainz)
* corrected version number on dso's (libtool) - now 5.0
* Separated ILMBASE_LDFLAGS and ILMBASE_LIBS so that test programs
can link with static libraries properly
* eliminated some warning messages during install
(Andrew Kunz)
Version 1.5.0:
* reorganized packaging of OpenEXR libraries to facilitate
integration with CTL. Now this library depends on the library
IlmBase. Some functionality has been moved into OpenEXR_Viewers,
which depends on two other libraries, CTL and OpenEXR_CTL.
Note: previously there were separate releases of
OpenEXR-related plugins for Renderman, Shake and Photoshop.
OpenEXR is supported natively by Rendermand and Photoshop, so
these plugins will not be supported for this or future
versions of OpenEXR.
(Andrew Kunz)
* New build scripts for Linux/Unix
(Andrew Kunz)
* New Windows project files and build scripts
(Kimball Thurston)
* float-to-half conversion now preserves the sign of float zeroes
and of floats that are so small that they become half zeroes.
(Florian Kainz)
* Bug fix: Imath::Frustum<T>::planes() returns incorrect planes
if the frustum is orthogonal.
(Philip Hubbard)
* added new framesPerSecond optional standard attribute
(Florian Kainz)
* Imath cleanup:
- Rewrote function Imath::Quat<T>::setRotation() to make it
numerically more accurate, added confidence tests
- Rewrote function Imath::Quat<T>::slerp() using Don Hatch's
method, which is numerically more accurate, added confidence
tests.
- Rewrote functions Imath::closestPoints(), Imath::intersect(),
added confidence tests.
- Removed broken function Imath::nearestPointOnTriangle().
- Rewrote Imath::drand48(), Imath::lrand48(), etc. to make
them functionally identical with the Unix/Linux versions
of drand48(), lrand48() and friends.
- Replaced redundant definitions of Int64 in Imath and IlmImf
with a single definition in ImathInt64.h.
(Florian Kainz)
* exrdisplay: if the file's and the display's RGB chromaticities
differ, the pixels RGB values are transformed from the file's
to the display's RGB space.
(Florian Kainz)
* Added new lossy B44 compression method. HALF channels are
compressed with a fixed ratio of 2.28:1. UINT and FLOAT
channels are stored verbatim, without compression.
(Florian Kainz)
Version 1.4.0a:
* Fixed the ReleaseDLL targets for Visual Studio 2003.
(Barnaby Robson)
Version 1.4.0:
* Production release.
* Bug Fix: calling setFrameBuffer() for every scan line
while reading a tiled file through the scan line API
returns bad pixel data. (Paul Schneider, Florian Kainz)
Version 1.3.1:
* Fixed the ReleaseDLL targets for Visual Studio 2005.
(Nick Porcino, Drew Hess)
* Fixes/enhancements for createDLL.
(Nick Porcino)
Version 1.3.0:
* Removed openexr.spec file, it's out of date and broken to
boot.
(Drew Hess)
* Support for Visual Studio 2005.
(Drew Hess, Nick Porcino)
* When compiling against OpenEXR headers on Windows, you
no longer need to define any HAVE_* or PLATFORM_*
macros in your projects. If you are using any OpenEXR
DLLs, however, you must define OPENEXR_DLL in your
project's preprocessor directives.
(Drew Hess)
* Many fixes to the Windows VC7 build system.
(Drew Hess, Nick Porcino)
* Support for building universal binaries on OS X 10.4.
(Drew Hess, Paul Schneider)
* Minor configure.ac fix to accomodate OS X's automake.
(Drew Hess)
* Removed CPU-specific optimizations from configure.ac,
autoconf's guess at the CPU type isn't very useful,
anyway. Closes #13429.
(Drew Hess)
* Fixed quoting for tests in configure.ac. Closes #13428.
(Drew Hess)
* Use host specification instead of target in configure.ac.
Closes #13427.
(Drew Hess)
* Fix use of AC_ARG_ENABLE in configure.ac. Closes
#13426.
(Drew Hess)
* Removed workaround for OS X istream::read bug.
(Drew Hess)
* Added pthread support to OpenEXR pkg-config file.
(Drew Hess)
* Added -no-undefined to LDFLAGS and required libs to LIBADD
for library projects with other library dependencies, per
Rex Dieter's patch.
(Drew Hess)
* HAVE_* macros are now defined in the OpenEXRConfig.h header
file instead of via compiler flags. There are a handful of
public headers which rely on the value of these macros,
and projects including these headers have previously needed
to define the same macros and values as used by OpenEXR's
'configure', which is bad form. Now 'configure' writes these
values to the OpenEXRConfig.h header file, which is included
by any OpenEXR source files that need these macros. This
method of specifying HAVE_* macros guarantees that projects
will get the proper settings without needing to add compile-
time flags to accomodate OpenEXR. Note that this isn't
implemented properly for Windows yet.
(Drew Hess)
* Platform cleanups:
- No more support for IRIX or OSF1.
- No more explicit support for SunOS, because we have no way to
verify that it's working. I suspect that newish versions of
SunOS will just work out of the box, but let me know if not.
- No more PLATFORM_* macros (vestiges of the ILM internal build
system). PLATFORM_DARWIN_PPC is replaced by HAVE_DARWIN.
PLATFORM_REDHAT_IA32 (which was only used in IlmImfTest) is
replaced by HAVE_LINUX_PROCFS.
- OS X 10.4, which is the minimum version we're going to support
with this version, appears to have support for nrand48 and friends,
so no need to use the Imath-supplied version of them anymore.
(Drew Hess)
* No more PLATFORM_WINDOWS or PLATFORM_WIN32, replace with
proper standard Windows macros. (Drew Hess)
* Remove support for gcc 2.95, no longer supported. (Drew Hess)
* Eliminate HAVE_IOS_BASE macro, OpenEXR now requires support for
ios_base. (Drew Hess)
* Eliminate HAVE_STL_LIMITS macro, OpenEXR now requires the ISO C++
<limits> header. (Drew Hess)
* Use double quote-style include dirctives for OpenEXR
includes. (Drew Hess)
* Added a document that gives an overview of the on-disk
layout of OpenEXR files (Florian Kainz)
* Added sections on layers and on memory-mapped file input
to the documentation. (Florian Kainz)
* Bug fix: reading an incomplete file causes a deadlock while
waiting on a semaphore. (Florian Kainz)
* Updated documentation (ReadingAndWritingImageFiles.sxw) and
sample code (IlmImfExamples):
Added a section about multi-threading, updated section on
thread-safety, changed documentation and sample code to use
readTiles()/writeTiles() instead of readTile()/writeTile()
where possible, mentioned that environment maps contain
redundant pixels, updated section on testing if a file is
an OpenEXR file.
(Florian Kainz)
* Multi-threading bug fixes (exceptions could be thrown
multiple times, some operations were not thread safe),
updated some comments, added comments, more multithreaded
testing.
(Florian Kainz)
* Added multi-threading support: multiple threads
cooperate to read or write a single OpenEXR file.
(Wojciech Jarosz)
* Added operator== and operator!= to Imath::Frustum.
(Andre Mazzone)
* Bug fix: Reading a PIZ-compressed file with an invalid
Huffman code table caused crashes by indexing off the
end of an array.
(Florian Kainz)
Version 1.2.2:
* Updated README to remove option for building with Visual C++ 6.0.
(Drew Hess)
* Some older versions of gcc don't support a full iomanip
implemenation; check for this during configuration.
(Drew Hess)
* Install PDF versions of documentation, remove old/out-of-date
HTML documentation. (Florian Kainz)
* Removed vc/vc6 directory; Visual C++ 6.0 is no longer
supported. (Drew Hess)
* Updated README.win32 with details of new build system.
(Florian Kainz, Drew Hess)
* New build system for Windows / Visual C++ 7 builds both
static libraries and DLLs.
(Nick Porcino)
* Removed Imath::TMatrix<T> and related classes, which are not
used anywhere in OpenEXR.
(Florian Kainz)
* Added minimal support for "image layers" to class Imf::ChannelList
(Florian Kainz)
* Added new isComplete() method to InputFile, TiledInputFile
etc., that checks if a file is complete or if any pixels
are missing (for example, because writing the file was
aborted prematurely).
(Florian Kainz)
* Exposed staticInitialize() function in ImfHeader.h in order
to allow thread-safe library initialization in multithreaded
programs.
(Florian Kainz)
* Added a new "time code" attribute
(Florian Kainz)
* exrmaketiled: when a MIPMAP_LEVELS or RIPMAP_LEVELS image
is produced, low-pass filtering takes samples outside the
image's data window. This requires extrapolating the image.
The user can now specify how the image is extrapolated
horizontally and vertically (image is surrounded by black /
outermost row of pixels repeats / entire image repeats /
entire image repeats, every other copy is a mirror image).
exrdisplay: added option to swap the top and botton half,
and the left and right half of an image, so that the image's
four corners end up in the center. This is useful for checking
the seams of wrap-around texture map images.
IlmImf library: Added new "wrapmodes" standard attribute
to indicate the extrapolation mode for MIPMAP_LEVELS and
RIPMAP_LEVELS images.
(Florian Kainz)
* Added a new "key code" attribute to identify motion picture
film frames.
(Florian Kainz)
* Removed #include <Iex.h> from ImfAttribute.h, ImfHeader.h
and ImfXdr.h so that including header files such as
ImfInputFile.h no longer defines ASSERT and THROW macros,
which may conflict with similar macros defined by
application programs.
(Florian Kainz)
* Converted HTML documentation to OpenOffice format to
make maintaining the documents easier:
api.html -> ReadingAndWritingImageFiles.sxw
details.html -> TechnicalIntroduction.sxw
(Florian Kainz)
Version 1.2.1:
* exrenvmap and exrmaketiled use slightly less memory
(Florian Kainz)
* Added functions to IlmImf for quickly testing if a file
is an OpenEXR file, and whether the file is scan-line
based or tiled. (Florian Kainz)
* Added preview image examples to IlmImfExamples. Added
description of preview images and environment maps to
docs/api.html (Florian Kainz)
* Bug fix: PXR24 compression did not work properly for channels
with ySampling != 1.
(Florian Kainz)
* Made template <class T> become template <class S, class T> for
the transform(ObjectS, ObjectT) methods. This was done to allow
for differing templated objects to be passed in e.g. say a
Box<Vec3<S>> and a Matrix44<T>, where S=float and T=double.
(Jeff Yost, Arkell Rasiah)
* New method Matrix44::setTheMatrix(). Used for assigning a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -