可用於具體專案的複雜關照模型原始碼

2021-10-07 17:27:02 字數 1919 閱讀 4185

【自學使用,摘自馮樂樂原始碼】

// upgrade note: replaced '_object2world' with 'unity_objecttoworld'

// upgrade note: replaced 'mul(unity_matrix_mvp,*)' with 'unityobjecttoclippos(*)'

shader "unity shaders book/common/bumped specular"

_bumpmap (

"normal map"

,2d)

="bump"

_specular (

"specular color"

, color)=(

1,1,

1,1)

_gloss (

"gloss"

,range

(8.0

,256))

=20} subshader

pass

cgprogram

//base pass中得到正確的光照變數和光照衰減等

#pragma multi_compile_fwdbase

#pragma vertex vert

#pragma fragment frag

#include

"unitycg.cginc"

#include

"lighting.cginc"

#include

"autolight.cginc"

fixed4 _color;

sampler2d _maintex;

float4 _maintex_st;

sampler2d _bumpmap;

float4 _bumpmap_st;

fixed4 _specular;

float _gloss;

struct a2v

;struct v2f

;

v2f vert

(a2v v)

fixed4 frag

(v2f i)

: sv_target

endcg

} pass

blend one one

cgprogram

//additional pass中得到正確的光照變數和光照衰減等 (點光源和聚光燈)

#pragma multi_compile_fwdadd

// 使用該指令為點光源和聚光燈新增投射陰影

// #pragma multi_compile_fwdadd_fullshadows

#pragma vertex vert

#pragma fragment frag

#include

"lighting.cginc"

//陰影內建變數全部在這個檔案內,非常重要

#include

"autolight.cginc"

fixed4 _color;

sampler2d _maintex;

float4 _maintex_st;

sampler2d _bumpmap;

float4 _bumpmap_st;

float _bumpscale;

fixed4 _specular;

float _gloss;

struct a2v

;struct v2f

;

v2f vert

(a2v v)

fixed4 frag

(v2f i)

: sv_target

endcg

}} fallback "specular"

}

內容比較多,也沒有仔細說,後面等有空了再整理一下!

專案的複雜度

在google,每個新專案的設計模版文件的開頭都有乙個 non goals 列表 你應該拒絕的合理的專案擴充套件。google開發工程師evan martin近日在其個人 發表了一篇博文 complexity is the enemy 文章中指出複雜是軟體的死敵,新 的引入是否增加了軟體的複雜度,是...

Git應用於Android專案的入門知識 我的理解

git應用於android專案的基本知識。常常將git,repo和gerrit三種工具配合起來使用,使android開發中的部分工作自動化。並適應敏捷專案管理的需要。repo是google在git上開發的版本庫管理工具,是用python編寫的指令碼庫,用來統一管理多個git倉庫。gerrit是適用於...

8 個用於業餘專案的優秀 Python 庫

這些庫可以使你更容易構架個人專案。3 個用於資料科學的頂級 python 庫 在 python django 的世界裡有這樣乙個諺語 為語言而來,為社群而留。對絕大多數人來說的確是這樣的,但是,還有一件事情使得我們一直停留在 python 的世界裡,不願離開,那就是我們可以很容易地利用一頓午餐或晚上...