[Bf-committers] Building with OpenVDB and OSL: a Boost case

Kévin Dietrich kevin.dietrich at mailoo.org
Thu Dec 17 09:46:33 CET 2015


Le 2015-12-17 08:43, matmenu a écrit : 

> Hi Martijn and Kevin,
> What heppened to this boost update? Python was updated, OpenGL 
> requirements too, Windows XP is dropped, lets use 2.77 to move 
> everything up for the upcoming development. OpenVDB is a really much 
> needed addition for the simulation and volumetrics parts.
> Regards,
> Mat


Well, at the moment updating Boost would be irrelevant, for two reasons:

1) when I first opened this discussion, I had just finished implementing
volume sampling and decided it could be enough for a first step. Then,
as I had more time, I started working on ray intersection (accelerated
ray marching/empty space optimization), and that's not finished... so
let's first wrap that up.

2) the main reason, the OpenVDB team at DWA reverted my patch removing
RTTI symbols in the OpenVDB library (because reasons). The only reason
to update Boost is to remove the couple of troublesome RTTI symbols in
there, but if we still have such symbols in OpenVDB, it's pointless.

In any case, let's first finish the implementation in Cycles, and then
try again to find a way to compile everything together nicely.


> Am 15/06/2015 um 09:43 schrieb Martijn Berger: Hi Kevin,
> I want to do a coordinated effort to upgrade the windows and OS X libraries
> after 2.75 is out the door.
> In addition to openvdb, Alembic might need to be included, also updates to
> llvm, boost, osl, oiio, and maybe other might be in order.
> (OpenSubDiv and PTex I am now sure about (for ptex we use OIIO i think ?))
> I am fine with bumping boost to 1.57 for windows / OS X but I am not sure
> about linux.
> For Linux It seems to me that it is to new and that we should try to keep
> boost 1.48 minimal requirement if we can.
> If that is unfeasible we should bump no higher then 1.54 for linux as then
> we have debian and ubuntu stable to consider.
> Martijn
> On Mon, Jun 15, 2015 at 4:09 AM, Kévin Dietrich <kevin.dietrich at mailoo.org>
> wrote:
> Hi all,
> I mail here because it can affect anyone who builds Blender, not just
> the Cycles freaks ;)
> As a reminder, OpenVDB is making use of, and relies on libraries making
> use of, C++ built-in run-time type information (RTTI). On the other
> hand, LLVM (used by OSL) has a home brew version and does not want to
> hear about the built-in one by default.
> The most straightforward way to address this is by building LLVM with
> RTTI enabled, and build OSL accordingly.
> But that's maybe not a possibility (because of a lot of reasons), so
> RTTI usage in VDB will need to be taken care of. By compiling Cycles
> with both VDB and OSL it appears that most RTTI symbols that give issues
> are in everyone's favorite library: Boost (I have version 1.54 here).
> There's also one in TBB, but it can be avoided by disabling the use
> exceptions there.
> Although patching OpenVDB so it compiles fine with RTTI disabled is a
> no-brainer (~10 changes), we will need to upgrade boost to at least
> version 1.57. Which should also comprise the fix for the Windows compile
> issue raised by Antony.
> I've just installed it, and as far as I can tell, it seems to work fine
> (_YMMV_). I've forked the openvdb repository, so to test things out you
> can get my changes from there (https://github.com/diekev/openvdb [1 [1]]) in
> the 'cycles_fixes' branch (it will also contain fixes for implicit float
> conversions happening in the library, which make Cycles grumpy). So if
> we go with boost 1.57, or above, and everything goes fine on all
> platforms, I'll make a pull request.
> That's it from me for the moment,
> Cheers,
> Kévin.
> Links:
> ------
> [1] https://github.com/diekev/openvdb
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

Bf-committers mailing list
Bf-committers at blender.org


[1] https://github.com/diekev/openvdb

More information about the Bf-committers mailing list