public RenderPriorityGroup(RenderQueueGroup parent, bool splitPassesByLightingType, bool splitNoShadowPasses, bool shadowCastersNotReceivers) : this(OgrePINVOKE.new_RenderPriorityGroup(RenderQueueGroup.getCPtr(parent), splitPassesByLightingType, splitNoShadowPasses, shadowCastersNotReceivers), true) { if (OgrePINVOKE.SWIGPendingException.Pending) { throw OgrePINVOKE.SWIGPendingException.Retrieve(); } }
public virtual void invoke(RenderQueueGroup group, SceneManager targetSceneManager) { OgrePINVOKE.RenderQueueInvocation_invoke(swigCPtr, RenderQueueGroup.getCPtr(group), SceneManager.getCPtr(targetSceneManager)); if (OgrePINVOKE.SWIGPendingException.Pending) { throw OgrePINVOKE.SWIGPendingException.Retrieve(); } }
public void merge(RenderQueueGroup rhs) { OgrePINVOKE.RenderQueueGroup_merge(swigCPtr, RenderQueueGroup.getCPtr(rhs)); if (OgrePINVOKE.SWIGPendingException.Pending) { throw OgrePINVOKE.SWIGPendingException.Retrieve(); } }
public RenderQueueGroup getQueueGroup(byte qid) { global::System.IntPtr cPtr = OgrePINVOKE.RenderQueue_getQueueGroup(swigCPtr, qid); RenderQueueGroup ret = (cPtr == global::System.IntPtr.Zero) ? null : new RenderQueueGroup(cPtr, false); if (OgrePINVOKE.SWIGPendingException.Pending) { throw OgrePINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
/// <summary> /// Renders a group of objects /// </summary> /// <param name="group">Group of objects to render</param> private void RenderGroup(RenderQueueGroup group) { List<IRenderable> solids = group.SolidList; List<IRenderable> transparents = group.TransparentList; RenderObjects(solids); RenderObjects(transparents); IEnumerable<InstanceBatch> instances = _renderer.InstancingManager.GetBatchList(group.Id); foreach (InstanceBatch b in instances) { RenderInstancedObjects(b); } }
/// <summary> /// Render a group rendering only shadow receivers. /// We have our own version here to add some optimizations /// </summary> /// <param name="group">Render queue group.</param> protected override void RenderTextureShadowReceiverQueueGroupObjects(RenderQueueGroup group) { // Override auto param ambient to force vertex programs to go full-bright autoParamDataSource.AmbientLight = ColorEx.White; targetRenderSystem.AmbientLight = ColorEx.White; // Iterate through priorities for (int i = 0; i < group.NumPriorityGroups; i++) { RenderPriorityGroup priorityGroup = group.GetPriorityGroup(i); // Do solids, override light list in case any vertex programs use them RenderShadowReceiverObjects(priorityGroup.SolidPasses, false, nullLightList); // Don't render transparents or passes which have shadow receipt disabled }// for each priority // reset ambient autoParamDataSource.AmbientLight = ambientColor; targetRenderSystem.AmbientLight = ambientColor; }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RenderQueueGroup obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }