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

小烏龜

在夢想的道路上還能走多遠

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::

   DirectX中,如何獲取深度值,然后將它存儲在一個txt文件中?其實只要修改兩個地方:
   第一個地方是:創(chuàng)建Direct3D設(shè)備時,將D3DPRESENT_PARAMETERS類型表示變量的AutoDepthStencilFormat設(shè)置為D3DFMT_D32F_LOCKABLE,代碼如下:   

 
    D3DPRESENT_PARAMETERS d3dpp;
    d3dpp.BackBufferWidth            
= width;
    d3dpp.BackBufferHeight           
= height;
    d3dpp.BackBufferFormat           
= D3DFMT_A8R8G8B8;
    d3dpp.BackBufferCount            
= 1;
    d3dpp.MultiSampleType            
= D3DMULTISAMPLE_NONE;
    d3dpp.MultiSampleQuality         
= 0;
    d3dpp.SwapEffect                  
= D3DSWAPEFFECT_DISCARD; 
    d3dpp.hDeviceWindow             
= hwnd;
    d3dpp.Windowed                     
= windowed;
    d3dpp.EnableAutoDepthStencil     
= true
    d3dpp.AutoDepthStencilFormat     
= D3DFMT_D32F_LOCKABLE;    // 16位總不行
    d3dpp.Flags                      = 0;
    d3dpp.FullScreen_RefreshRateInHz 
= D3DPRESENT_RATE_DEFAULT;
    d3dpp.PresentationInterval       
= D3DPRESENT_INTERVAL_IMMEDIATE;


   第二個地方是:設(shè)置鎖定緩存表面,并進行讀寫的代碼:

// 獲取深度模板表面
            HRESULT hr = Device->GetDepthStencilSurface( &pZBuffer );
            
if ( FAILED( hr ) ) 
                MessageBox( NULL, 
"GetDepthStencilSurface failure"00 ); 
            }

            
            
// 打開文件
            pFile = fopen( "ZBuffer.txt""w" );
            
if ( pFile == NULL ) 
                MessageBox( NULL, 
"shit", NULL, NULL); 
            }

            
            
// 獲取表面特性
            D3DSURFACE_DESC surfaceDesc;
            pZBuffer
->GetDesc( &surfaceDesc );

            
// 鎖定表面
            D3DLOCKED_RECT lockRect;
            hr 
= pZBuffer->LockRect( &lockRect, NULL, D3DLOCK_READONLY );
            
if ( FAILED( hr ) ) 
                MessageBox( NULL, 
"GetDepthStencilSurface"00 ); 
            }

            
            
// 獲取指向表面區(qū)域指針
            float* pData = (float*)lockRect.pBits;

            
// 將深度信息輸出到文件中
            for (int y = 0; y < surfaceDesc.Height; ++y ) {
                
for (int x = 0; x < surfaceDesc.Width; ++x ) {
                    
int index = y * lockRect.Pitch / 4 + x;
                    fprintf( pFile, 
"%f  ", pData[index] );
                }

                fprintf( pFile,
"\n");
            }

            
            
// 解鎖表面鎖定
            pZBuffer->UnlockRect();    
            
            
// 釋放接口和文件
            pZBuffer->Release();
            fclose( pFile );


posted on 2010-01-06 19:02 小烏龜 閱讀(1670) 評論(3)  編輯 收藏 引用 所屬分類: DirectX10

評論

# re: DirectX9獲取深度緩存值 2014-01-02 14:05 junjie020
請問你有試過,使用:

D3DDevice->CreateTexture(width, height, 1, D3DUSAGE_DEPTHSTENCIL, D3DFMT_D32F_LOCKABLE, D3DPOOL_DEFAULT, &pTex, NULL);

創(chuàng)建出一個depth texture,然后:
pTex->LockRect()能成功嗎?  回復(fù)  更多評論
  

# re: DirectX9獲取深度緩存值 2016-07-22 15:26 編程小旋風(fēng)
這樣創(chuàng)建紋理就直接報錯 試過了 @junjie020
  回復(fù)  更多評論
  

