Пример #1
0
 private static extern int D3DXCompileShader64Bit([MarshalAs(UnmanagedType.LPStr)] string pSrcData,
                                                  int dataLen,
                                                  IntPtr pDefines,
                                                  IntPtr includes,
                                                  [MarshalAs(UnmanagedType.LPStr)] string pFunctionName,
                                                  [MarshalAs(UnmanagedType.LPStr)] string pTarget,
                                                  int flags,
                                                  out ID3DXBuffer ppShader,
                                                  out ID3DXBuffer ppErrorMsgs,
                                                  out IntPtr ppConstantTable);
Пример #2
0
 private static extern int D3DX10CompileFromMemory([MarshalAs(UnmanagedType.LPStr)] string pSrcData,
                                                   int dataLen,
                                                   [MarshalAs(UnmanagedType.LPStr)] string pFilename,
                                                   IntPtr pDefines,
                                                   IntPtr pInclude,
                                                   [MarshalAs(UnmanagedType.LPStr)] string pFunctionName,
                                                   [MarshalAs(UnmanagedType.LPStr)] string pProfile,
                                                   int flags1,
                                                   int flags2,
                                                   IntPtr pPump,
                                                   out ID3DXBuffer ppShader,
                                                   out ID3DXBuffer ppErrorMsgs,
                                                   ref int pHresult);
Пример #3
0
        public static byte[] AsByteArray(this ID3DXBuffer buffer)
        {
            VerifyNonNullArgument(
                buffer,
                "buffer");
            var buf = new byte[(int)buffer.GetBufferSize()];

            Marshal.Copy(
                buffer.GetBufferPointer(),
                buf,
                0,
                (int)buffer.GetBufferSize());
            return(buf);
        }
Пример #4
0
 public static string AsAnsiString(this ID3DXBuffer buffer)
 {
     VerifyNonNullArgument(
         buffer,
         "buffer");
     unsafe
     {
         var ptr  = (sbyte *)buffer.GetBufferPointer();
         var size = (int)buffer.GetBufferSize();
         if (ptr[size - 1] == 0)
         {
             // skip the last null char
             size = Math.Max(
                 checked (size - 1),
                 0);
         }
         return(new string(
                    ptr,
                    0,
                    size));
     }
 }