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

隨筆 - 505  文章 - 1034  trackbacks - 0
<2009年9月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910


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

常用鏈接

留言簿(94)

隨筆分類(649)

隨筆檔案(505)

相冊

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

積分與排名

  • 積分 - 918315
  • 排名 - 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 七星重劍 閱讀(2679) 評論(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>
            亚洲欧美日韩精品在线| 亚洲精品视频啊美女在线直播| 亚洲香蕉在线观看| 国产精品一区二区三区免费观看| 亚洲尤物在线| 新67194成人永久网站| 激情六月婷婷久久| 亚洲第一视频| 欧美日韩免费视频| 午夜精品美女自拍福到在线| 欧美一区影院| 亚洲精品一区二区三区福利| 正在播放亚洲| 在线免费观看日韩欧美| 日韩视频免费在线| 激情综合自拍| 99xxxx成人网| 在线欧美三区| 亚洲一区亚洲| 日韩午夜av电影| 欧美在线视频导航| 日韩一区二区福利| 欧美诱惑福利视频| 一区二区三区 在线观看视| 香蕉成人久久| 一本久久青青| 老司机精品导航| 欧美一区二区三区视频在线观看| 久久夜色精品一区| 午夜老司机精品| 欧美电影在线| 美女精品在线观看| 国产精品午夜av在线| 亚洲人人精品| 亚洲激情在线观看| 欧美在线关看| 欧美一区激情视频在线观看| 欧美激情一区在线观看| 久久免费高清视频| 在线精品福利| 中文av一区特黄| 亚洲激情在线视频| 久久精品二区亚洲w码| 亚洲综合清纯丝袜自拍| 欧美激情一区二区三区在线| 另类激情亚洲| 国产一区二区三区在线观看免费视频| 99成人精品| 亚洲精品五月天| 老司机67194精品线观看| 久久精品二区三区| 国产嫩草一区二区三区在线观看 | 中日韩美女免费视频网址在线观看 | 亚洲国产日韩欧美综合久久| 午夜视频在线观看一区| 午夜精品网站| 国产精品天天摸av网| 亚洲视频axxx| 亚洲欧美日韩人成在线播放| 欧美色精品天天在线观看视频| 91久久在线播放| 亚洲美女91| 欧美日韩精品免费观看| 一本色道88久久加勒比精品| 一区二区三区四区五区在线| 欧美日韩在线一区| av成人福利| 香蕉久久国产| 国产一区二区三区在线观看免费视频| 午夜在线视频一区二区区别| 欧美有码视频| 一区免费观看视频| 免费成人黄色片| 亚洲精品日产精品乱码不卡| 亚洲天堂网在线观看| 国产精品视频成人| 欧美在线影院| 亚洲国产精品毛片| 亚洲一区二区三区欧美| 国产精品一区二区你懂的| 欧美一级二级三级蜜桃| 男女精品网站| 一本一本久久| 国产伦精品一区二区三区视频黑人 | 欧美精品一区二区三区四区| 99re热精品| 久久国产精品久久久久久电车| 精品成人国产| 欧美日本不卡| 欧美一级成年大片在线观看| 亚洲成色最大综合在线| 亚洲香蕉成视频在线观看| 国产老女人精品毛片久久| 久久在线视频在线| 在线视频欧美日韩| 美女图片一区二区| 在线中文字幕一区| 狠狠色丁香婷婷综合| 欧美日本亚洲| 久久久www成人免费毛片麻豆| 亚洲人成网站色ww在线| 久久久久久久精| 日韩一二三在线视频播| 国产一区二区三区电影在线观看 | 亚洲一区国产| 亚洲欧洲精品一区二区三区波多野1战4| 宅男噜噜噜66一区二区66| 国内精品一区二区| 国产精品国产三级国产a| 久久综合色天天久久综合图片| 一区二区三区.www| 欧美激情中文字幕一区二区| 欧美在线中文字幕| 一区二区三区高清不卡| 精品91视频| 国产三级精品三级| 国产精品theporn| 欧美电影在线播放| 久久天天狠狠| 欧美一区日本一区韩国一区| 99精品视频网| 亚洲人成在线播放| 亚洲电影av| 欧美大片免费观看| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲欧美综合国产精品一区| 99国产精品久久| 亚洲精品中文字幕在线| 亚洲国产精品一区在线观看不卡 | 欧美久久婷婷综合色| 免费观看久久久4p| 久久永久免费| 久久人人97超碰国产公开结果| 欧美综合二区| 久久国产主播| 久久精品av麻豆的观看方式| 久久国产手机看片| 久久超碰97中文字幕| 欧美在线观看一区二区| 久久成年人视频| 久久精品国产v日韩v亚洲 | 欧美日韩国产综合一区二区| 欧美精品免费播放| 欧美日韩国产精品成人| 欧美网站在线观看| 国产精品色午夜在线观看| 国产精品亚洲欧美| 国产欧美在线| 在线观看视频一区| 亚洲另类春色国产| 亚洲综合国产| 久久精品视频播放| 欧美电影免费观看高清完整版| 欧美韩国日本一区| 亚洲美女精品一区| 午夜精品福利一区二区三区av| 欧美一区久久| 欧美激情国产高清| 国产精品久久久久久一区二区三区 | 久久久国产91| 欧美岛国激情| 国产精品视频观看| 在线免费不卡视频| 亚洲午夜在线观看| 久久久国产一区二区三区| 欧美高清在线精品一区| 99在线精品免费视频九九视| 亚洲欧美综合v| 免费黄网站欧美| 欧美网站大全在线观看| 国内精品国产成人| 99精品国产热久久91蜜凸| 香蕉久久夜色精品| 亚洲国产精品精华液2区45| 这里只有精品视频| 久久综合给合久久狠狠色| 欧美日韩在线视频一区二区| 激情视频亚洲| 亚洲综合三区| 亚洲国产精品第一区二区三区 | 欧美激情精品| 亚洲欧美中文另类| 欧美剧在线观看| 亚洲福利视频在线| 午夜精品成人在线视频| 欧美成人激情视频免费观看| 亚洲视频在线观看一区| 欧美jjzz| 黄色精品一区| 欧美一区在线看| 一区二区日韩免费看| 久热精品视频在线| 国产自产在线视频一区| 亚洲自拍偷拍网址| 亚洲国产精品成人综合| 久久久久免费| 国产一区二区三区最好精华液| 中文有码久久| 亚洲人精品午夜| 欧美成va人片在线观看|