# re: DirectX9獲取深度緩存值 2016-07-23 12:14 編程小旋風(fēng)
不行 設(shè)置為D3DFMT_D32_LOCKABLE后創(chuàng)建設(shè)備的時候就失敗了   回復(fù)  更多評論
  


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            蜜桃精品一区二区三区| 国产啪精品视频| 一本一本a久久| av成人老司机| 亚洲视频自拍偷拍| 久久精品色图| 欧美黑人多人双交| 欧美日韩国产区| 99re热精品| 亚洲第一精品夜夜躁人人躁| 国产精品裸体一区二区三区| 午夜精品成人在线| 久久国内精品视频| 欧美精品一区二区三区一线天视频 | 国产精品久久久久久久久久直播| 亚洲欧美一级二级三级| 亚洲欧美视频一区二区三区| 久久这里有精品15一区二区三区| 欧美好吊妞视频| 亚洲欧美激情视频| 欧美激情一区二区三区蜜桃视频| 中文精品视频一区二区在线观看| 美女脱光内衣内裤视频久久网站| 国产片一区二区| 老司机凹凸av亚洲导航| 亚洲少妇在线| 黄色日韩网站| 亚洲综合色噜噜狠狠| 亚洲福利视频网| 欧美日韩国产不卡在线看| 小黄鸭精品密入口导航| 99国产精品99久久久久久| 国产精品天美传媒入口| 在线亚洲成人| 欧美成人久久| 欧美在线观看一区二区三区| 国产精品a级| 亚洲毛片网站| 欧美96在线丨欧| 性做久久久久久| 国产精品一页| 亚洲午夜一区二区| 亚洲清纯自拍| 欧美在线观看一区二区三区| 国产精品五月天| 欧美成人午夜| 国产精品亚洲精品| 欧美成人伊人久久综合网| 欧美久久精品午夜青青大伊人| 欧美在线视频免费播放| 亚洲老司机av| 欧美电影打屁股sp| 亚洲国产精品va在线看黑人动漫| 久久夜色精品国产欧美乱| 亚洲一区二区在线| 国产精品影音先锋| 欧美激情一区在线观看| 国产欧美一区二区三区另类精品| 亚洲欧洲精品一区二区| 欧美精品一区二区精品网 | 欧美日韩亚洲一区三区| 99精品热6080yy久久 | 欧美高清在线一区二区| 久久久久国产一区二区| 亚洲欧美在线高清| 一本大道久久a久久精二百| 亚洲免费高清| 国产欧美日韩麻豆91| 99人久久精品视频最新地址| 最新国产成人av网站网址麻豆| 亚洲电影一级黄| 韩日午夜在线资源一区二区| 一区二区成人精品| 99re6热只有精品免费观看| 久久久久久久一区| 亚洲精品视频在线| 免费欧美在线| 国产精品久久91| 久久精品国产999大香线蕉| 久久免费精品视频| 亚洲九九爱视频| 免费看的黄色欧美网站| av成人免费在线| 欧美成人免费一级人片100| 欧美国产视频在线观看| 亚洲成色777777女色窝| 夜夜嗨av一区二区三区免费区| 亚洲欧洲日本一区二区三区| 欧美xxx在线观看| 欧美激情综合色| 日韩西西人体444www| 欧美巨乳波霸| 一区二区三区成人精品| 午夜精品视频在线| 国产色视频一区| 亚洲国产欧美另类丝袜| 国产精品美女久久久久久2018| 宅男噜噜噜66一区二区66| 午夜视频一区二区| 国产嫩草影院久久久久 | 久久精品成人| 一区视频在线看| 一区二区三区久久| 性视频1819p久久| 国产亚洲欧美日韩美女| 亚洲精品视频二区| 亚洲视频在线观看| 美腿丝袜亚洲色图| 亚洲电影免费观看高清完整版在线观看 | 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 牛牛国产精品| 亚洲国内在线| 亚洲精品社区| 先锋影音久久| 亚洲成人资源| 欧美日韩一区二区视频在线观看 | 一个色综合导航| 国产精品扒开腿爽爽爽视频| 亚洲欧美日韩精品久久| 免费成人av在线看| 日韩一级精品视频在线观看| 国产伦精品一区二区三区视频孕妇 | 亚洲国产精品国自产拍av秋霞| 正在播放亚洲一区| 国产日韩欧美三级| 免费久久99精品国产自| 亚洲伊人伊色伊影伊综合网| 欧美激情 亚洲a∨综合| 亚洲欧美欧美一区二区三区| 亚洲高清自拍| 国产三级欧美三级日产三级99| 久久中文字幕导航| 亚洲宅男天堂在线观看无病毒| 亚洲精品日韩激情在线电影 | 亚洲免费影视| 亚洲精品1234| 久久夜色精品一区| 亚洲欧美视频在线观看| av成人国产| 欧美视频网址| 亚洲娇小video精品| 久久成人免费日本黄色| 这里只有精品在线播放| 亚洲激情中文1区| 国产视频一区在线观看| 欧美日韩在线观看一区二区| 麻豆精品视频在线观看| 午夜精品短视频| 一本色道综合亚洲| 亚洲欧洲一区二区在线播放| 美日韩丰满少妇在线观看| 性色av一区二区三区| 日韩午夜激情av| 亚洲精品老司机| 悠悠资源网亚洲青| 美国十次成人| 久久av二区| 亚洲天堂成人在线观看| 亚洲激情一区二区三区| 欧美成人免费全部观看天天性色| 久久都是精品| 欧美一区二区女人| 国内精品国产成人| 鲁大师影院一区二区三区| 亚洲欧美日韩一区二区| 99这里有精品| 99av国产精品欲麻豆| 亚洲福利视频网| 亚洲国产精品成人va在线观看| 欧美刺激性大交免费视频| 美女91精品| 免费看成人av| 欧美va亚洲va日韩∨a综合色| 久久综合影视| 美女主播精品视频一二三四| 欧美肥婆在线| 亚洲国产精品久久人人爱蜜臀| 欧美福利一区| 亚洲国产精品成人va在线观看| 亚洲激情国产精品| 亚洲黄色天堂| 亚洲人成亚洲人成在线观看| 亚洲精品国产拍免费91在线| 亚洲精品黄网在线观看| 亚洲人成网站影音先锋播放| 久久综合999| 裸体一区二区| 免费成人性网站| 欧美成人乱码一区二区三区| 亚洲电影第1页| 亚洲乱码国产乱码精品精| 日韩视频在线免费| 99热在线精品观看| 亚洲一二三级电影| 欧美一站二站| 麻豆成人在线观看| 欧美精品v国产精品v日韩精品| 欧美日韩成人在线播放| 国产精品久久久久久久久婷婷| 国产偷国产偷精品高清尤物|