depth, normals i guess
This commit is contained in:
Binary file not shown.
@@ -3,7 +3,7 @@ float GetSpecularThreshold( float m_fMetalness )
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct BRDF_Data
|
||||
struct BRDF_t
|
||||
{
|
||||
float3 m_vRayIn;
|
||||
float3 m_vRayOut;
|
||||
@@ -23,7 +23,7 @@ struct BRDF_Data
|
||||
float fSineNormalView = saturate(dot(m_vNormal, m_vRayIn));
|
||||
float fFresnelLight = FresnelDiffuseTerm(fSineNormalLight);
|
||||
float fFresnelView = FresnelDiffuseTerm(fSineNormalView);
|
||||
return fFresnelView * fFresnelLight;
|
||||
return saturate(dot(m_vNormal,m_vRayOut));
|
||||
}
|
||||
|
||||
float3 GetOutGoingDirection()
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#include "../macros.hlsl"
|
||||
COMMON
|
||||
{
|
||||
|
||||
}
|
||||
VS
|
||||
{
|
||||
|
||||
}
|
||||
PS
|
||||
{
|
||||
}
|
||||
@@ -4,16 +4,20 @@ COMMON {
|
||||
cbuffer CameraInfo
|
||||
{
|
||||
float4x4 g_matViewProjection;
|
||||
float4 g_vViewPosition;
|
||||
};
|
||||
struct PerModelData
|
||||
{
|
||||
float4x4 m_matTranslation;
|
||||
float4x4 m_matRotation;
|
||||
}
|
||||
StructuredBuffer<PerModelData> g_modelData;
|
||||
struct PS_INPUT
|
||||
{
|
||||
float4 m_vScreenPosition: SV_POSITION;
|
||||
float4 m_vWorldPosition: POSITION;
|
||||
float4 m_vTexCoord: TEXCOORD0;
|
||||
float4 m_vNormal: NORMAL0;
|
||||
}
|
||||
}
|
||||
VS
|
||||
@@ -22,6 +26,8 @@ VS
|
||||
struct VS_INPUT
|
||||
{
|
||||
float3 m_vPosition: POSITION;
|
||||
float2 m_vTexCoord: TEXCOORD0;
|
||||
float3 m_vNormal: NORMAL0;
|
||||
}
|
||||
|
||||
PS_INPUT vsMain( VS_INPUT input )
|
||||
@@ -36,7 +42,15 @@ VS
|
||||
output.m_vScreenPosition,
|
||||
g_matViewProjection
|
||||
);
|
||||
output.m_vWorldPosition = float4(input.m_vPosition, 1);
|
||||
output.m_vWorldPosition = mul(
|
||||
float4(input.m_vPosition, 1),
|
||||
g_modelData[0].m_matTranslation
|
||||
);
|
||||
output.m_vNormal = mul(
|
||||
float4(input.m_vNormal, 1),
|
||||
g_modelData[0].m_matRotation
|
||||
);
|
||||
output.m_vTexCoord = float4(input.m_vTexCoord, 0, 0);
|
||||
return output;
|
||||
}
|
||||
}
|
||||
@@ -47,8 +61,15 @@ PS
|
||||
float4 psMain( PS_INPUT input )
|
||||
{
|
||||
|
||||
float4 vWorldSpacePosition = input.m_vWorldPosition;
|
||||
return float4(vWorldSpacePosition);
|
||||
float4 vWorldSpacePosition = input.m_vNormal;
|
||||
BRDF_t brdf = {};
|
||||
brdf.m_vRayIn = normalize(g_vViewPosition.xyz-input.m_vWorldPosition.xyz);
|
||||
brdf.m_vRayOut = normalize(-input.m_vWorldPosition.xyz);
|
||||
brdf.m_vNormal = input.m_vNormal.xyz;
|
||||
brdf.m_fRoughness = 1;
|
||||
brdf.m_fMetalness = 1;
|
||||
|
||||
return float4(brdf.BurleyDiffuse(), 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user