原创 unity玉石渲染

在正常情況下,Diffuse在背光面都是純黑的,爲了模擬簡單的次表面散射,引入環繞光照,環繞光照對Diffuse做出如下修改。 float diffuse = max(0,dot(L,N)); float wrap_diffuse

原创 遊戲中人體皮膚實時渲染第一彈

第一彈主要介紹原理部分,第二彈  是可以在遊戲中運用的。  要渲染皮膚,首先要知道皮膚的整體構成及屬於一種什麼樣的材質,根據現代醫學分析,皮膚大致的整體結構分爲表皮層,真皮層和皮下組織,並且是輕微半透明的,所以我們知道了,皮膚是一種多層

原创 投影矩陣的推導(Deriving Projection Matrices)

在3D圖形程序的基本矩陣變換中,投影矩陣是其中比較複雜的。平移和縮放瀏覽一下就能理解,旋轉矩陣只要掌握了三角函數知識也可以理解,但投影矩陣有點棘手。如果你曾經看過投影矩陣,你會發現你的常識不足以告訴你它是怎麼來的。而且,我在網上還未看到

原创 抗鋸齒

鋸齒的產生: 從技術上來說,這些混疊之所以產生,是由於我們使用離散的像素集對原本圓滑的、連續的二維信號進行採樣。 抗鋸齒 是一種降低有混疊所形成的視覺缺乏的技術,抗鋸齒的效果是,三角形邊緣和幀緩衝附近的顏色混合起來。 全屏抗鋸齒 FS

原创 次表面反射二

使用攝像機計算物體的厚度,薄的地方透光率高,後的地方透光率低,首先需要一個shader去計算物體背面的深度,然後在渲染物體表面的時候,兩者做差值即可得出物體的厚度。 在上面文章的基礎上攝像機代碼做如下修改: using System.Co

原创 噪聲

轉自 http://blog.csdn.net/candycat1992 什麼是噪聲 在圖形學中,我們使用噪聲就是爲了把一些隨機變量來引入到程序中。從程序角度來說,噪聲很好理解,我們希望給定一個輸入,程序可以給出一個輸出: val

原创 對Opengl中的幀緩衝的一些理解(延遲渲染,後處理等)

用最通俗的話來說: 咱們能在屏幕上看到東西,這是默認的幀緩衝的信息輸出,這個幀緩衝裏面包括,顏色緩衝,深度緩衝,模板緩衝等。 而一個默認的幀緩衝是不夠用的,不能靈活的處理一些想要的效果。 所以咱們要創建新的幀緩衝,創建一個普通的幀緩衝,需

原创 LTC-PolygonLighting

由於多邊形在球面上的分部積分比較複雜,再考慮到各種物理因素,材質的粗糙度,各向異性,偏角等等,爲了解決這些個問題,出現了一種新的球面分佈,它包含各種球面,並且可以對任意多邊形分析並積分。 根據上圖我們可以知道,原覆蓋區域進行一個3x

原创 Low Polygon風格的渲染

轉自http://blog.csdn.net/candycat1992/article/details/51511433 原理 Low polygon風格的渲染也被稱爲flat shading。雖然把這篇文章歸到Shader類別裏,

原创 軟件光柵化渲染器一

爲了瞭解光柵化渲染器工作原理及底層實現,準備着手寫一個光柵化渲染器。 第一節,我打算先實現所需要的數學庫。 mathf.h中主要包含如下數學方法: float radians(float value);

原创 基礎知識彙總三(BRDF)未完

雙向反射分佈函數(BRDF)-描述的是物體表面對光的反射性質。 光照可分爲全局和局部兩種 ---局部光照:和物體直接被光源照射的情況有關。 ---全局光照:和物體被光源以外的其他地方來的光線照射的情況相關,包括其他物體反射和投射過來的光線

原创 軟件光柵化渲染器二

在上節完成了數學庫後,這節先寫出所需要的基本窗口結構。 win32的窗口很好建立,系統會自己生成代碼,然後我們再對代碼進行些許修改。 全局變量: const int SCREEN_WIDTH = Screen::Width; const

原创 利用幾何着色器實現物體表面法線的可視化

法向量的可視化 主要原理:先不使用幾何着色器繪製一遍原模型,再利用幾何着色器接受三角圖元,再圖片的每個頂點向法線方向發射一條射線,射線長度自定義。 因爲幾何着色器中頂點已經變換到了裁剪空間,爲了適配,我們也需要要將法線變換到裁剪空間。 主

原创 遊戲中各向異性頭髮的渲染

趁有時間寫一篇關於各向異性頭髮的渲染。 先上效果圖(不含Ao)。 這個是04年的一個ppt,主要介紹了頭髮的渲染,其追到源頭還是要看這個原理。 各向異性的主要計算公式: 主要代碼如下: 切線混合擾動部分(這部分也可以用T+k*

原创 知識彙總一 (顏色模型)

顏色模型 一、顏色模型概述   1.什麼是顏色? 顏色是人的視覺系統對可見光的感知結果,感知到的顏色由光波的波長決定。 人眼對於顏色的觀察和處理是一種生理和心理現象,其機理還沒有完全搞清楚。 視覺系統能感覺的波長範圍爲380-760nm。