⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wined3d_types.h

📁 这是一个开放源代码的与WINNT/WIN2K/WIN2003兼容的操作系统
💻 H
📖 第 1 页 / 共 5 页
字号:
typedef struct _WINED3DDEVINFO_INTERFACETIMINGS {
    float         WaitingForGPUToUseApplicationResourceTimePercent;
    float         WaitingForGPUToAcceptMoreCommandsTimePercent;
    float         WaitingForGPUToStayWithinLatencyTimePercent;
    float         WaitingForGPUExclusiveResourceTimePercent;
    float         WaitingForGPUOtherTimePercent;
} WINED3DDEVINFO_INTERFACETIMINGS;

typedef struct _WINED3DDEVINFO_PIPELINETIMINGS {
    float         VertexProcessingTimePercent;
    float         PixelProcessingTimePercent;
    float         OtherGPUProcessingTimePercent;
    float         GPUIdleTimePercent;
} WINED3DDEVINFO_PIPELINETIMINGS;

typedef struct _WINED3DDEVINFO_STAGETIMINGS {
    float         MemoryProcessingPercent;
    float         ComputationProcessingPercent;
} WINED3DDEVINFO_STAGETIMINGS;

typedef struct _WINED3DRASTER_STATUS {
    BOOL            InVBlank;
    UINT            ScanLine;
} WINED3DRASTER_STATUS;


typedef struct WINED3DRESOURCESTATS {
    BOOL                bThrashing;
    DWORD               ApproxBytesDownloaded;
    DWORD               NumEvicts;
    DWORD               NumVidCreates;
    DWORD               LastPri;
    DWORD               NumUsed;
    DWORD               NumUsedInVidMem;
    DWORD               WorkingSet;
    DWORD               WorkingSetBytes;
    DWORD               TotalManaged;
    DWORD               TotalBytes;
} WINED3DRESOURCESTATS;

typedef struct _WINED3DDEVINFO_RESOURCEMANAGER {
    WINED3DRESOURCESTATS stats[WINED3DRTYPECOUNT];
} WINED3DDEVINFO_RESOURCEMANAGER;

typedef struct _WINED3DDEVINFO_VERTEXSTATS {
    DWORD NumRenderedTriangles;
    DWORD NumExtraClippingTriangles;
} WINED3DDEVINFO_VERTEXSTATS;

typedef struct _WINED3DLOCKED_RECT {
    INT                 Pitch;
    void*               pBits;
} WINED3DLOCKED_RECT;

typedef struct _WINED3DLOCKED_BOX {
    INT                 RowPitch;
    INT                 SlicePitch;
    void*               pBits;
} WINED3DLOCKED_BOX;


typedef struct _WINED3DBOX {
    UINT                Left;
    UINT                Top;
    UINT                Right;
    UINT                Bottom;
    UINT                Front;
    UINT                Back;
} WINED3DBOX;

/*Vertex cache optimization hints.*/
typedef struct WINED3DDEVINFO_VCACHE {
    /*Must be a 4 char code FOURCC (e.g. CACH)*/
    DWORD         Pattern; 
    /*0 to get the longest  strips, 1 vertex cache*/
    DWORD         OptMethod; 
     /*Cache size to use (only valid if OptMethod==1) */
    DWORD         CacheSize;
    /*internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1)*/
    DWORD         MagicNumber; 
} WINED3DDEVINFO_VCACHE;

typedef struct _WINED3DVERTEXBUFFER_DESC {
    WINED3DFORMAT           Format;
    WINED3DRESOURCETYPE     Type;
    DWORD                   Usage;
    WINED3DPOOL             Pool;
    UINT                    Size;
    DWORD                   FVF;
} WINED3DVERTEXBUFFER_DESC;

typedef struct _WINED3DINDEXBUFFER_DESC {
    WINED3DFORMAT           Format;
    WINED3DRESOURCETYPE     Type;
    DWORD                   Usage;
    WINED3DPOOL             Pool;
    UINT                    Size;
} WINED3DINDEXBUFFER_DESC;

/*
 * The wined3dcaps structure
 */

typedef struct _WINED3DVSHADERCAPS2_0 {
  DWORD  *Caps;
  INT    *DynamicFlowControlDepth;
  INT    *NumTemps;
  INT    *StaticFlowControlDepth;
} WINED3DVSHADERCAPS2_0;

typedef struct _WINED3DPSHADERCAPS2_0 {
  DWORD  *Caps;
  INT    *DynamicFlowControlDepth;
  INT    *NumTemps;
  INT    *StaticFlowControlDepth;
  INT    *NumInstructionSlots;
} WINED3DPSHADERCAPS2_0;

typedef struct _WINED3DCAPS {
  WINED3DDEVTYPE      *DeviceType;
  UINT                *AdapterOrdinal;

  DWORD               *Caps;
  DWORD               *Caps2;
  DWORD               *Caps3;
  DWORD               *PresentationIntervals;

  DWORD               *CursorCaps;

  DWORD               *DevCaps;

  DWORD               *PrimitiveMiscCaps;
  DWORD               *RasterCaps;
  DWORD               *ZCmpCaps;
  DWORD               *SrcBlendCaps;
  DWORD               *DestBlendCaps;
  DWORD               *AlphaCmpCaps;
  DWORD               *ShadeCaps;
  DWORD               *TextureCaps;
  DWORD               *TextureFilterCaps;
  DWORD               *CubeTextureFilterCaps;
  DWORD               *VolumeTextureFilterCaps;
  DWORD               *TextureAddressCaps;
  DWORD               *VolumeTextureAddressCaps;

  DWORD               *LineCaps;

  DWORD               *MaxTextureWidth;
  DWORD               *MaxTextureHeight;
  DWORD               *MaxVolumeExtent;

  DWORD               *MaxTextureRepeat;
  DWORD               *MaxTextureAspectRatio;
  DWORD               *MaxAnisotropy;
  float               *MaxVertexW;

  float               *GuardBandLeft;
  float               *GuardBandTop;
  float               *GuardBandRight;
  float               *GuardBandBottom;

  float               *ExtentsAdjust;
  DWORD               *StencilCaps;

  DWORD               *FVFCaps;
  DWORD               *TextureOpCaps;
  DWORD               *MaxTextureBlendStages;
  DWORD               *MaxSimultaneousTextures;

  DWORD               *VertexProcessingCaps;
  DWORD               *MaxActiveLights;
  DWORD               *MaxUserClipPlanes;
  DWORD               *MaxVertexBlendMatrices;
  DWORD               *MaxVertexBlendMatrixIndex;

  float               *MaxPointSize;

  DWORD               *MaxPrimitiveCount;
  DWORD               *MaxVertexIndex;
  DWORD               *MaxStreams;
  DWORD               *MaxStreamStride;

  DWORD               *VertexShaderVersion;
  DWORD               *MaxVertexShaderConst;

  DWORD               *PixelShaderVersion;
  float               *PixelShader1xMaxValue;

  /* DX 9 */
  DWORD               *DevCaps2;

  float               *MaxNpatchTessellationLevel;
  DWORD               *Reserved5; /*undocumented*/

  UINT                *MasterAdapterOrdinal;
  UINT                *AdapterOrdinalInGroup;
  UINT                *NumberOfAdaptersInGroup;
  DWORD               *DeclTypes;
  DWORD               *NumSimultaneousRTs;
  DWORD               *StretchRectFilterCaps;
  WINED3DVSHADERCAPS2_0   VS20Caps;
  WINED3DPSHADERCAPS2_0   PS20Caps;
  DWORD               *VertexTextureFilterCaps;
  DWORD               *MaxVShaderInstructionsExecuted;
  DWORD               *MaxPShaderInstructionsExecuted;
  DWORD               *MaxVertexShader30InstructionSlots; 
  DWORD               *MaxPixelShader30InstructionSlots;
  DWORD               *Reserved2;/* Not in the microsoft headers but documented */
  DWORD               *Reserved3;

} WINED3DCAPS;

typedef enum _WINED3DSTATEBLOCKTYPE {
    WINED3DSBT_INIT          = 0,
    WINED3DSBT_ALL           = 1,
    WINED3DSBT_PIXELSTATE    = 2,
    WINED3DSBT_VERTEXSTATE   = 3,
    WINED3DSBT_RECORDED      = 4,       /* WineD3D private */

    WINED3DSBT_FORCE_DWORD   = 0xffffffff
} WINED3DSTATEBLOCKTYPE;

typedef struct glDescriptor {
    UINT          textureName;
    int           level;
    int           target;
    int/*GLenum*/ glFormat;
    int/*GLenum*/ glFormatInternal;
    int/*GLenum*/ glType;
} glDescriptor;

#define WINED3DDP_MAXTEXCOORD 8

typedef enum _WINED3DDECLMETHOD {
    WINED3DDECLMETHOD_DEFAULT          = 0,
    WINED3DDECLMETHOD_PARTIALU         = 1,
    WINED3DDECLMETHOD_PARTIALV         = 2,
    WINED3DDECLMETHOD_CROSSUV          = 3,
    WINED3DDECLMETHOD_UV               = 4,
    WINED3DDECLMETHOD_LOOKUP           = 5,
    WINED3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} WINED3DDECLMETHOD;

