[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