Shader筆記(高光程式設計 Unity內建函式)

2021-08-18 13:50:24 字數 1365 閱讀 5893

用角度1計算高光:

shader"lesson/specdiffuse"

subshader

cgprogram//運用cg

#pragma vertex vert

#pragma fragment frag //define name

#include "lighting.cginc"

fixed4 _diffuse;

fixed _valveindex;

fixed4 _specular;

half _gloss;

struct a2v;

struct v2f;

v2f vert(a2v v)

fixed4 frag(v2f in):sv_target

endcg}}

}

用角度2計算高光(省去了一步計算反射的過程,使最後的效果更平滑)

shader"lesson/halfspecdiffuse"

subshader

cgprogram//運用cg

第乙個函式  可以直接獲得光源方向

可以將之前**裡獲取ldir的方式改為:float3 ldir=normalize(unityworldspacelightdir(in.worldpos));

光源shadow type設定為soft shadow,**增添:fallback "specular"   意思是在我們的shader中沒有找到相應的陰影處理,就呼叫經典specular的陰影處理。

Java高併發程式設計筆記

jmm記憶體模型之 可見性 可見性是指當乙個執行緒修改了某乙個共享變數的值,其他執行緒是否能夠立即知道這個修改。jmm記憶體模型之 有序性 有序性問題的原因是因為程式在執行時,可能會出現指令重排,重排後的指令的順序未必一致。一條指令的執行可以分為很多步驟的 簡單來說就是以下幾步 1 取指if 2 解...

Shader基礎筆記(數學相關 漫反射程式設計)

所以點的最後座標是1,向量的最後一位是0,因為向量的平移是沒有意義的。shader語言中,float 32位 half 16位 fixed 11位 diffuse 顏色的四維變數 rgb和透明度值 每個變數最大值1.0 a2v應用到頂點結構。v2f 頂點到片段 逐畫素處理 per pixel 逐頂點...

Java高併發程式設計讀書筆記

程序 程序是計算機彙總的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。在早期面向程序設計的計算機結構中,程序是程式的基本執行實體 在當代面向執行緒設計的計算機結構中,程序是執行緒的容器。程式是指令 資料及其組織形式的描述,程序是程式的實體。執行緒是輕量...