GetDynamicLighting †
記述が無い場合は下記設定
- マテリアル
- BaseColor : 1.0, 1.0, 1.0
- Metalic : 0.0
- Roughtness 1.0
- Specular : 0.5
- ライト
- ディフューズライト1灯のみ
- Intencity : 6.0
- Color : 0.0, 1.0, 0.0
基本パラメーター †
- Default Lit
- GBuffer.DiffuseColor
- GBuffer.SpecularColor
- LightColor
- SurfaceLighting
| float3 SurfaceLighting = SurfaceShading(GBuffer, LobeRoughness, LobeEnergy, L, V, N, Random);
|
- SurfaceShadingの中身
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!
| float3 StandardShading( float3 DiffuseColor, float3 SpecularColor, float3 LobeRoughness, float3 LobeEnergy, float3 L, float3 V, half3 N )
{
float3 H = normalize(V + L);
float NoL = saturate( dot(N, L) );
float NoV = saturate( abs( dot(N, V) ) + 1e-5 );
float NoH = saturate( dot(N, H) );
float VoH = saturate( dot(V, H) );
float D = D_GGX( LobeRoughness[1], NoH ) * LobeEnergy[1];
float Vis = Vis_SmithJointApprox( LobeRoughness[1], NoV, NoL );
float3 F = F_Schlick( SpecularColor, VoH );
float3 Diffuse = Diffuse_Lambert( DiffuseColor );
return Diffuse * LobeEnergy[2] + (D * Vis) * F;
}
|
- Diffuse * LobeEnergy[2] = x
* =
- (D * Vis) * F = y
( * ) * =
- x + y = return
+ =
Roughness = 0.0の時
- Diffuse * LobeEnergy[2] = x
* &ref(): File not found: "Rendering-SurfaceLighting-LobeEnegy[2](Roughtness_0.0).png" at page "エンジン改造-ライティング解析"; = &ref(): File not found: "Rendering-SurfaceLighting-Diffuse-x-LobeEnegy[2](Roughtness_0.0).png" at page "エンジン改造-ライティング解析";
- (D * Vis) * F = y
( * ) * =
- x + y = return
&ref(): File not found: "Rendering-SurfaceLighting-Diffuse-x-LobeEnegy[2](Roughtness_0.0).png" at page "エンジン改造-ライティング解析"; + = &ref(): File not found: "Rendering-SurfaceLighting(Roughtness_0.0).png" at page "エンジン改造-ライティング解析";
- ライトカラーとの合成
| LightAccumulator_Add(LightAccumulator, SurfaceLighting, (1.0/PI), LightColor * (NoL * SurfaceAttenuation), bNeedsSeparateSubsurfaceLightAccumulation);
|
- (NoL * SurfaceAttenuation) =
* =
- LightColor * (NoL * SurfaceAttenuation) = x
* =
- SurfaceLighting * x =
* =
|