渲染到ui UI分享 初識渲染

2021-10-14 20:34:39 字數 2018 閱讀 2577

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 ...