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. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs