Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ IECOREALEMBIC_SPECIALISEGEOMPARAMTRAITS( Alembic::AbcGeom::IN2dGeomParam, IECore
IECOREALEMBIC_SPECIALISEGEOMPARAMTRAITS( Alembic::AbcGeom::IN3fGeomParam, IECore::V3fVectorData, IECore::GeometricData::Normal )
IECOREALEMBIC_SPECIALISEGEOMPARAMTRAITS( Alembic::AbcGeom::IN3dGeomParam, IECore::V3dVectorData, IECore::GeometricData::Normal )

IECOREALEMBIC_SPECIALISEGEOMPARAMTRAITS( Alembic::AbcGeom::IBoolGeomParam, IECore::IntVectorData, IECore::GeometricData::Numeric )

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason this can't be BoolVectorData?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IECoreRI/PrimitiveVariableList.cpp doesn't like BoolVectorData:

msg( Msg::Warning, "PrimitiveVariableList::type", format( "Variable \"%s\" has unsupported datatype \"%s\"." ) % name % d->typeName() );

So for now, I've chose to just convert it to IntVectorData, to minimize changes.

@johnhaddon johnhaddon May 23, 2017 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I really think we should be using bools for this so that we can round-trip data correctly when we add an Alembic writer, and so that renderers that do support bools directly (Arnold for instance) can be properly supported. Do you think you could either use a DataPromoteOp somewhere in your pipeline on the way into RenderMan, or sit on this as a local change until we add a replacement RenderMan backend (it's due an overhaul since Gaffer added a new renderer API more suited to threading and IPR)?


} // namespace IECoreAlembic

#endif // IECOREALEMBIC_IGEOMPARAMTRAITS_H
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,11 @@ void FromAlembicGeomBaseConverter::convertArbGeomParams( Alembic::Abc::ICompound
IM44fGeomParam p( params, header.getName() );
convertGeomParam( p, sampleSelector, primitive );
}
else if( IBoolGeomParam::matches( header ) )
{
IBoolGeomParam p( params, header.getName() );
convertGeomParam( p, sampleSelector, primitive );
}
else
{
msg( Msg::Warning, "FromAlembicGeomBaseConverter::convertArbGeomParams", boost::format( "Param \"%s\" has unsupported type" ) % header.getName() );
Expand Down