青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 505  文章 - 1034  trackbacks - 0
<2008年3月>
2425262728291
2345678
9101112131415
16171819202122
23242526272829
303112345


子曾經曰過:編程無他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 923735
  • 排名 - 14

最新隨筆

最新評論

閱讀排行榜

評論排行榜

Vertex Formats


A flexible vertex format (FVF) code describes the contents of vertices stored interleaved in a single data stream. It generally specifies data to be processed by the fixed function vertex processing pipeline.

Microsoft® Direct3D® applications can define model vertices in several different ways. Support for flexible vertex definitions, also known as flexible vertex formats or flexible vertex format codes, makes it possible for your application to use only the vertex components it needs, eliminating those components that aren't used. By using only the needed vertex components, your application can conserve memory and minimize the processing bandwidth required to render models. You describe how your vertices are formatted by using a combination of D3DFVF.

The FVF specification includes formats for point size, specified by D3DFVF_PSIZE. This size is expressed in camera space units for non-TL vertices, and in device-space units for TL vertices.

The rendering methods of the IDirect3DDevice9 interface provides C++ applications with methods that accept a combination of these flags, and uses them to determine how to render primitives. Basically, these flags tell the system which vertex components - position, vertex blending weights, normal, colors, the number and format of texture coordinates - your application uses and, indirectly, which parts of the rendering pipeline you want Direct3D to apply to them. In addition, the presence or absence of a particular vertex format flag communicates to the system which vertex component fields are present in memory and which you've omitted.

To determine device limitations, you can query a device for the D3DFVFCAPS_DONOTSTRIPELEMENTS and D3DFVFCAPS_TEXCOORDCOUNTMASK flexible vertex format flags. For more information, see the FVFCaps member of the D3DCAPS9 structure.

One significant requirement that the system places on how you format your vertices is on the order in which the data appears. The following illustration depicts the required order for all possible vertex components in memory, and their associated data types.


Texture coordinates can be declared in different formats, allowing textures to be addressed using as few as one coordinate or as many as four texture coordinates (for 2-D projected texture coordinates). For more information, see Texture Coordinate Formats. Use the D3DFVF_TEXCOORDSIZEn set of macros to create bit patterns that identify the texture coordinate formats that your vertex format uses.

No application will use every component - the reciprocal homogeneous W (RHW) and vertex normal fields are mutually exclusive. Nor will most applications try to use all eight sets of texture coordinates, but Direct3D has this capacity. There are several restrictions on which flags you can use with other flags. For example, you cannot use the D3DFVF_XYZ and D3DFVF_XYZRHW flags together, as this would indicate that your application is describing a vertex's position with both untransformed and transformed vertices.

To use indexed vertex blending, the D3DFVF_LASTBETA_UBYTE4 flag should appear at the end of the FVF. The presence of this flag indicates that the fifth blending weight will be treated as a DWORD instead of float. For more information, see Indexed Vertex Blending.

The following code samples shows the difference between an FVF code that uses the D3DFVF_LASTBETA_UBYTE4 flag and one that doesn't. The FVF defined below does not use the D3DFVF_LASTBETA_UBYTE4 flag. The flag D3DFVF_XYZ3 is present when four blending indices are used because you always use (1 - the sum of the first three) for the fourth.

#define D3DFVF_BLENDVERTEX (D3DFVF_XYZB3|D3DFVF_NORMAL|D3DFVF_TEX1)

struct BLENDVERTEX
{
    D3DXVECTOR3 v;       
// Referenced as v0 in the vertex shader
    FLOAT       blend1;  // Referenced as v1.x in the vertex shader
    FLOAT       blend2;  // Referenced as v1.y in the vertex shader
    FLOAT       blend3;  // Referenced as v1.z in the vertex shader
                         
// v1.w = 1.0 - (v1.x + v1.y + v1.z)
    D3DXVECTOR3 n;       // Referenced as v3 in the vertex shader
    FLOAT       tu, tv;  // Referenced as v7 in the vertex shader
};

The FVF defined below uses the D3DFVF_LAST_UBYTE4 flag.

#define D3DFVF_BLENDVERTEX (D3DFVF_XYZB4 | D3DFVF_LASTBETA_UBYTE4 |D3DFVF_NORMAL|D3DFVF_TEX1)

struct BLENDVERTEX
{
    D3DXVECTOR3 v;       
// Referenced as v0 in the vertex shader
    FLOAT       blend1;  // Referenced as v1.x in the vertex shader
    FLOAT       blend2;  // Referenced as v1.y in the vertex shader
    FLOAT       blend3;  // Referenced as v1.z in the vertex shader
                         
// v1.w = 1.0 - (v1.x + v1.y + v1.z)
    DWORD       indices; // Referenced as v2.xyzw in the vertex shader 
    D3DXVECTOR3 n;       // Referenced as v3 in the vertex shader
    FLOAT       tu, tv;  // Referenced as v7 in the vertex shader
};

 

