예제 #1
0
        public virtual int UseLibrary(
            ID3D11ModuleInstance pLibraryMI
            )
        {
            var fp = GetFunctionPointer(4);

            if (m_UseLibraryFunc == null)
            {
                m_UseLibraryFunc = (UseLibraryFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(UseLibraryFunc));
            }

            return(m_UseLibraryFunc(m_ptr, pLibraryMI != null ? pLibraryMI.Ptr : IntPtr.Zero));
        }
예제 #2
0
        public virtual int CreateInstance(
            string pNamespace,
            out ID3D11ModuleInstance ppModuleInstance
            )
        {
            var fp = GetFunctionPointer(3);

            if (m_CreateInstanceFunc == null)
            {
                m_CreateInstanceFunc = (CreateInstanceFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateInstanceFunc));
            }
            ppModuleInstance = new ID3D11ModuleInstance();
            return(m_CreateInstanceFunc(m_ptr, pNamespace, out ppModuleInstance.PtrForNew));
        }
예제 #3
0
        public virtual int CreateModuleInstance(
            out ID3D11ModuleInstance ppModuleInstance,
            out ID3D10Blob ppErrorBuffer
            )
        {
            var fp = GetFunctionPointer(3);

            if (m_CreateModuleInstanceFunc == null)
            {
                m_CreateModuleInstanceFunc = (CreateModuleInstanceFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateModuleInstanceFunc));
            }
            ppModuleInstance = new ID3D11ModuleInstance(); ppErrorBuffer = new ID3D10Blob();
            return(m_CreateModuleInstanceFunc(m_ptr, out ppModuleInstance.PtrForNew, out ppErrorBuffer.PtrForNew));
        }
예제 #4
0
        public virtual int Link(
            ID3D11ModuleInstance pEntry,
            string pEntryName,
            string pTargetName,
            uint uFlags,
            out ID3D10Blob ppShaderBlob,
            out ID3D10Blob ppErrorBuffer
            )
        {
            var fp = GetFunctionPointer(3);

            if (m_LinkFunc == null)
            {
                m_LinkFunc = (LinkFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(LinkFunc));
            }
            ppShaderBlob = new ID3D10Blob(); ppErrorBuffer = new ID3D10Blob();
            return(m_LinkFunc(m_ptr, pEntry != null ? pEntry.Ptr : IntPtr.Zero, pEntryName, pTargetName, uFlags, out ppShaderBlob.PtrForNew, out ppErrorBuffer.PtrForNew));
        }