public override void AbcGetConfig(ref AbcAPI.aiConfig config) { if (m_normalsMode != AbcAPI.aiNormalsModeOverride.InheritStreamSetting) { config.normalsMode = (AbcAPI.aiNormalsMode)m_normalsMode; } if (m_tangentsMode != AbcAPI.aiTangentsModeOverride.InheritStreamSetting) { config.tangentsMode = (AbcAPI.aiTangentsMode)m_tangentsMode; } if (m_faceWinding != AbcAPI.aiFaceWindingOverride.InheritStreamSetting) { config.swapFaceWinding = (m_faceWinding == AbcAPI.aiFaceWindingOverride.Swap); } config.cacheTangentsSplits = m_cacheTangentsSplits; // if 'forceUpdate' is set true, even if alembic sample data do not change at all // AbcSampleUpdated will still be called (topologyChanged will be false) AlembicMaterial abcMaterials = m_trans.GetComponent <AlembicMaterial>(); config.forceUpdate = m_freshSetup || (abcMaterials != null ? abcMaterials.HasFacesetsChanged() : hasFacesets); }
public override void AbcGetConfig(ref AbcAPI.aiConfig config) { if (m_aspectRatioMode != AbcAPI.aiAspectRatioModeOverride.InheritStreamSetting) { config.aspectRatio = AbcAPI.GetAspectRatio((AbcAPI.aiAspectRatioMode)m_aspectRatioMode); } }
static void ConfigCallback(IntPtr __this, ref AbcAPI.aiConfig config) { var _this = GCHandle.FromIntPtr(__this).Target as AlembicElement; _this.AbcGetConfig(ref config); }
// Called by loading thread (not necessarily the main thread) public virtual void AbcGetConfig(ref AbcAPI.aiConfig config) { // Overrides aiConfig options here if needed }