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

專職C++

不能停止的腳步

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

常用鏈接

留言簿(28)

我參與的團隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

  1 bool HGE_Impl::_init_lost()
  2 {
  3     CRenderTargetList *target=pTargets;
  4 
  5 // Store render target
  6     //屏幕表面    
  7     pScreenSurf=0;
  8     //屏幕深度
  9     pScreenDepth=0;
 10 
 11     pD3DDevice->GetRenderTarget(&pScreenSurf); //取渲染目標表面,這個函數在DX9有些變化
 12     pD3DDevice->GetDepthStencilSurface(&pScreenDepth); //取屏幕深度
 13     //當存在渲染目標時
 14     while(target)
 15     {
 16         //如果目標紋理存在,則重新創建紋理
 17         if(target->pTex)
 18             D3DXCreateTexture(pD3DDevice, target->width, target->height, 1, D3DUSAGE_RENDERTARGET,
 19                               d3dpp->BackBufferFormat, D3DPOOL_DEFAULT, &target->pTex);
 20         //如果深度存在,則重新創建深度表面
 21         if(target->pDepth)
 22             pD3DDevice->CreateDepthStencilSurface(target->width, target->height,
 23                                                   D3DFMT_D16, D3DMULTISAMPLE_NONE, &target->pDepth);
 24         target=target->next;
 25     }
 26 
 27 // Create Vertex buffer
 28     //創建頂點緩存
 29     if( FAILED (pD3DDevice->CreateVertexBuffer(VERTEX_BUFFER_SIZE*sizeof(hgeVertex),
 30                                               D3DUSAGE_WRITEONLY,
 31                                               D3DFVF_HGEVERTEX,
 32                                               D3DPOOL_DEFAULT, &pVB )))
 33     {
 34         _PostError("Can't create D3D vertex buffer");
 35         return false;
 36     }
 37     //設置頂點格式,在Dx9中,將DX8的這個函數SetVertexShader分成了SetVertexShader和SetFVF
 38     //在DX9中,我們只需要使用SetFVF就可以設置頂點格式了
 39     pD3DDevice->SetVertexShader( D3DFVF_HGEVERTEX );
 40     //把一個頂點緩存綁定到一個設備數據流
 41     pD3DDevice->SetStreamSource( 0, pVB, sizeof(hgeVertex) );
 42 
 43 // Create and setup Index buffer
 44     //創建索引緩存
 45     if( FAILED( pD3DDevice->CreateIndexBuffer(VERTEX_BUFFER_SIZE*6/4*sizeof(WORD),
 46                                               D3DUSAGE_WRITEONLY,
 47                                               D3DFMT_INDEX16,
 48                                               D3DPOOL_DEFAULT, &pIB ) ) )
 49     {
 50         _PostError("Can't create D3D index buffer");
 51         return false;
 52     }
 53     //鎖定頂點緩存
 54     WORD *pIndices, n=0;
 55     if( FAILED( pIB->Lock( 0, 0, (BYTE**)&pIndices, 0 ) ) )
 56     {
 57         _PostError("Can't lock D3D index buffer");
 58         return false;
 59     }
 60     //建立索引 這里主要是針對hgeQuad的方式。DX中沒有四邊形圖元,所以這里是由兩個三角形拼起來的。
 61     //繪制三角形的時候,默認是逆時針方向繪三個頂點
 62     for(int i=0; i<VERTEX_BUFFER_SIZE/4; i++) {
 63         /*
 64             第一個三角形
 65             pIndices[0] = n;
 66             pIndices[1] = n+1;
 67             pIndices[2] = n+2;
 68          */
 69         *pIndices++=n;
 70         *pIndices++=n+1;
 71         *pIndices++=n+2;
 72         /*
 73             第二個三角形
 74             pIndices[0] = n+2;
 75             pIndices[1] = n+3;
 76             pIndices[2] = n;
 77          */
 78         *pIndices++=n+2;
 79         *pIndices++=n+3;
 80         *pIndices++=n;
 81         n+=4;
 82     }
 83     pIB->Unlock();
 84     pD3DDevice->SetIndices(pIB,0);
 85 
 86     // Set common render states
 87     //設置通用渲染狀態
 88 
 89     //pD3DDevice->SetRenderState( D3DRS_LASTPIXEL, FALSE );
 90     //D3DRS_CULLMODE 這個參數用來指定三角形背面的剔除方式。
 91     //D3DCULL_NONE,不要剔除背面;
 92     //D3DCULL_CW,按照順時針的方向的頂點剔除背面;
 93     //D3DCULL_CCW,按照逆時針方向剔除背面。
 94     pD3DDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
 95     //關閉光照
 96     pD3DDevice->SetRenderState( D3DRS_LIGHTING, FALSE );
 97     //打開alpha通道
 98     pD3DDevice->SetRenderState( D3DRS_ALPHABLENDENABLE,   TRUE );
 99     //下面設置alpha混合系數
100     pD3DDevice->SetRenderState( D3DRS_SRCBLEND,  D3DBLEND_SRCALPHA );    //設置源混合方式 D3DBLEND_SRCALPHA:Blend factor is (As, As, As, As). 
101     pD3DDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA ); //設置目的混合方式 D3DBLEND_INVSRCALPHA:Blend factor is ( 1 - As, 1 - As, 1 - As, 1 - As). 
102 
103     //調用alpha測試,用于提升性能
104     pD3DDevice->SetRenderState( D3DRS_ALPHATESTENABLE, TRUE );
105     //測試參考值,0x01相當于對于全透明的,將不渲染
106     pD3DDevice->SetRenderState( D3DRS_ALPHAREF,        0x01 );
107     //要求渲染>=參考值的像素
108     pD3DDevice->SetRenderState( D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL );
109 
110     //設置狀態    
111     //紋理融合操作 
112     pD3DDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );  //設置顏色通道混合控制為:多參數
113     pD3DDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );    //
114     pD3DDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
115     
116     pD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE );  ////設置alpha通道混合控制為:多參數
117     pD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
118     pD3DDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE );
119     //D3DTSS_MIPFILTER過濾采用近點采樣
120     pD3DDevice->SetTextureStageState(0, D3DTSS_MIPFILTER, D3DTEXF_POINT);
121 
122     if(bTextureFilter) //如果使用紋理過濾
123     {
124         pD3DDevice->SetTextureStageState(0,D3DTSS_MAGFILTER,D3DTEXF_LINEAR);
125         pD3DDevice->SetTextureStageState(0,D3DTSS_MINFILTER,D3DTEXF_LINEAR);
126     }
127     else
128     {
129         pD3DDevice->SetTextureStageState(0,D3DTSS_MAGFILTER,D3DTEXF_POINT);
130         pD3DDevice->SetTextureStageState(0,D3DTSS_MINFILTER,D3DTEXF_POINT);
131     }
132 
133     nPrim=0;
134     CurPrimType=HGEPRIM_QUADS;    //當前主要操作類型
135     CurBlendMode = BLEND_DEFAULT; //當前混合方式
136     CurTexture = NULL;              //當前紋理
137 
138     pD3DDevice->SetTransform(D3DTS_VIEW, &matView);  //設置視圖,該值為默認值,沒有變化
139     pD3DDevice->SetTransform(D3DTS_PROJECTION, &matProj); //設置投影,已設為正交投影,具體參考我前面的散筆:HGE 的坐標轉換函數注釋說明_SetProjectionMatrix 140 
141     return true;
142 }

