예제 #1
0
        public CRenderPipeline(NativePointer self, bool fromPtr = false)
        {
            mCoreObject = self;

            if (fromPtr)
            {
                Core_AddRef();

                var rs_ptr = SDK_IRenderPipeline_GetRasterizerState(CoreObject);
                if (rs_ptr.Pointer != IntPtr.Zero)
                {
                    mRasterizerState = new CRasterizerState(rs_ptr);
                    mRasterizerState.Core_AddRef();
                }
                var ds_ptr = SDK_IRenderPipeline_GetDepthStencilState(CoreObject);
                if (ds_ptr.Pointer != IntPtr.Zero)
                {
                    mDepthStencilState = new CDepthStencilState(ds_ptr);
                    mDepthStencilState.Core_AddRef();
                }
                var bs_ptr = SDK_IRenderPipeline_GetBindBlendState(CoreObject);
                if (bs_ptr.Pointer != IntPtr.Zero)
                {
                    mBlendState = new CBlendState(bs_ptr);
                    mBlendState.Core_AddRef();
                }
            }
        }
예제 #2
0
 public void SetDepthStencilState(CDepthStencilState State)
 {
     SDK_ICommandList_SetDepthStencilState(CoreObject, State.CoreObject);
 }