Unity Direction : UnityCG.cginc by 김윤정

이것뿐?


// Computes world space light direction
inline float3 WorldSpaceLightDir( in float4 v )
{
 float3 worldPos = mul(_Object2World, v).xyz;
 #ifndef USING_LIGHT_MULTI_COMPILE
  return _WorldSpaceLightPos0.xyz - worldPos * _WorldSpaceLightPos0.w;
 #else
  #ifndef USING_DIRECTIONAL_LIGHT
  return _WorldSpaceLightPos0.xyz - worldPos;
  #else
  return _WorldSpaceLightPos0.xyz;
  #endif
 #endif
}

// Computes object space light direction
inline float3 ObjSpaceLightDir( in float4 v )
{
 float3 objSpaceLightPos = mul(_World2Object, _WorldSpaceLightPos0).xyz;
 #ifndef USING_LIGHT_MULTI_COMPILE
  return objSpaceLightPos.xyz - v.xyz * _WorldSpaceLightPos0.w;
 #else
  #ifndef USING_DIRECTIONAL_LIGHT
  return objSpaceLightPos.xyz * unity_Scale.w - v.xyz;
  #else
  return objSpaceLightPos.xyz;
  #endif
 #endif
}

// Computes world space view direction
inline float3 WorldSpaceViewDir( in float4 v )
{
 return _WorldSpaceCameraPos.xyz - mul(_Object2World, v).xyz;
}

// Computes object space view direction
inline float3 ObjSpaceViewDir( in float4 v )
{
 float3 objSpaceCameraPos = mul(_World2Object, float4(_WorldSpaceCameraPos.xyz, 1)).xyz * unity_Scale.w;
 return objSpaceCameraPos - v.xyz;
}


덧글

  • 만두르 2011/04/30 08:52 #

    게임 만드는 일이 재미있어 보이다가도...이런거 보면 후덜덜이네요...ㄷㄷㄷ
  • 김윤정 2011/04/30 13:54 #

    강아지가 귀여우면 강아지 똥도 치울 수 있는 법이예요 :)
※ 로그인 사용자만 덧글을 남길 수 있습니다.


MyADD

<script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>