typedef enum _WINED3DDECLTYPE {
  WINED3DDECLTYPE_FLOAT1    =  0,
  WINED3DDECLTYPE_FLOAT2    =  1,
  WINED3DDECLTYPE_FLOAT3    =  2,
  WINED3DDECLTYPE_FLOAT4    =  3,
  WINED3DDECLTYPE_D3DCOLOR  =  4,
  WINED3DDECLTYPE_UBYTE4    =  5,
  WINED3DDECLTYPE_SHORT2    =  6,
  WINED3DDECLTYPE_SHORT4    =  7,
  /* VS 2.0 */
  WINED3DDECLTYPE_UBYTE4N   =  8,
  WINED3DDECLTYPE_SHORT2N   =  9,
  WINED3DDECLTYPE_SHORT4N   = 10,
  WINED3DDECLTYPE_USHORT2N  = 11,
  WINED3DDECLTYPE_USHORT4N  = 12,
  WINED3DDECLTYPE_UDEC3     = 13,
  WINED3DDECLTYPE_DEC3N     = 14,
  WINED3DDECLTYPE_FLOAT16_2 = 15,
  WINED3DDECLTYPE_FLOAT16_4 = 16,
  WINED3DDECLTYPE_UNUSED    = 17,
} WINED3DDECLTYPE;

#define WINED3DDECL_END() {0xFF,0,WINED3DDECLTYPE_UNUSED,0,0,0,-1}

typedef struct WineDirect3DStridedData {
    BYTE     *lpData;        /* Pointer to start of data               */
    DWORD     dwStride;      /* Stride between occurances of this data */
    DWORD     dwType;        /* Type (as in D3DVSDT_TYPE)              */
    int       VBO;           /* Vertex buffer object this data is in   */
    UINT      streamNo;      /* D3D stream number                      */
} WineDirect3DStridedData;

typedef struct WineDirect3DVertexStridedData {
    union {
        struct {

             /* Do not add or reorder fields here,
              * so this can be indexed as an array */
             WineDirect3DStridedData  position;
             WineDirect3DStridedData  blendWeights;
             WineDirect3DStridedData  blendMatrixIndices;
             WineDirect3DStridedData  normal;
             WineDirect3DStridedData  pSize;
             WineDirect3DStridedData  diffuse;
             WineDirect3DStridedData  specular;
             WineDirect3DStridedData  texCoords[WINED3DDP_MAXTEXCOORD];
             WineDirect3DStridedData  position2; /* tween data */
             WineDirect3DStridedData  normal2;   /* tween data */
             WineDirect3DStridedData  tangent;
             WineDirect3DStridedData  binormal;
             WineDirect3DStridedData  tessFactor;
             WineDirect3DStridedData  fog;
             WineDirect3DStridedData  depth;
             WineDirect3DStridedData  sample;

             /* Add fields here */
             BOOL position_transformed;

        } s;
        WineDirect3DStridedData input[16];  /* Indexed by constants in D3DVSDE_REGISTER */
    } u;
} WineDirect3DVertexStridedData;

typedef enum {
    WINED3DDECLUSAGE_POSITION     = 0,
    WINED3DDECLUSAGE_BLENDWEIGHT  = 1,
    WINED3DDECLUSAGE_BLENDINDICES = 2,
    WINED3DDECLUSAGE_NORMAL       = 3,
    WINED3DDECLUSAGE_PSIZE        = 4,
    WINED3DDECLUSAGE_TEXCOORD     = 5,
    WINED3DDECLUSAGE_TANGENT      = 6,
    WINED3DDECLUSAGE_BINORMAL     = 7,
    WINED3DDECLUSAGE_TESSFACTOR   = 8,
    WINED3DDECLUSAGE_POSITIONT    = 9,
    WINED3DDECLUSAGE_COLOR        = 10,
    WINED3DDECLUSAGE_FOG          = 11,
    WINED3DDECLUSAGE_DEPTH        = 12,
    WINED3DDECLUSAGE_SAMPLE       = 13
} WINED3DDECLUSAGE;

#define WINED3DUSAGE_RENDERTARGET                     0x00000001L
#define WINED3DUSAGE_DEPTHSTENCIL                     0x00000002L
#define WINED3DUSAGE_WRITEONLY                        0x00000008L
#define WINED3DUSAGE_SOFTWAREPROCESSING               0x00000010L
#define WINED3DUSAGE_DONOTCLIP                        0x00000020L
#define WINED3DUSAGE_POINTS                           0x00000040L
#define WINED3DUSAGE_RTPATCHES                        0x00000080L
#define WINED3DUSAGE_NPATCHES                         0x00000100L

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -