public static int OnNewRibbonRendererSetup(IntPtr rendererDescPtr) { SBatchDesc batchDesc = null; unsafe { SPopcornRendererDesc *desc = (SPopcornRendererDesc *)rendererDescPtr.ToPointer(); batchDesc = new SBatchDesc(ERendererType.Ribbon, *desc); } // Create the material description: Material mat = PKFxSettings.MaterialFactory.ResolveParticleMaterial(batchDesc); GameObject renderingObject = GetNewRenderingObject(batchDesc.m_GeneratedName); return(SetupRenderingObject(renderingObject, batchDesc, mat)); }
public static int OnNewMeshRendererSetup(IntPtr rendererDescPtr) { SBatchDesc batchDesc = null; unsafe { SMeshRendererDesc *desc = (SMeshRendererDesc *)rendererDescPtr.ToPointer(); batchDesc = new SBatchDesc(*desc); } // Create the material description: Material mat = PKFxSettings.MaterialFactory.ResolveParticleMaterial(batchDesc); mat.enableInstancing = true; GameObject renderingObject = GetNewRenderingObject(batchDesc.m_GeneratedName); return(SetupMeshRenderingObject(renderingObject, batchDesc, mat)); }
public static void OnRendererNamesAdded(int rendererGUID, IntPtr effectNames) { string effectNamesStr = null; if (effectNames != IntPtr.Zero) { effectNamesStr = Marshal.PtrToStringAnsi(effectNames); } SBatchDesc batchDesc = m_Renderers[rendererGUID].m_BatchDesc; Debug.Assert(m_Renderers.Count > rendererGUID); batchDesc.m_EffectNames += effectNamesStr; string particleMeshGeneratedName = batchDesc.m_GeneratedName; PKFxSettings.SParticleMeshDefaultSize meshSizeToUpdate = GetParticleMeshDefaultSizeSettings(particleMeshGeneratedName); if (meshSizeToUpdate != null) { meshSizeToUpdate.m_EffectNames = batchDesc.m_EffectNames; } }