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

隨筆 - 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>
            亚洲人成网在线播放| 欧美激情一二三区| 亚洲深夜福利视频| 欧美日韩美女在线观看| 99re66热这里只有精品4| 亚洲人成在线影院| 欧美午夜激情小视频| 亚洲欧美国产精品va在线观看 | 久久国产精品99精品国产| 亚洲特级片在线| 国产色爱av资源综合区| 快播亚洲色图| 欧美精品一卡二卡| 性欧美大战久久久久久久久| 欧美亚洲日本国产| 亚洲国产精品成人一区二区| 亚洲免费观看| 国产一区自拍视频| 亚洲黄网站在线观看| 欧美大片一区二区三区| 在线中文字幕一区| 欧美中文日韩| 亚洲美女中文字幕| 亚洲欧美视频一区| 亚洲激情另类| 亚洲一区二区三区四区在线观看| 久久av在线| 亚洲人体一区| 香蕉av福利精品导航| 亚洲精品乱码| 午夜视频在线观看一区| 亚洲精品国精品久久99热一| 亚洲午夜在线| 亚洲激情欧美| 性欧美xxxx视频在线观看| 亚洲精品久久久久久一区二区| 欧美与黑人午夜性猛交久久久| 亚洲精品一区二区三区不| 国产精品一区二区三区久久久| 一本色道**综合亚洲精品蜜桃冫| 玖玖玖免费嫩草在线影院一区| 亚洲小视频在线观看| 亚洲黄色视屏| 久久国内精品视频| 亚洲欧美日韩一区二区| 欧美激情中文字幕一区二区| 美女性感视频久久久| 国产欧美日韩综合一区在线观看| 亚洲在线视频网站| 免费影视亚洲| 欧美不卡在线| 国产伦精品一区二区三区照片91| 香蕉久久国产| 欧美视频在线播放| 欧美国产日韩一区二区三区| 国产一二精品视频| 亚洲午夜精品一区二区| 一本一本a久久| 欧美激情 亚洲a∨综合| 欧美国产在线视频| 亚洲国产天堂久久综合网| 久久av二区| 久久久之久亚州精品露出| 国产精品拍天天在线| 中文亚洲免费| 亚洲在线中文字幕| 欧美午夜在线视频| 一本久道久久综合狠狠爱| 亚洲无线视频| 欧美午夜欧美| 亚洲性视频网站| 香蕉久久夜色精品国产使用方法| 久久精品国产欧美激情| 翔田千里一区二区| 国产在线视频欧美| 欧美一区久久| 麻豆成人av| 亚洲日韩欧美视频| 欧美日韩国产三区| 一本色道久久综合亚洲精品高清| 国产午夜久久| 久久久久在线观看| 免费中文日韩| 一区二区日韩精品| 欧美天堂在线观看| 亚洲婷婷国产精品电影人久久| 在线播放日韩专区| 欧美精品久久天天躁| 亚洲免费成人av| 欧美一区二区高清在线观看| 国产精品你懂的在线欣赏| 亚洲欧美日韩另类| 欧美不卡视频一区发布| 亚洲精品一区二区在线| 欧美日韩在线不卡| 午夜精品福利在线观看| 男女视频一区二区| 亚洲视频专区在线| 国产日韩欧美亚洲一区| 欧美不卡高清| 亚洲一区二区精品在线| 久久视频在线看| 一区二区三区日韩在线观看| 国产精一区二区三区| 久久在线精品| 中文在线资源观看网站视频免费不卡| 亚洲国产cao| 国产精品国产三级国产aⅴ无密码| 久久久久久久综合色一本| 亚洲激情一区二区| 国产欧美大片| 欧美高清视频一区二区| 亚洲欧美日韩国产一区二区三区| 亚洲人体偷拍| 国产日韩一区二区三区在线| 老司机精品久久| 亚洲三级免费观看| 久久久中精品2020中文| 亚洲一区二区在线看| 亚洲电影下载| 国产欧美日韩不卡免费| 欧美另类videos死尸| 久久麻豆一区二区| 亚洲欧美综合精品久久成人| 亚洲精品在线免费观看视频| 美日韩精品免费观看视频| 欧美与欧洲交xxxx免费观看| 一区二区三区 在线观看视| 国内外成人在线| 国产农村妇女精品一二区| 欧美日韩国产一区二区三区地区 | 欧美专区中文字幕| 99国产精品99久久久久久| 国产主播一区二区三区四区| 欧美性猛交xxxx乱大交蜜桃| 另类尿喷潮videofree| 亚洲免费影视第一页| 一二三区精品| 日韩视频精品在线| 亚洲欧洲久久| 亚洲国产欧美一区二区三区丁香婷| 亚洲人成人99网站| 激情久久久久久| 国产视频在线观看一区二区三区| 久久久久国产精品一区二区| 欧美一区二区三区的| 亚洲欧美成人一区二区在线电影| 久久福利一区| 欧美一区二区精美| 欧美在线在线| 性亚洲最疯狂xxxx高清| 新片速递亚洲合集欧美合集| 性久久久久久久久久久久| 亚洲欧美日韩在线观看a三区| 国内外成人免费激情在线视频网站| 久久综合久久久| 欧美岛国在线观看| 欧美精品在线观看一区二区| 欧美日韩国产色综合一二三四| 亚洲综合大片69999| 亚洲欧美久久| 久久精品国产一区二区三区| 久久蜜桃精品| 免费在线观看成人av| 欧美成人免费在线观看| 欧美三级黄美女| 国产精品综合网站| 亚洲成人资源| 在线一区二区三区四区| 性刺激综合网| 欧美成人乱码一区二区三区| 亚洲欧洲在线视频| 一区二区三区免费看| 欧美综合国产精品久久丁香| 欧美大片免费观看| 国产精品一区二区三区观看 | 亚洲一区欧美| 午夜精品久久久久久久99樱桃| 亚洲人成在线观看一区二区| 一区二区三区日韩精品| 午夜视频一区二区| 欧美国产日韩精品| 国产麻豆日韩| 日韩视频不卡中文| 欧美在线视频播放| 亚洲欧洲日产国码二区| 午夜免费日韩视频| 欧美精品一区二区精品网| 国产精品人人做人人爽| 亚洲欧洲日本国产| 久久av一区二区三区| 亚洲第一区在线| 香蕉久久一区二区不卡无毒影院 | 亚洲国产精品成人精品| 亚洲视频一区二区在线观看| 久久久久久久久久码影片| 欧美屁股在线| 亚洲国产岛国毛片在线| 亚洲欧美色婷婷| 亚洲国产精品成人综合色在线婷婷|