posted on 2009-09-05 01:58 七星重劍 閱讀(2686) 評論(0)  編輯 收藏 引用 所屬分類: Game Graphics
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久男人av资源网站| 欧美国产日韩一区二区三区| 国产美女精品人人做人人爽| 亚洲一区久久久| 亚洲午夜一区二区三区| 国产欧美日韩免费| 蜜桃精品一区二区三区| 久久午夜视频| 亚洲精品一区二区三区蜜桃久| 日韩视频免费| 国产精品女同互慰在线看| 久久成人av少妇免费| 久久久亚洲一区| 9色porny自拍视频一区二区| 亚洲免费视频成人| 尤妮丝一区二区裸体视频| 亚洲欧洲一区二区三区久久| 欧美日韩中文字幕精品| 久久精品国产第一区二区三区| 久久最新视频| 这里只有精品丝袜| 欧美中文日韩| 亚洲最新视频在线| 欧美在线视频免费观看| 亚洲欧美成人一区二区在线电影| 精品va天堂亚洲国产| 国产亚洲高清视频| 狠狠色狠狠色综合系列| 亚洲国产精品激情在线观看| 欧美午夜寂寞影院| 能在线观看的日韩av| 欧美人妖在线观看| 久久女同精品一区二区| 欧美区日韩区| 久久永久免费| 欧美视频精品在线观看| 免费在线观看精品| 欧美午夜精品久久久久久久| 奶水喷射视频一区| 国产精品视频一| 亚洲国产精品专区久久| 国产一区二区三区网站| 亚洲最新视频在线播放| 最新国产成人av网站网址麻豆| 亚洲主播在线播放| 在线亚洲国产精品网站| 噜噜爱69成人精品| 久久se精品一区二区| 国产精品电影观看| 亚洲精品国产系列| 亚洲国产精品一区二区尤物区| 亚洲综合首页| 一区二区三区欧美成人| 欧美高清你懂得| 欧美~级网站不卡| 国内视频一区| 久久国产手机看片| 欧美资源在线观看| 国产精品mv在线观看| 亚洲欧洲精品一区二区三区 | 久久噜噜噜精品国产亚洲综合 | 国产一区视频网站| 亚洲欧美日韩国产综合精品二区| 中文国产亚洲喷潮| 欧美精品在线极品| 亚洲激情在线| 99精品久久| 欧美aa在线视频| 欧美黑人多人双交| 亚洲欧洲日产国产综合网| 蜜桃av噜噜一区| 欧美国产日韩在线观看| 最新亚洲视频| 欧美精品亚洲二区| 99精品久久| 亚洲淫片在线视频| 国产精品视频自拍| 久久精品欧美日韩| 免费看的黄色欧美网站| 亚洲人成网站影音先锋播放| 欧美国产日韩一区二区三区| 亚洲久久在线| 午夜欧美电影在线观看| 国产日韩欧美自拍| 久久久久欧美精品| 亚洲激情在线| 亚洲欧美日韩国产精品 | 美女成人午夜| 亚洲激情视频| 亚洲欧美在线高清| 一区二区亚洲欧洲国产日韩| 欧美a级理论片| 日韩一级免费| 久久久精品国产一区二区三区| 在线播放亚洲| 欧美日本国产精品| 亚洲一区视频| 免费看的黄色欧美网站| 中文亚洲免费| 极品少妇一区二区三区| 欧美日韩精品一区二区| 午夜精品久久久久久久| 欧美激情第8页| 亚洲制服欧美中文字幕中文字幕| 国内免费精品永久在线视频| 欧美韩日一区二区| 性色av一区二区三区| 亚洲精品一区二区三区av| 欧美在线视频在线播放完整版免费观看| 在线视频国产日韩| 国产精品久久久久一区二区三区共 | 欧美在线视频导航| 亚洲精品视频免费在线观看| 国产日韩精品在线播放| 欧美精品成人一区二区在线观看| 午夜在线成人av| 日韩视频在线观看国产| 欧美福利一区二区三区| 欧美在线亚洲综合一区| 一区二区三区日韩精品| 一区二区亚洲| 国产欧美日韩一区二区三区| 欧美日韩另类丝袜其他| 久久久久一区二区| 小处雏高清一区二区三区 | 久久女同互慰一区二区三区| 亚洲午夜91| 亚洲巨乳在线| 亚洲福利视频二区| 黄色在线一区| 国精品一区二区三区| 国产精品一区久久| 欧美日一区二区在线观看| 欧美国产日韩亚洲一区| 欧美不卡激情三级在线观看| 久久久999精品| 欧美一区日本一区韩国一区| 亚洲一区二区在线免费观看| 99热免费精品| 亚洲人成在线观看网站高清| 亚洲国产精品悠悠久久琪琪| 亚洲电影免费观看高清| 免费一区二区三区| 久久香蕉国产线看观看网| 久久高清免费观看| 亚洲一区二区三区久久| 狠狠综合久久av一区二区小说 | 亚洲国产精品女人久久久| 久久色中文字幕| 欧美综合国产| 久久久久国产精品厨房| 久久人91精品久久久久久不卡| 久久精品国产亚洲aⅴ| 久久久五月婷婷| 米奇777超碰欧美日韩亚洲| 欧美成人免费大片| 亚洲国产精品成人综合| 91久久精品美女高潮| 一二三区精品| 亚洲综合精品一区二区| 久久高清国产| 久久亚洲综合色| 欧美日韩成人在线播放| 国产精品久久久久久久久久妞妞| 国产免费亚洲高清| 在线观看一区二区视频| 一本色道久久综合精品竹菊 | 国产综合第一页| 亚洲大胆美女视频| 日韩视频免费观看| 亚洲一区在线播放| 久久久久国产免费免费| 亚洲国产美国国产综合一区二区| 日韩午夜黄色| 欧美一区91| 欧美国产日韩一区| 国产精品狼人久久影院观看方式| 国产一区二三区| 亚洲精品一区二区三区在线观看| 亚洲综合首页| 欧美激情精品久久久久久| 亚洲一级黄色av| 另类图片国产| 国产精品美女一区二区| 亚洲国产精品第一区二区| 在线视频中文亚洲| 免费视频最近日韩| 一区二区三区四区国产精品| 久久久精品999| 国产精品乱码一区二区三区| 亚洲日本一区二区三区| 久久动漫亚洲| 日韩天堂在线观看| 免费成人av在线看| 国产视频在线观看一区| 亚洲少妇在线| 亚洲国产精品123| 久久精品九九| 国产精品美女在线| 国产精品99久久久久久有的能看|