Point Light Shadows?

Honestly? I don’t know. I see everyone talking about PSSM shadows these days, but I’m not sure.

Here are some examples of smooth shadows I found:
[Soft Shadows)
[Paraboloid Shadow Map + PCF Smooth)

Demomaster has one too, but you need to edit the program a bit to not crash on 1.8.

The shader is located in “demomaster-0.8/share/shaders/softshadow.sha”.

//Cg

void vshader(float4 vtx_position : POSITION,
             float2 vtx_texcoord0: TEXCOORD0,
             float3 vtx_normal: NORMAL,

             uniform float4x4 trans_model_to_clip_of_light,
             uniform float4x4 mat_modelproj,
             uniform float4 mspos_light,

             out float4 l_position : POSITION,
             out float2 l_texcoord0 : TEXCOORD0,
             out float4 l_shadowcoord : TEXCOORD1,
             out float  l_smooth : TEXCOORD2,
             out float4 l_lightclip : TEXCOORD3
             )
{
  l_position = mul(mat_modelproj, vtx_position);
  l_texcoord0 = vtx_texcoord0;
  l_smooth = saturate(dot(vtx_normal, normalize(mspos_light - vtx_position)));
  //float4 pushed = vtx_position + float4(vtx_normal, 0);
  float4 pushed = vtx_position + float4(vtx_normal*0.2, 0);
  l_lightclip = mul(trans_model_to_clip_of_light, pushed);
  l_shadowcoord = l_lightclip * float4(0.5,0.5,0.5,1.0) + l_lightclip.w * float4(0.5,0.5,0.5,0.0);
}


void fshader(in float2 l_texcoord0 : TEXCOORD0,
             in float4 l_shadowcoord : TEXCOORD1,
             in float  l_smooth : TEXCOORD2,
             in float4 l_lightclip : TEXCOORD3,
             uniform float4 attr_color: COLOR,
             uniform sampler2D tex_0 : TEXUNIT0,
             uniform sampler2D k_depthmap : TEXUNIT1,
             uniform float4 k_props,
             uniform float4 k_texDisable,
             out float4 o_color:COLOR)
{
  float3 circleoffs = float3(l_lightclip.xy / l_lightclip.w, 0);
  float falloff = saturate(1.0 - dot(circleoffs, circleoffs));
  //float4 baseColor = saturate(tex2D(tex_0, l_texcoord0) + k_texDisable.x);
  float4 baseColor;
  float4 proj = l_shadowcoord / l_shadowcoord.w;
  float shade = 1 - saturate((proj.z - tex2D(k_depthmap, proj.xy)) * k_props.y);
  //o_color = baseColor * (shade * falloff * l_smooth + k_props.x);
  if (k_texDisable.x > 0)
      o_color = attr_color * (shade * falloff * l_smooth + k_props.x);
  else {
      baseColor = tex2D(tex_0, l_texcoord0);
      o_color = baseColor * (shade * falloff * l_smooth + k_props.x);
  }
}

(demomaster also seems to have a PSSM shader).

Anything else I found was for PSSM:
[PSSM Shadows)
panda3d.org/forums/viewtopic … c&start=30 (3rd post from bottom)

Some articles:
http.developer.nvidia.com/GPUGem … _ch10.html
cg.tuwien.ac.at/research/vr/lispsm/

That’s all I know.