posted on 2010-02-04 11:36 冬瓜 閱讀(1818) 評論(0)  編輯 收藏 引用 所屬分類: 原創DirectXHGE
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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一区| 久久嫩草精品久久久久| 免费视频久久| 亚洲精品欧美一区二区三区| 中文在线一区| 欧美在线电影| 欧美成人免费网站| 欧美亚男人的天堂| 国产一区二区毛片| 91久久久久久| 午夜精品视频网站| 欧美va天堂va视频va在线| 亚洲欧洲日本国产| 亚洲午夜久久久久久久久电影院| 亚洲欧美视频在线观看视频| 久久人人超碰| 国产精品成人一区二区网站软件 | 欧美专区日韩专区| 欧美77777| 国产欧美一区二区三区久久人妖| 亚洲国产成人在线视频| 亚洲欧美日本国产专区一区| 免费在线观看日韩欧美| 亚洲天堂av图片| 美女国产一区| 国产一区二区精品| 亚洲欧美日本另类| 亚洲激情一区二区| 欧美在线啊v| 欧美午夜大胆人体| 91久久国产综合久久| 欧美一区激情| 日韩视频免费观看高清在线视频 | 国产偷自视频区视频一区二区| 亚洲精品久久久久久一区二区| 一区二区三区久久网| 欧美一区二区三区日韩| 亚洲精品影院| 欧美大片专区| 1000部精品久久久久久久久| 亚洲欧美日韩在线综合| 亚洲精品国产拍免费91在线| 亚洲欧美日韩中文播放| 亚洲高清不卡av| 久久久久久91香蕉国产| 国产伦精品一区| 香蕉久久夜色精品国产使用方法 | 欧美在线网站| 国产麻豆日韩| 久久精品视频99| 欧美一二三视频| 国产午夜精品一区二区三区欧美 | 欧美涩涩视频| 亚洲视频网站在线观看| 日韩一级二级三级| 欧美日韩国产精品专区| 中国av一区| 亚洲性视频网站| 国产日韩在线一区二区三区| 性做久久久久久久久| 香蕉久久夜色精品国产| 国产一区二区三区黄视频| 久久伊人精品天天| 美女亚洲精品| 亚洲社区在线观看| 亚洲网站视频福利| 国产毛片精品国产一区二区三区| 久久国产加勒比精品无码| 久久精品天堂| 亚洲毛片在线观看| 一区二区三区色| 国产免费一区二区三区香蕉精| 欧美亚洲一区二区在线| 久久福利一区| 99精品欧美| 亚洲欧美一区二区三区在线| 伊人成年综合电影网| 亚洲人成高清| 国产深夜精品福利| 欧美激情一区二区三区成人| 欧美日韩亚洲激情| 久久久精品一区| 欧美久久久久久| 性欧美video另类hd性玩具| 久久亚洲春色中文字幕| 亚洲图片欧洲图片av| 欧美怡红院视频| 一区二区三区视频在线观看| 久久av在线| 一区二区福利| 久久久综合免费视频| 亚洲视频碰碰| 美女福利精品视频| 欧美一区中文字幕| 欧美日韩中文另类| 男人插女人欧美| 欧美三级日本三级少妇99| 久久精品成人一区二区三区| 欧美成人一区二区| 久久精品99久久香蕉国产色戒| 欧美激情1区| 久久只有精品| 国产欧美91| 日韩性生活视频| 亚洲国产精品va| 欧美在线观看网站| 性欧美大战久久久久久久久| 欧美极品欧美精品欧美视频| 久久综合色影院| 国产日韩欧美成人| 一区二区三区国产盗摄| 亚洲日本在线观看| 久久人体大胆视频| 久久精品国亚洲| 国产精品综合久久久| 亚洲日本免费| 亚洲精品国产精品国自产观看| 欧美在线电影| 久久激情网站| 国产欧美69| 午夜日韩激情| 久久精品99国产精品酒店日本| 国产精品大全| 亚洲一区二区视频在线观看| 亚洲一区亚洲二区| 欧美四级电影网站| 亚洲视频视频在线| 午夜精品一区二区三区在线播放| 欧美日韩一区在线观看| 亚洲精品国产欧美| 一本一道久久综合狠狠老精东影业 | 永久免费视频成人| 欧美在线视频二区| 久久九九国产精品怡红院| 国产色产综合产在线视频| 欧美亚洲自偷自偷| 免费人成网站在线观看欧美高清| 曰韩精品一区二区| 久久免费视频一区| 亚洲电影网站| 亚洲性视频网站| 国产欧美欧美| 久久久亚洲影院你懂的| 欧美国产免费| 一区二区免费在线视频| 国产精品va在线| 亚洲欧美日韩专区| 久久影院亚洲| 亚洲精品国精品久久99热| 欧美日韩国产三区| 亚洲一区欧美激情| 免费短视频成人日韩| 99国产精品| 国产区亚洲区欧美区| 蜜桃av噜噜一区| 一区二区三区免费网站| 久久精品视频在线免费观看| 亚洲区第一页| 国产美女扒开尿口久久久| 久久综合亚洲社区| 一区二区三区欧美激情| 香蕉亚洲视频| 男人的天堂成人在线| 欧美日韩国内| 99爱精品视频| 午夜在线成人av| 极品少妇一区二区三区精品视频| 久久久久这里只有精品| 亚洲国产精品久久| 亚洲手机视频| 极品av少妇一区二区| 欧美日韩国产va另类| 欧美一区二区三区在| 亚洲日本中文字幕| 久久国产夜色精品鲁鲁99| 亚洲电影观看| 欧美视频一区二区| 欧美一区综合| 99精品视频免费| 你懂的亚洲视频| 小黄鸭精品aⅴ导航网站入口| 亚洲国产精品传媒在线观看| 欧美视频四区| 免费观看成人网| 新片速递亚洲合集欧美合集| 亚洲黑丝在线| 蜜桃伊人久久| 欧美诱惑福利视频| 一区二区欧美日韩| 亚洲人成在线播放| 在线免费高清一区二区三区| 国产伦精品一区二区三区四区免费| 欧美激情综合五月色丁香| 久久久在线视频| 欧美在线资源|