91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

劍指XX游戲(五) - 一些圖形學相關的面試題

發布時間:2020-07-19 11:09:25 來源:網絡 閱讀:702 作者:拳四郎 欄目:開發技術

1.什么是model,view,project矩陣?

世界矩陣(World Matrix)、視圖矩陣(View Matrix)以及投影矩陣(Projection Matirx);
世界矩陣確定一個統一的世界坐標,用于組織獨立的物體形成一個完整的場景;
視圖矩陣就是我們能看到的那部分場景,由虛擬攝像機負責拍攝;
投影矩陣就是3維物體的平面影射.把三維場景在一個二維的平面上顯示.


2.說一下新OpenGL和老版本OpenGL的區別。

主要是固定流水線轉變成了可編程流水線。

劍指XX游戲(五) - 一些圖形學相關的面試題

劍指XX游戲(五) - 一些圖形學相關的面試題

劍指XX游戲(五) - 一些圖形學相關的面試題

可編程流水線帶來了極大的靈活性,通過Shader語言,可以在GPU上進行計算,釋放CPU。而Shader的層次越越來越高,從Suerface級別的Vertexshader和Freagment Shader 到Shape級別的 Geometry shader和Tesselation shader。


3.OpenGL中要用到哪幾種Buffer?

幀緩沖(Frame Buffer) 顏色緩沖(Color Buffer) 模板緩沖(Stencil Buffer) 頂點緩沖(Vertice Buffer) 深度緩沖(Depth Buffer)

具體說明參見:Real time rendering - 圖形硬件


4.請介紹你所有知道的紋理Alpha混合方式,原理(公式).

假設一種不透明東西的顏色是A,另一種透明的東西的顏色是B,那么透過B去看A,看上去的顏色C就是B和A的混合顏色,可以用這個式子來近似,設B物體的透明度為alpha(取值為0-1,0為完全透明,1為完全不透明)

R(C)=alpha*R(B)+(1-alpha)*R(A)
G(C)=alpha*G(B)+(1-alpha)*G(A)
B(C)=alpha*B(B)+(1-alpha)*B(A)

  R(x)、G(x)、B(x)分別指顏色x的RGB分量。看起來這個東西這么簡單,可是用它實現的效果絕對不簡單,應用alpha混合技術,可以實現出最眩目的火光、煙霧、陰影、動態光源等等一切你可以想象的出來的半透明效果。


5.GLSL的shader如何使用?

首先當然是glewint().

講Shader文件讀取進來。

初始化shader...

劍指XX游戲(五) - 一些圖形學相關的面試題


6.GLSL的如何傳遞數據?

uniform變量

uniform變量是外部application程序傳遞給(vertex和fragment)shader的變量。因此它是application通過函數glUniform**()函數賦值的。在(vertex和fragment)shader程序內部,uniform變量就像是C語言里面的常量(const ),它不能被shader程序修改。

attribute變量
attribute變量是只能在vertex shader中使用的變量。(它不能在fragment shader中聲明attribute變量,也不能被fragment shader中使用)
一般用attribute變量來表示一些頂點的數據,如:頂點坐標,法線,紋理坐標,頂點顏色等。
在application中,一般用函數glBindAttribLocation()來綁定每個attribute變量的位置,然后用函數glVertexAttribPointer()為每個attribute變量賦值。

varying變量
varying變量是vertex和fragment shader之間做數據傳遞用的。一般vertex shader修改varying變量的值,然后fragment shader使用該varying變量的值。因此varying變量在vertex和fragment shader二者之間的聲明必須是一致的。application不能使用此變量。


7.兩圓相交,只有2交點A、B,過A點做線段CAD,CA、AD為兩圓的弦,問什么情況下CAD最長,并證明。提示圓心角和圓周角的兩倍關系。

劍指XX游戲(五) - 一些圖形學相關的面試題

如圖分別連接BC,BD。當CAD不斷的變化的時候,可以得到個無數個三角形CBD,這些三角形的夾BCA和角BDA都是相同的,分別是BA對應的圓心角的一半。

則這些三角形都是相似的。

那么當BD最大的時候,也就是三角形最大的時候,也就是CAD最長的時候。

BD最大的時候就是BD為圓的直徑,則BAD為直角,同理,BAC也是直角=>BA 垂直CAD。


8.平面上N個點,每兩個點都確定一條直線, 求出斜率最大的那條直線所通過的兩個點(斜率不存在的情況不考慮)時間效率越高越好。

程序的基本步驟就是:
1.把N個點按x坐標排序。
2.遍歷,求相鄰的兩個點的斜率,找最大值。
時間復雜度Nlog(N)


參考

眾網友博客



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

赫章县| 保亭| 林甸县| 于都县| 克什克腾旗| 财经| 墨竹工卡县| 贵阳市| 新建县| 故城县| 铜川市| 广西| 遂川县| 莎车县| 龙岩市| 大荔县| 永年县| 德州市| 鹤壁市| 茌平县| 丹巴县| 嘉鱼县| 响水县| 诸城市| 遵义县| 金堂县| 六枝特区| 咸阳市| 吐鲁番市| 库车县| 湘阴县| 辽宁省| 乐亭县| 云安县| 池州市| 哈巴河县| 达州市| 泰宁县| 白玉县| 巴林右旗| 偏关县|