dx11特性:強制要求裝置實現d3d11規定的所有功能特性。
dx9特性:不強制要求裝置實現d3d11規定的所有功能特性。當需要使用某一特性時,先查詢再呼叫。
com:component object model 元件物件模型
texture:紋理
d3d紋理只支援特定格式的資料儲存,這些格式由dxgi_format列舉型別描述。
dxgi_format_r32g32b32_float
元素為3個32位浮點分量
dxgi_format_r16g16b16a16_unorm
元素為4個16位分量,範圍[0,1]
dxgi_format_r32g32_uint
元素為2個32位無符號整數分量
dxgi_format_r8g8b8a8_unorm
元素為4個8位無符號分量,範圍[0,1]
dxgi_format_r8g8b8a8_snorm
元素為4個8位有符號分量,範圍[-1,1]
dxgi_format_r8g8b8a8_sint
元素為4個8位有符號分量,範圍[-128,127]
dxgi_format_r8g8b8a8_uint
元素為4個8位無符號分量,範圍[0,255]
dxgi_format_r8g8b8a8_typeless
弱型別格式,可以先分配記憶體空間,然後再紋理繫結到管線時再重新解釋資料內容
前後臺緩衝區(front buffer、back buffer):在後台緩衝區執行所有的動畫幀繪製工作後,將前後臺緩衝區的指標互換,使後台緩衝區在前台顯示(這種互換行為成為呈現),變成前台緩衝區,原前台緩衝區變成後台緩衝區,完成下一幀的繪製工作。這個交換的過程形成了乙個交換鏈(swap chain)。
d3d中的交換鏈結口:idxgiswapchain
idxgiswapchain::resizebuffers 調整緩衝區尺寸
idxgiswapchain::present 呈現方法
深度緩衝區(depth buffer)範圍[0.0,1.0],0.0表示離觀察者最近的物體。
d3d使用的深度快取(depth buffering)或z快取(z-buffering)是乙個概念。
深度緩衝區是乙個紋理,所以在建立它時必須制定一種資料格式。格式如下:
dxgi_format_d32_float_s8x24_uint
32位浮點深度緩衝區。為模板緩衝區預留8位無符號整數,每個取值[0,255],其餘24位閒置
dxgi_format_d32_float
32位浮點深度緩衝區
dxgi_format_d24_unorm_s8_uint
無符號24位深度緩衝區,每個取值[0,1]。為模板緩衝區預留8位無符號整數,每個模板值取值範圍[0,255]
dxgi_format_d16_unorm
無符號16位深度緩衝區,每個取值[0,1]
為了將紋理繫結到渲染管線的不同階段,d3d始終要求我們在初始換時為紋理建立相關的資源檢視(resource view),所以當把紋理作為乙個渲染目標和著色器資源時,要為它建立兩種檢視:渲染目標檢視(id3d11rendertargetview)和著色器資源檢視(id3d11shaderresourceview)。
將紋理作為渲染目標使用繫結標誌值:d3d11_bind_render_target
將紋理作為著色器資源使用繫結值:d3d10_bind_shader_resource
資源檢視的兩個主要功能:
1.指定資源所要繫結的管線階段
2.如果在建立資源時指定的時弱型別(typeless)格式,那麼在為它建立資源檢視時就必須指定明確的資源型別。對於弱型別格式,紋理元素可能會在乙個管線階段中視為浮點數,而在另乙個管線階段中視為整數。
抗鋸齒技術:
超級取樣supersampling
多重取樣multisampling
後台快取:4倍解析度
後台快取:4倍解析度
深度快取:4倍解析度
深度快取:4倍解析度
實際畫素值:4個畫素的平均值
實際畫素值 :計算畫素中心顏色一次後基於子畫素的可見性和範圍共享顏色資訊
優勢:精確
優勢:代價相對低
DirectX 11遊戲程式設計學習筆記之1 開場白
本文由哈利 2024958085 qq.com 這是我之前的部落格系列 directx9.0c遊戲開發手記之 龍書 第二版學習筆記 的平行版,也可以說是續集。說是平行版,因為這兩個部落格系列因為某種顯而易見的原因,內容是很平行的 而之所以說是續集,是因為前面那個系列可能就此坑掉了 前面那個系列是關於...
DirectX11 學習筆記(14) 點光源
好久沒有更新部落格了。最近一直在忙一些其他的事情 dx都快忘了 今天繼續更新!上次說到簡單光照,今天我們就學習乙個點光源 影響點光源的因素主要有 範圍,位置,衰減 其中衰減用乙個二次方程來表達 attenuation att0 att1 d att2 d att0 常量修飾符 由於此值未乘以任何值,...
DirectX11學習筆記(不定期更新)
目錄 1 dx與hlsl的矩陣 2 建立常量緩衝區的尺寸需要按照16位元組對齊 dx的矩陣 directx xmmatrix 按照行主元優先儲存,而hlsl的矩陣預設按照列主元優先儲存。解決這個問題的方法有兩種 1 將directx的矩陣轉置 directx xmmatrix m matrix di...