c_cpp ランバートシェーダ(シェーダだけで完结)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp ランバートシェーダ(シェーダだけで完结)相关的知识,希望对你有一定的参考价值。
/**
* 頂点ライティング
*/
Shader "VertexLighting"
{
SubShader
{
Tags { "RenderType"="Opaque"}
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f
{
float4 vertex : SV_POSITION;
float luminance : TEXCOORD0;
};
fixed4 _LightColor0;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
float4 invLightDir = mul(UNITY_MATRIX_M, -WorldSpaceLightDir(v.vertex));
// 各頂点の拡散反射輝度を算出
float luminance = dot(v.normal, normalize(invLightDir));
o.luminance = luminance;
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return float4(i.luminance, i.luminance, i.luminance, 1) * _LightColor0;
}
ENDCG
}
}
}
以上是关于c_cpp ランバートシェーダ(シェーダだけで完结)的主要内容,如果未能解决你的问题,请参考以下文章
csharp 大量の立方体を回すコンピュートシェーダ
c_cpp [失败例]コンピュートシェーダで大量の立方体を回す
csharp コンピュートシェーダ的HelloWorld
text 团结ちゃんシェーダ肌部分のフラグメントシェーダに自分なりのコメントを入れたもの
scss ハンバーガーメニュー+グランドナビ
csharp シェーダのコンパイル部分コード