渲染程式的筆試準備

minggoddess發表於2014-02-20

必考的就是渲染管線了

幾何階段

obj space->world space->eyespace->project to CVV to clip(frustum culling)->project to screen coordinate space

->primitive assmbly

光柵階段

->rasterization->pixel operation(alpha test, stencil test, depth test, blending..)

 還是用我自己的話總結一下吧 之前是幾個變換用矩陣乘就可以

viewspace之後是cvv裁剪 再投到螢幕 到目前為止都是對頂點進行操作,頂點可以光柵化嗎 明顯不是。

光柵化是針對面的。也就是說中間需要圖元組裝這一步,就是把剛剛處理完的頂點在連成面(比如三角形),所以背部剔除之類的也是在這裡進行

然後把面轉成畫素點,也就是光柵化,然後對這些畫素進行各種處理吧紋理操作,各種混合

===========

stencil buffer for mark

framebuffer=colorbuffer+ z buffer(depth)

OpenGL---GLSL

Direct3D---HLSL

NVIDIA----Cg

----------------------------------------------------------------

Dx

Local Space->World Space->View Space->Backface Culling->Lighting->Clipping->Projection->

Viewport Space->Rasterization

 

這個渲染管線還是要重新把realtime rendering裡面背一遍''''''照dx這麼答 被挑毛病了'''merge那些

 

前面兩個版本都不好講得亂七八糟甚至矛盾realtime rendering上面這個為準吧

Application stage

Geometry stage

Model&View transform->Vertex shading->Projection->Clipping->Screen Mapping

                       CVV    

Rasterizer stage

 

=========================================

 

第二題

skinned mesh 

meshvex=weight1*bone1*vmesh+weight2*bone2*vmesh+......

http://blog.csdn.net/n5/article/details/3105872。        

這個沒問

-==============

第三題 光照模型

 Lambert的漫反射模型

I=I+I=KI+KI(N dot L)

第一個I是各向等量的環境光產生的,第二個I是有方向光源產生的。 k為反射係數(0,1),I為光源光強隨距離增加而衰減,N法線向量L頂點到光源單位向量

phong的鏡面反射模型(高光)

I=KI(V dot R)n

n為高光指數,V頂點到視點單位向量,R反射光方向

既有漫反射又又鏡面反射的 就是把前兩個加起來

 Blinn-phong

I=KI(N dot H)n

H=normlize(L+V) L=light to pos, V=pos to view

 

第四題 alpha混合

 問這個肯定是在放水了

 result = ALPHA * srcPixel + ( 1 - ALPHA ) * destPixel

可惜這次面試拒絕放水

水的波動效果的實現

最崩潰的是 deferred shading''''

 

基本上 所有面試官都會拿他們自己遇到的問題 作為開放式問題來提問

3d場景 2d人物

隨機彈坑造成的mesh凹陷 這個有個小trick 關閉zbuffer

多動態光源的光照 就是deferred shading

---------

這就讓我想起來另外兩個覺得很有意思的trick

shadowmap  selfshadow aliasing 這個渲染產生自陰影的mesh的時候 backculling那裡 剔除front 渲染back

還有就是輻射度演算法 從每一個patch看這個世界 看到對他影響的所有畫素 還有5個相機合成半立方體

http://freespace.virgin.net/hugo.elias/radiosity/radiosity.htm 

http://dev.gameres.com/Program/Visual/3D/Radiosity_Translation.htm

雖然很老 但是這個視野感覺特別 有創意

deffered shading都沒這麼讓我感覺

不過輻射度效率特別低 

相關文章