D3d fov 視野範圍 的理解

2022-08-01 07:30:16 字數 638 閱讀 2303

近日在學習對d3d的hook操作,目標是想對第三方的d3d程式進行新增logo等修改,開始的時候對sdk october 2006裡面的tut06_meshes進行hook,偶然發現當我把它的視窗拉大了之後,他們的backbuffer並沒有發生相應的變化,還是保持createwindow是的大小,所以影象拉伸了之後很難看了,而且拉伸變形了。之後我悟出了兩點道理:

2.影象變形的問題,則跟backbuffer無關的,而跟x,y方向上的fov(視野範圍)有關。像我看得這個例子tut06_meshes,他在設定投影矩陣時,把fov的比例限定為1.0了,那麼視窗拉伸的時候(寬高比例不是1:1),影象自然就變形了。我有選了了另外乙個例子statemanager,發現他的視窗拉伸之後能看到的東西(場景)更多了,而且沒有變形。仔細研究裡面的**之後我發現,它使用了視窗的寬高比例作為fov的比例來設定投影矩陣。這樣我的視窗開的越大,能看得場景越多了。

那這樣講來,事實上這個fov的比例是可以調整的,並不一定就是w/h,這點對於vr融合這是比較關鍵的地方,因為可以保持影象的比例不變性,又可以在寬屏融合中真正看到更大的場景。

還有一點想說的是,我曾想在device的settransform中hook到而修改其投影矩陣,但在看statemanager的時候才發現,這不是唯一的介面,還有shader這玩意!這可就真沒辦法了。

3D電影的視差範圍

因為動畫電影是由計算機生成,所以就不會有左右眼畫面 色彩不一致,反光不一致,進光,垂直視差,畫面幀不同步等實拍容易產生的問題,這可以說是3d動畫電影的先天優勢。熊出沒 的立體效果上,大部分畫面設定為正視差,也就是在銀幕裡邊,這種立體效果設定方法,使觀眾大部分觀影時間眼睛匯聚的位置比銀幕的位置更遠一些...

關於D3D的學習和個人理解 1

w 單字 wspeed dw 雙字 dwhitlist 命名規範 每個directx方法都會返回乙個 hresult 組織 以使其可以檢查並處理所有可能的錯誤。正題1.頂點 1.1內容 頂點即乙個3dworld中的點。頂點 vector與jme中的math包下 vector3f相同。分別為d3d9t...

Unity3D中的尤拉角的理解

先貼乙個圖 遊戲物體的屬性檢視中調整的角度就是尤拉角啦。如果細心,就會發現,單獨去調整xyz的時候它並不是按照世界座標系中的xyz軸來實施旋轉的,它表示的是旋轉的尤拉角。什麼是尤拉角呢?請看這裡 通過對尤拉角的認識我們可以知道 unity中的尤拉角有兩種方式可以解釋 1,當認為順序是yxz時 其實就...