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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234


子曾經(jīng)曰過(guò):編程無(wú)他,唯手熟爾!

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊(cè)

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 925247
  • 排名 - 14

最新隨筆

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

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 七星重劍 閱讀(2688) 評(píng)論(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>
            午夜精品视频在线| 欧美一二三区精品| 欧美日韩国产综合久久| 一区二区欧美视频| 欧美一区1区三区3区公司| 国产一区视频网站| 你懂的视频一区二区| 亚洲美女淫视频| 欧美一区1区三区3区公司| 影院欧美亚洲| 欧美日韩理论| 久久国产精品99精品国产| 欧美激情视频一区二区三区免费 | 亚洲日韩视频| 亚洲午夜羞羞片| 国产专区综合网| 欧美看片网站| 亚洲欧美国产不卡| 亚洲高清网站| 久久激情综合| 亚洲毛片网站| 激情久久综艺| 国产精品二区二区三区| 久久精品人人做人人爽| 亚洲免费久久| 欧美aa国产视频| 亚洲欧美精品在线观看| 永久555www成人免费| 国产精品豆花视频| 欧美大片网址| 久久精品网址| 亚洲一区二区三区四区五区午夜 | 亚洲欧美在线观看| 亚洲国产精品久久久久婷婷老年| 国产精品青草综合久久久久99| 久久综合伊人77777| 午夜国产精品视频| 亚洲美女视频在线免费观看| 你懂的国产精品| 久久国产精品久久久| 一区二区三区国产在线观看| 亚洲福利视频一区二区| 国产日韩欧美一区二区三区在线观看 | 欧美大尺度在线| 久久成人精品无人区| 亚洲天堂久久| 亚洲精品午夜| 亚洲欧洲精品一区二区三区波多野1战4 | 99re66热这里只有精品3直播| 国产一区二区三区直播精品电影 | 国产欧美精品在线观看| 欧美视频一区在线| 欧美理论在线播放| 美女在线一区二区| 久久久久久伊人| 欧美一级免费视频| 亚洲欧美日本伦理| 亚洲婷婷综合色高清在线| 一本色道久久综合亚洲二区三区| 亚洲激情在线| 亚洲三级免费电影| 91久久精品一区| 欧美成人a∨高清免费观看| 久久亚洲免费| 麻豆久久精品| 欧美成在线视频| 亚洲成色777777在线观看影院| 欧美电影在线| 亚洲二区在线视频| 91久久久久久久久久久久久| 亚洲国产成人久久| 亚洲黄色在线视频| 亚洲免费电影在线观看| av成人免费在线| 亚洲调教视频在线观看| 亚洲一区视频| 久久成人亚洲| 久久一区亚洲| 欧美精品观看| 欧美午夜片在线免费观看| 欧美午夜宅男影院在线观看| 国产精品白丝jk黑袜喷水| 国产伦精品一区二区三区在线观看 | 久久久久国产一区二区| 久久久综合网| 欧美国产一区二区在线观看| 91久久精品国产91性色| 99精品国产热久久91蜜凸| 亚洲综合欧美| 久久午夜精品| 欧美激情精品久久久久久蜜臀 | 91久久极品少妇xxxxⅹ软件| 99re66热这里只有精品3直播| 99精品欧美一区| 午夜激情一区| 久热精品在线视频| 欧美日韩中字| 激情综合色丁香一区二区| 亚洲激情一区二区三区| 亚洲午夜在线观看视频在线| 久久国产精品一区二区三区| 欧美激情精品久久久久久变态| 亚洲精品社区| 性欧美xxxx视频在线观看| 免费的成人av| 国产精品久久久久久久第一福利| 国产在线高清精品| 9l国产精品久久久久麻豆| 欧美在线视频观看| 亚洲第一精品夜夜躁人人爽| 亚洲私人影吧| 免费一级欧美片在线播放| 国产精品久久久久久久久久免费| 精品91在线| 亚洲一区二区在线免费观看| 久久夜色精品国产噜噜av| 亚洲精品影院| 久久免费视频在线观看| 国产精品久久久久一区二区三区共 | 久久狠狠亚洲综合| 欧美性色aⅴ视频一区日韩精品| 黄色影院成人| 亚洲一区亚洲二区| 欧美黄色视屏| 欧美怡红院视频| 欧美日韩一区二区免费视频| 亚洲电影天堂av| 欧美制服丝袜第一页| 99精品视频网| 欧美va亚洲va香蕉在线| 红杏aⅴ成人免费视频| 亚洲一级免费视频| 亚洲丁香婷深爱综合| 久久精品首页| 国产午夜久久久久| 亚洲综合成人在线| 亚洲激情婷婷| 免费在线观看成人av| 黑人巨大精品欧美黑白配亚洲| 亚洲影音一区| 91久久久久| 欧美精品videossex性护士| 亚洲国产精品va在线看黑人动漫 | 裸体素人女欧美日韩| 亚洲欧美区自拍先锋| 国产精品国产a级| 亚洲天堂av在线免费| 亚洲激情在线观看视频免费| 农夫在线精品视频免费观看| 激情六月综合| 久久久久久久久一区二区| 午夜电影亚洲| 国产午夜精品视频免费不卡69堂| 亚洲欧美国产日韩天堂区| 一区二区三区色| 国产精品成人一区二区网站软件 | 亚洲一二三四区| 国产精品看片你懂得| 亚洲免费在线观看| 一本色道久久综合| 欧美午夜视频网站| 亚洲在线日韩| 亚洲午夜在线观看| 国产精品一二一区| 久久激情网站| 久久理论片午夜琪琪电影网| 影音先锋在线一区| 欧美激情自拍| 欧美日本中文字幕| 亚洲欧美日韩成人| 亚洲小说春色综合另类电影| 国产精品一区二区久久国产| 久久www成人_看片免费不卡| 性18欧美另类| 伊人久久婷婷| 亚洲激情综合| 国产精品理论片在线观看| 久久不射中文字幕| 久久精品欧洲| 日韩一级不卡| 一区二区日韩精品| 国产午夜精品全部视频在线播放 | 亚洲国产日韩在线一区模特| 亚洲电影在线观看| 欧美三级韩国三级日本三斤| 欧美影视一区| 裸体丰满少妇做受久久99精品| 亚洲精品乱码久久久久久黑人| 亚洲精品老司机| 国产麻豆视频精品| 美日韩精品免费| 欧美日韩一区在线播放| 欧美在线观看视频一区二区三区| 久久久久久久久久久久久久一区| 亚洲精品一区二区在线| 亚洲伊人第一页| 亚洲第一成人在线| 一本色道久久88亚洲综合88| 狠狠88综合久久久久综合网| 亚洲精品乱码久久久久久黑人|