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

小烏龜

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

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::

   DirectX中,如何獲取深度值,然后將它存儲在一個txt文件中?其實只要修改兩個地方:
   第一個地方是:創建Direct3D設備時,將D3DPRESENT_PARAMETERS類型表示變量的AutoDepthStencilFormat設置為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;


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

// 獲取深度模板表面
            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 ); 
            }

            
            
// 獲取指向表面區域指針
            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);

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

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

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情亚洲另类| 日韩一级在线| 99精品热视频| 亚洲国产另类久久精品| 亚洲高清不卡在线| 亚洲国产综合在线看不卡| 亚洲人成网站777色婷婷| 亚洲欧洲一区二区在线播放| 亚洲日本aⅴ片在线观看香蕉| 日韩视频三区| 亚洲一区日韩| 久久av在线| 欧美高清在线精品一区| 亚洲免费观看高清完整版在线观看| 一本久道久久综合中文字幕| 亚洲欧美视频在线观看| 久久亚洲午夜电影| 欧美日韩黄色大片| 国产精品在线看| 亚洲国产一区二区在线| 这里只有精品视频| 欧美一区二区三区在| 麻豆精品一区二区综合av| 亚洲精品久久久蜜桃 | 久久av一区二区三区漫画| 久久综合精品一区| 亚洲另类视频| 欧美亚洲综合另类| 欧美大胆成人| 国产一区二区三区在线观看免费视频| 亚洲国产美国国产综合一区二区| 亚洲一区尤物| 欧美 日韩 国产 一区| 在线天堂一区av电影| 久久蜜桃av一区精品变态类天堂| 欧美日韩一本到| 亚洲国产精品电影| 久久国产综合精品| 在线视频你懂得一区二区三区| 久久免费国产精品| 国产情人节一区| 亚洲一区成人| 亚洲国产日本| 久久噜噜亚洲综合| 国产亚洲欧美一区二区| 亚洲专区一二三| 亚洲乱码精品一二三四区日韩在线| 欧美在线亚洲| 国产日本欧美一区二区三区| 亚洲一区二区免费| 亚洲精品日韩久久| 欧美精品日韩精品| 亚洲美女av在线播放| 欧美黄色影院| 美日韩精品免费| 在线欧美一区| 欧美成人自拍| 欧美v国产在线一区二区三区| 国内精品美女在线观看| 久久爱另类一区二区小说| 国产精品99久久久久久www| 欧美日韩一二区| 一区二区三区国产精品| 日韩一级免费| 国产精品久久久久久影视| 亚洲影视在线| 亚洲一区二区视频在线观看| 国产精品国产a| 欧美一区二区免费| 午夜在线视频观看日韩17c| 国产日韩欧美综合| 久久久久五月天| 久久久久久久久蜜桃| 在线不卡欧美| 亚洲国产精品ⅴa在线观看| 欧美理论电影网| 亚洲影视在线| 久久国产精品99久久久久久老狼| 国产一区在线免费观看| 久久免费国产精品1| 久久全国免费视频| 亚洲精品网站在线播放gif| 日韩亚洲欧美一区| 亚洲高清色综合| 欧美日韩国产bt| 99国产精品视频免费观看一公开| 亚洲人成欧美中文字幕| 国产精品美女久久久久av超清 | 激情六月婷婷久久| 欧美激情麻豆| 国产精品久久久久影院色老大 | 午夜亚洲性色福利视频| 欧美一级视频精品观看| 亚洲国产欧美一区二区三区久久 | 欧美在线看片a免费观看| 精东粉嫩av免费一区二区三区| 欧美成在线观看| 欧美私人网站| 免费成人av| 欧美亚男人的天堂| 欧美大片免费久久精品三p| 欧美天天综合网| 你懂的一区二区| 国产精品免费观看视频| 欧美成人激情视频| 国产精品任我爽爆在线播放| 欧美成人免费va影院高清| 欧美亚洲不卡| 亚洲国产精品悠悠久久琪琪| 国产欧美亚洲精品| 日韩视频免费大全中文字幕| 伊人天天综合| 亚洲欧美另类久久久精品2019| 亚洲国产精品va在线看黑人| 亚洲综合欧美日韩| 在线亚洲免费视频| 蜜臀va亚洲va欧美va天堂| 香蕉精品999视频一区二区| 欧美成人中文| 欧美电影免费观看大全| 国产一区二区三区自拍 | 久久久久一本一区二区青青蜜月| 欧美精品亚洲二区| 欧美激情1区2区3区| 国外成人在线视频网站| 亚洲视频在线观看| 亚洲视频一区二区| 欧美日韩高清在线播放| 亚洲成色777777在线观看影院| 国产一区二区三区高清| 亚洲欧美日韩精品久久久久| 亚洲一区二区不卡免费| 欧美日韩国产综合视频在线观看中文 | 亚洲欧美日韩国产一区二区三区| 欧美高清视频在线观看| 欧美在线观看网站| 欧美一区二区视频在线观看2020| 欧美日韩免费看| 亚洲激情成人| 亚洲日本一区二区| 欧美成人综合网站| 亚洲国产电影| 99re视频这里只有精品| 欧美国产日韩视频| 亚洲美女福利视频网站| 一区二区三区 在线观看视频 | 欧美ab在线视频| 欧美激情第4页| 亚洲精品久久久久久一区二区| 欧美xxx成人| 亚洲精品在线视频观看| 亚洲图片欧洲图片av| 国产精品久久一卡二卡| 欧美一区二区在线看| 免费观看在线综合色| 亚洲三级影院| 欧美视频在线视频| 欧美一区中文字幕| 欧美成人精品影院| 一区二区三区四区蜜桃| 国产精品久久久久久久久动漫| 亚洲欧美成人精品| 女仆av观看一区| 妖精成人www高清在线观看| 国产精品hd| 久久精品2019中文字幕| 欧美国产日本在线| 亚洲欧美一区二区三区在线| 国产一区二区三区在线观看免费视频| 久久人91精品久久久久久不卡| 亚洲欧洲一区二区在线观看 | 在线观看91精品国产入口| 欧美国产综合一区二区| 亚洲欧美日本另类| 欧美电影免费观看| 午夜精品久久久久久久白皮肤 | 亚洲伦伦在线| 久久精品电影| 日韩午夜高潮| 国产欧美日韩专区发布| 欧美大片免费观看在线观看网站推荐 | 国产精品久久久久久av福利软件| 久久se精品一区精品二区| 亚洲人成绝费网站色www| 久久精品首页| 亚洲一区免费看| 亚洲国产视频一区| 国产婷婷97碰碰久久人人蜜臀| 欧美第一黄网免费网站| 欧美在线你懂的| 中文网丁香综合网| 欧美激情一区二区三区在线视频| 欧美在线高清| 亚洲一区在线播放| 一区电影在线观看| 亚洲欧洲在线一区| 亚洲精品乱码久久久久久蜜桃91| 亚洲欧美日韩在线高清直播| 亚洲国产精品成人精品| 国产精品亚洲综合|