Ejemplo n.º 1
0
        public CPass BuildRenderPass(int limitter = int.MaxValue, bool lastestPass = false, bool bImmCBuffer = false)
        {
            ScopeBuildRenderPass.Begin();

            CPass pass = null;

            unsafe
            {
                if (lastestPass)
                {
                    CPass.NativePointer passPtr = new CPass.NativePointer();
                    SDK_ICommandList_BuildRenderPass(CoreObject, vBOOL.FromBoolean(bImmCBuffer), limitter, &passPtr);

                    if (passPtr.GetPointer() != IntPtr.Zero)
                    {
                        pass = CPass.CreatePassFromPtr(passPtr);
                    }
                }
                else
                {
                    SDK_ICommandList_BuildRenderPass(CoreObject, vBOOL.FromBoolean(bImmCBuffer), limitter, null);
                }
            }

            ScopeBuildRenderPass.End();

            return(pass);
        }
Ejemplo n.º 2
0
        public void Commit(CRenderContext RenderContext)
        {
            ScopeExecute.Begin();

            lock (this)
            {
                SDK_ICommandList_Commit(CoreObject, RenderContext.CoreObject);
            }

            ScopeExecute.End();
        }
Ejemplo n.º 3
0
        public void FlushImmContext()
        {
            lock (ImmCommandList)
            {
                SDK_IRenderContext_FlushImmContext(CoreObject);

                ScopeTickSwapChain.Begin();
                CEngine.SDK_RResourceSwapChain_TickSwap(CoreObject);
                ScopeTickSwapChain.End();
            }
        }
Ejemplo n.º 4
0
        public void Dispose()
        {
#if PWindow
            mTime.End();
#endif
        }
Ejemplo n.º 5
0
 public void Dispose()
 {
     mTime.End();
 }