Alembic 1.5.0 Released!

2,628 views
Skip to first unread message

Lucas Miller

unread,
Jul 23, 2013, 12:56:12 PM7/23/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Hello Alembic users,

We are pleased to announce the official release of a new data back end for Alembic, codenamed Ogawa with improved write, read, and especially multi-threaded read performance.

Here are some improvements we are seeing with this version:

1) File sizes are on average 5-15% smaller. Scenes with many small objects should see even greater reductions.

2) Single-threaded reads average around 4x faster

3) Multi-threaded reads can improve by 25x (relative to the same operations in the existing HDF5 back-end) on 8 core systems.

We are maintaining backwards compatibility, and you will be able to continue to read and write Alembic files backed by HDF5.

Other library features added:

Support for explicit hierarchical deduplication. (OObject::addChildInstance)

Hierarchical hash keys added to objects, making it easier to compare sub-graphs of various archives. (IObject::getPropertiesHash, IObject::getChildrenHash)

Add AbcCoreFactory::IFactory class which is a convenience class for determining whether an archive is backed by HDF5 or Ogawa and returning a properly instantiated IArchive.  All of the readers in the repository have been updated to use this.

Python bindings have been extended to support the new features above.

New utility:

abcls this utility is meant to behave like ls or h5ls and offers an inexpensive way to explore your object and property hierarchies.

Bug fixes:

ICamera:
Getting the film back xform channels needs to be done by index.  Animated film back data wasn't being reflected in isConstant.  Offset data should be applied after the filmback matrix.

AbcExport: preScale, and postScale film back xform should be 1.0/scale.

Jonathan Garrett

unread,
Jul 27, 2013, 5:55:25 AM7/27/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
windows x64 libs and example exes: http://goo.gl/4aAkLZ

Jonny

Jeremy wanhill

unread,
Jul 28, 2013, 5:30:43 PM7/28/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
has anyone had a go at at compiling this for maya 2013 yet?

Jonathan Garrett

unread,
Jul 28, 2013, 10:29:18 PM7/28/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
not maya 2013 - but I just built AbcImport and AbcExport for maya 2014 against Alembic 1.5 without issue

Jonny

Jeremy wanhill

unread,
Jul 29, 2013, 12:40:01 AM7/29/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
I could use some instructions on how to do it as I have run into issues and have no idea where I have gone wrong.

Jonathan Garrett

unread,
Jul 29, 2013, 1:54:30 AM7/29/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
what specific issues are you having ?

my updated project files for maya 2014 are here: http://goo.gl/VVuqJU (alembic_maya_2014_projects.zip)

- I'm building with vs2012, but I think the projects are actually for 2010

those project reference the 1.5 libs I built (alembic_1.5_win_x64.zip) - they're being absolute referenced from x:\sdk\alembic\1.5

- I only built the release config

Jonny

Jeremy wanhill

unread,
Jul 29, 2013, 6:15:23 PM7/29/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
the main issues I have been having are linker issues. I'm a C++ Noob

Ben Houston

unread,
Jul 29, 2013, 6:23:30 PM7/29/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com

We shipped Exocortex Crate version 136 on July 19th with support for Maya 2014 on both Windows and Linux. It seemed to compile pretty straightforwardly.

Sent from my phone.

--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Derek Flood

unread,
Jul 31, 2013, 12:05:36 PM7/31/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Is the plugin version agnostic? That is, would it work to use the version you complied in Maya 2013 too?

Jonathan Garrett

unread,
Aug 3, 2013, 2:48:22 AM8/3/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
no - maya plugins aren't backward (or forward) compatible - they need to be compiled against the relevant SDK version

Jonny

flopnet

unread,
Oct 28, 2013, 8:51:16 AM10/28/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Hey,

Is there any chance to upload header files?

I've tried to compile Alembic on Windows but after 1 week I've gave up :)

Regards
Krzysiek

jordi

unread,
Nov 6, 2013, 1:50:58 PM11/6/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Hi.

We are trying to build it for maya 2014 to be able to get MultiUV.

We tried to compile but with no success.

Is it a way you can help us, is it possible to have the compiled files for Maya2014?

Thanks !

J.

Bala Kutti

unread,
Nov 27, 2013, 1:15:09 PM11/27/13
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Hi there,

could any create a tutuorial about how to build or complie this for maya?..it could be very useful for me.. becoz im new to this..

thanks,
bala.

Daniel Wong

unread,
Jan 1, 2014, 11:04:41 PM1/1/14
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
Hi all, 

I've tried the VS2012 project files given by Jonny, but I'm stuck at compiling one of the project. 



Here are my steps:

-   Download project files from https://github.com/jonnygarrett/alembic_vs2012

-   Follow the steps listed in readme.txt ( except the last step --- build the solution )

-   Use notepad to open "AlembicOpenEXR.vcxproj", replace "..\..\..\openexr-1.6.1" as "..\..\contrib\openexr-1.6.1"

-   Use VS2012 to open Alembic.sln, build the solution



Error occurs while compiling project "AlembicAbcCoreOgawa", in contrib\ilmbase-1.0.2\Half\halfLimit.h, at line 63 column 1:

    static half min () throw () {return HALF_NRM_MIN;}
    
    error C2059: syntax error : '('



By the way, I found the function name "min" is red-underlined, with an annotation as follows:

    #define min(a,b) (((a) < (b)) ? (a) : (b))
    
    Error: expected an identifier
    
This macro is defined at minwindef.h, a header file in Windows Library.



I have no idea about it. Can Jonny or anyone help me please?

Thanks!


Jonathan Garrett於 2013年7月27日星期六UTC+8下午5時55分25秒寫道:

Jonathan Garrett

unread,
Jan 2, 2014, 12:01:20 AM1/2/14
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
hi Daniel

it looks like I messed up the git commit (I'm a perforce user and am still feeling my way around git)

- I've just re-pushed my working project files

hopefully things will build for you now - sorry about that!

Jonny

Daniel Wong

unread,
Jan 2, 2014, 7:34:32 AM1/2/14
to alembic-d...@googlegroups.com, alembic-...@googlegroups.com
The project files work now! Thanks so much Jonny!



Let me share the whole compiling procedure here, including AbcImport and AbcExport:



1.  Alembic Library

-   Download project files from https://github.com/jonnygarrett/alembic_vs2012

-   Follow the steps listed in readme.txt ( except the last step --- build the solution )

-   Use VS2012 to open alembic.sln

-   Choose the Solution Configuration and Platform you prefer (I choose Release, x64)

-   In Solution Explorer, right-click at the solution -> properties. At the Configuration Properties -> Configuration, uncheck the project "CookingWithAlembic" (It's only a test project)

-   Build the Solution.



2.  AbcImport and AbcExport

-   Download the project files prepared by Jonny http://goo.gl/VVuqJU (alembic_maya_2014_projects.zip)

-   Copy the solution file (.sln) and project file (.vcxproj) to maya\AbcImport and maya\AbcExport respectively

-   Copy AbcImportStrings.cpp and AbcImportStrings.h from your Maya sample codes (C:\Program Files\Autodesk\Maya2014\devkit\plug-ins\AbcImport) to maya\AbcImport

-   For each of the solution:

    -   Use VS2012 to open the solution file (.sln)
    
    -   In Solution Explorer, right-click at project name -> properties
    
    -   Choose the configuration and platform you prefer and change the following (I choose all config and all platform):
    
        -   Refer the Include paths to suitable locations (configuration properties -> C/C++ -> Additional Include Directories):
        
            .;C:\Program Files\Autodesk\Maya2014\include;..\..\lib;..\..\contrib\ilmbase-1.0.2\Half;..\..\contrib\ilmbase-1.0.2\Iex;..\..\contrib\ilmbase-1.0.2\IlmThread;..\..\contrib\ilmbase-1.0.2\Imath;%(AdditionalIncludeDirectories)
            
        -   Refer the Library paths to suitable locations (configuration properties -> Linker -> Additional Library Directories):
            
            C:\Program Files\Autodesk\Maya2014\lib;..\..\lib\$(configuration);..\..\contrib\hdf5-1.8.9-win64\lib;..\..\build\vs2012\$(platform)\$(configuration);%(AdditionalLibraryDirectories)
            
        -   Add the missing libraries (configuration properties -> Linker -> Input -> Additional Dependencies):
            
            OpenMaya.lib;Foundation.lib;OpenMayaAnim.lib;OpenMayaFX.lib;OpenMayaRender.lib;OpenMayaUI.lib;libzlib.lib;hdf5.lib;hdf5_hl.lib;libszip.lib;AlembicAbc.lib;AlembicAbcGeom.lib;AlembicAbcCoreFactory.lib;AlembicAbcCoreAbstract.lib;AlembicAbcCoreHDF5.lib;AlembicAbcCoreOgawa.lib;AlembicOgawa.lib;AlembicUtil.lib;AlembicZLIB.lib;AlembicIlmBase.lib;%(AdditionalDependencies)
            
        -   Build the Solution.
        
        
        
Remember if you want your maya plug-ins to be able to load in another machine, make sure the machine has vc redist installed (vc2012 redist for my case)




Jonathan Garrett於 2014年1月2日星期四UTC+8下午1時01分20秒寫道:
Reply all
Reply to author
Forward
0 new messages