[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61497] trunk/lib/ darwin-9.x.universal/openexr: OSX/EXR: update to ilm/exr 2.2.0
jens verwiebe
info at jensverwiebe.de
Sun Feb 8 19:09:41 CET 2015
Revision: 61497
https://developer.blender.org/rBL61497
Author: jensverwiebe
Date: 2015-02-08 18:09:40 +0000 (Sun, 08 Feb 2015)
Log Message:
-----------
OSX/EXR: update to ilm/exr 2.2.0
Modified Paths:
--------------
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexExport.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexMathFloatExc.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustum.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfArray.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfAttribute.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfCompression.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfConvert.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfDeepFrameBuffer.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfMultiView.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfNamespace.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfPartType.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfRgbaFile.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfStandardAttributes.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfTestFile.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/OpenEXRConfig.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/halfExport.h
trunk/lib/darwin-9.x.universal/openexr/lib/libHalf.a
trunk/lib/darwin-9.x.universal/openexr/lib/libIex.a
trunk/lib/darwin-9.x.universal/openexr/lib/libIlmImf.a
trunk/lib/darwin-9.x.universal/openexr/lib/libIlmThread.a
trunk/lib/darwin-9.x.universal/openexr/lib/libImath.a
Added Paths:
-----------
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustumTest.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfDeepImageState.h
trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImfDeepImageStateAttribute.h
trunk/lib/darwin-9.x.universal/openexr/lib/libIexMath.a
trunk/lib/darwin-9.x.universal/openexr/lib/libIlmImfUtil.a
Modified: trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexExport.h
===================================================================
--- trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexExport.h 2015-02-08 18:02:41 UTC (rev 61496)
+++ trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexExport.h 2015-02-08 18:09:40 UTC (rev 61497)
@@ -35,30 +35,17 @@
//
///////////////////////////////////////////////////////////////////////////
-
-#if defined(PLATFORM_WINDOWS)
-# if defined(PLATFORM_BUILD_STATIC)
-# define IEX_EXPORT_DEFINITION
-# define IEX_IMPORT_DEFINITION
-# else
-# define IEX_EXPORT_DEFINITION __declspec(dllexport)
-# define IEX_IMPORT_DEFINITION __declspec(dllimport)
-# endif
-#else // linux/macos
-# if defined(PLATFORM_VISIBILITY_AVAILABLE)
-# define IEX_EXPORT_DEFINITION __attribute__((visibility("default")))
-# define IEX_IMPORT_DEFINITION
-# else
-# define IEX_EXPORT_DEFINITION
-# define IEX_IMPORT_DEFINITION
-# endif
+#if defined(OPENEXR_DLL)
+ #if defined(IEX_EXPORTS)
+ #define IEX_EXPORT __declspec(dllexport)
+ #else
+ #define IEX_EXPORT __declspec(dllimport)
+ #endif
+ #define IEX_EXPORT_CONST
+#else
+ #define IEX_EXPORT
+ #define IEX_EXPORT_CONST const
#endif
-#if defined(IEX_EXPORTS) // create library
-# define IEX_EXPORT IEX_EXPORT_DEFINITION
-#else // use library
-# define IEX_EXPORT IEX_IMPORT_DEFINITION
-#endif
-
#endif // #ifndef IEXEXPORT_H
Modified: trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexMathFloatExc.h
===================================================================
--- trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexMathFloatExc.h 2015-02-08 18:02:41 UTC (rev 61496)
+++ trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IexMathFloatExc.h 2015-02-08 18:09:40 UTC (rev 61497)
@@ -39,18 +39,21 @@
#ifndef IEXMATH_EXPORT_H
#define IEXMATH_EXPORT_H
-#if defined(PLATFORM_WINDOWS) && !defined(ZENO_STATIC)
-# ifdef IEXMATH_EXPORTS
-# define IEXMATH_EXPORT __declspec(dllexport)
-# else
-# define IEXMATH_EXPORT __declspec(dllimport)
-# endif
+
+#if defined(OPENEXR_DLL)
+ #if defined(IEX_EXPORTS)
+ #define IEXMATH_EXPORT __declspec(dllexport)
+ #else
+ #define IEXMATH_EXPORT __declspec(dllimport)
+ #endif
+ #define IEXMATH_EXPORT_CONST
#else
-# define IEXMATH_EXPORT
+ #define IEXMATH_EXPORT
+ #define IEXMATH_EXPORT_CONST const
#endif
+
#endif
-
#include "IexNamespace.h"
#include "IexMathExc.h"
//#include <IexBaseExc.h>
Modified: trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h
===================================================================
--- trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h 2015-02-08 18:02:41 UTC (rev 61496)
+++ trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/IlmBaseConfig.h 2015-02-08 18:09:40 UTC (rev 61497)
@@ -1,4 +1,4 @@
-/* config/IlmBaseConfig.h. Generated by configure. */
+/* config/IlmBaseConfig.h. Generated from IlmBaseConfig.h.in by configure. */
//
// Define and set to 1 if the target system has POSIX thread support
// and you want IlmBase to use it for multithreaded file I/O.
@@ -36,9 +36,9 @@
// client namespaces.
//
#define ILMBASE_INTERNAL_NAMESPACE_CUSTOM 1
-#define IMATH_INTERNAL_NAMESPACE Imath_2_0
-#define IEX_INTERNAL_NAMESPACE Iex_2_0
-#define ILMTHREAD_INTERNAL_NAMESPACE IlmThread_2_0
+#define IMATH_INTERNAL_NAMESPACE Imath_2_2
+#define IEX_INTERNAL_NAMESPACE Iex_2_2
+#define ILMTHREAD_INTERNAL_NAMESPACE IlmThread_2_2
/* #undef ILMBASE_NAMESPACE_CUSTOM */
#define IMATH_NAMESPACE Imath
@@ -57,11 +57,11 @@
//
// Version information
//
-#define ILMBASE_VERSION_STRING "2.0.0"
-#define ILMBASE_PACKAGE_STRING "IlmBase 2.0.0"
+#define ILMBASE_VERSION_STRING "2.2.0"
+#define ILMBASE_PACKAGE_STRING "IlmBase 2.2.0"
#define ILMBASE_VERSION_MAJOR 2
-#define ILMBASE_VERSION_MINOR 0
+#define ILMBASE_VERSION_MINOR 2
#define ILMBASE_VERSION_PATCH 0
// Version as a single hex number, e.g. 0x01000300 == 1.0.3
Modified: trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustum.h
===================================================================
--- trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustum.h 2015-02-08 18:02:41 UTC (rev 61496)
+++ trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustum.h 2015-02-08 18:09:40 UTC (rev 61497)
@@ -129,8 +129,8 @@
// to transform the frustum before setting the planes.
//-----------------------------------------------------------------------
- void planes(Plane3<T> p[6]);
- void planes(Plane3<T> p[6], const Matrix44<T> &M);
+ void planes(Plane3<T> p[6]) const;
+ void planes(Plane3<T> p[6], const Matrix44<T> &M) const;
//----------------------
// Derived Quantities
@@ -645,7 +645,7 @@
}
template<class T>
-void Frustum<T>::planes(Plane3<T> p[6])
+void Frustum<T>::planes(Plane3<T> p[6]) const
{
//
// Plane order: Top, Right, Bottom, Left, Near, Far.
@@ -678,7 +678,7 @@
template<class T>
-void Frustum<T>::planes(Plane3<T> p[6], const Matrix44<T> &M)
+void Frustum<T>::planes(Plane3<T> p[6], const Matrix44<T> &M) const
{
//
// Plane order: Top, Right, Bottom, Left, Near, Far.
Added: trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustumTest.h
===================================================================
--- trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustumTest.h (rev 0)
+++ trunk/lib/darwin-9.x.universal/openexr/include/OpenEXR/ImathFrustumTest.h 2015-02-08 18:09:40 UTC (rev 61497)
@@ -0,0 +1,417 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2011-2012, Industrial Light & Magic, a division of Lucas
+// Digital Ltd. LLC
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Industrial Light & Magic nor the names of
+// its contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+///////////////////////////////////////////////////////////////////////////
+
+
+#ifndef INCLUDED_IMATHFRUSTUMTEST_H
+#define INCLUDED_IMATHFRUSTUMTEST_H
+
+//-------------------------------------------------------------------------
+//
+// This file contains algorithms applied to or in conjunction with
+// Frustum visibility testing (Imath::Frustum).
+//
+// Methods for frustum-based rejection of primitives are contained here.
+//
+//-------------------------------------------------------------------------
+
+#include "ImathFrustum.h"
+#include "ImathBox.h"
+#include "ImathSphere.h"
+#include "ImathMatrix.h"
+#include "ImathVec.h"
+#include "ImathNamespace.h"
+
+IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
+
+/////////////////////////////////////////////////////////////////
+// FrustumTest
+//
+// template class FrustumTest<T>
+//
+// This is a helper class, designed to accelerate the case
+// where many tests are made against the same frustum.
+// That's a really common case.
+//
+// The acceleration is achieved by pre-computing the planes of
+// the frustum, along with the ablsolute values of the plane normals.
+//
+
+
+
+//////////////////////////////////////////////////////////////////
+// How to use this
+//
+// Given that you already have:
+// Imath::Frustum myFrustum
+// Imath::Matrix44 myCameraWorldMatrix
+//
+// First, make a frustum test object:
+// FrustumTest myFrustumTest(myFrustum, myCameraWorldMatrix)
+//
+// Whenever the camera or frustum changes, call:
+// myFrustumTest.setFrustum(myFrustum, myCameraWorldMatrix)
+//
+// For each object you want to test for visibility, call:
+// myFrustumTest.isVisible(myBox)
+// myFrustumTest.isVisible(mySphere)
+// myFrustumTest.isVisible(myVec3)
+// myFrustumTest.completelyContains(myBox)
+// myFrustumTest.completelyContains(mySphere)
+//
+
+
+
+
+//////////////////////////////////////////////////////////////////
+// Explanation of how it works
+//
+//
+// We store six world-space Frustum planes (nx, ny, nz, offset)
+//
+// Points: To test a Vec3 for visibility, test it against each plane
+// using the normal (v dot n - offset) method. (the result is exact)
+//
+// BBoxes: To test an axis-aligned bbox, test the center against each plane
+// using the normal (v dot n - offset) method, but offset by the
+// box extents dot the abs of the plane normal. (the result is NOT
+// exact, but will not return false-negatives.)
+//
+// Spheres: To test a sphere, test the center against each plane
+// using the normal (v dot n - offset) method, but offset by the
+// sphere's radius. (the result is NOT exact, but will not return
+// false-negatives.)
+//
+//
+// SPECIAL NOTE: "Where are the dot products?"
+// Actual dot products are currently slow for most SIMD architectures.
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list