01part
什麼是渲染
渲染這個詞彙對於各位同學都是不陌生的,不同職能的同學又有不同的理解,對於美術同學來說,渲染是一種技法,對於文案同學來說,渲染是寫文章時對氣氛的描繪,那麼,計算機圖形學中,什麼是渲染呢。
圖形學中其實用render要比渲染更加的貼切,渲染是render的一種翻譯,其實用繪製要更加的清晰,計算機圖形學中的渲染,本質是通過電腦程式從2d/3d模型(或者統稱為場景檔案的模型)中繪製成影象的過程。
我們可以用簡單通俗的例子來理解這個過程,假設空間中有乙個三角面(模型大多都是三角面的集合)如圖1所示,此時三角面處於三維空間當中,計算機顯示器如何看到這個三角形呢,如同人看這個世界需要一雙眼睛一樣,計算機同樣需要一雙眼睛,這裡我們引入攝像機充當我們的眼睛,並且在透視點放置乙個螢幕網格,每乙個網格就是乙個畫素。如圖2所示。此時我們可以繪製出與相機透視點相交的光線,光線與螢幕相交的部分就是螢幕能夠觀察到的部分,如圖3所示,最終,在螢幕網格中可以看到內容如圖4所示,也就是我們螢幕上看到內容,從頭看這個過程,我們會發現這個過程就是在將3d繪製成螢幕影象,這也就是我們所說的渲染,當然例子只是簡化乙個過程來說明,真實的過程要更加的複雜。
圖1
圖2圖3
圖4 02
part真實感渲染&非真實感渲染
了解了什麼是渲染之後,我們知道,畫畫有不同的風格,水墨,油畫都是不同的繪畫風格,渲染也有渲染風格,今天就來一起了解一下,當前主流的兩種渲染風格。
0 1
非真實感渲染
非真實感渲染,追求的是多樣性與藝術性,更加偏向於手繪藝術,常見的非真實感渲染技術包括**渲染(圖)、油畫渲染、素描渲染(圖)、水墨畫渲染等等,從這些技術方向就能看出非真實感渲染是在模擬藝術化的繪製風格,並不需要模仿顯示的真實表現。無論是影視行業還是遊戲行業,非真實感渲染一直都是相當熱門的風格。
圖5:程式化實現的素描渲染
圖6:電影《你的名字》中的**渲染
0 2
真實感渲染
真實感渲染,顧名思義,目的在於渲染出相片級別的畫面真實感,是當前遊戲市場上的真實效果,無論是光線,陰影,貼圖,呈現出的是對光線的追求,對客觀現象的追求,這也是真實感渲染的核心內容,追求現實中的真實表現。
圖7:《荒野大鏢客》中的真實感渲染
圖8:《荒野大鏢客》中的真實感渲染
03part離線渲染&實時渲染
畫面渲染從渲染時機上分為離線渲染與實時渲染,離線渲染多用於影視動畫中,而實時渲染多用於遊戲當中。
01 離線渲染
離線渲染意味著渲染與顯示不是同時發生的,這也就代表著每一幀的,都可以花費大量的時間成本去渲染,這也是影視作品的渲染效果如此之好的原因。
02 實時渲染
與離線渲染不同,實時渲染多用於遊戲等互動場景中,這類互動場景需要的就是隨時的變化,這也就意味著每一幀的計算資料都是不定的,這就需要實時去計算去渲染,所以實時渲染往往都會因為效能而妥協一部分渲染表現,不過這也是當前圖形學研究的熱門方向。
往期推薦:
【us分享】shell中的括號
【ui分享】遊戲互動提公升技巧,想看嗎?
【rd分享】正確處理csrf校驗
【ue分享】玩家吐槽「豬隊友」時,到底在吐槽什麼?
【ui分享】遠端**準星設計方**
iOS 初識離屏渲染
nslog show time 離屏渲染易造成滑動卡頓掉幀,要盡量避免離屏渲染 off screen rendering,發生在gpu上,指的是gpu在當前螢幕緩衝區以外新開闢乙個緩衝區進行渲染工作。1 要消耗資源新建乙個緩衝區 2 上下文切換代價大。離屏渲染過程需要多次切換上下文 先從當前螢幕 o...
DirectX 渲染到紋理
熟悉dx的兄弟們都知道什麼叫紋理了,這裡簡單介紹一下,先看看現實生活中的例子吧,其實紋理的例子比比皆是,比如地板,牆面都是紋理。在圖形學中,紋理主要是為了增強場景的真實感,比如你想繪製乙個地面,簡單一點可以直接使用乙個矩形,稍微複雜一點可以用三角形網格,再複雜一點可以使用地面紋理,有了紋理以後真實感...
FBO 渲染到紋理
這是書中第八章的最後一節內容,在我機制的簡化問題後,寫出了想要的效果.應用fbo渲染到紋理,可以直接用.這個用來實現鏡面效果什麼的,好啊.再乙個,貌似我現在已經可以去寫延遲渲染流水線了,那個用到多渲染目標,之後再處理.呼,繼續學習吧,這些東西還真得實踐才行啊.rendertotexture.cpp ...