Shadow problem : Just produces a small shadow

I have tried various methods, but there is only a small piece of shadow produced by the directional light source. What is going on? Here is my code and model files!
house_1.egg (2.2 MB) sphere.egg.pz (48.5 KB)

import direct.directbase.DirectStart  
from panda3d.core import *
from direct.actor.Actor import Actor
try:
    window = WindowProperties()
    window.setTitle('COADE_HOUSE')
    window.setSize(1200, 800)
    base.win.requestProperties(window)
    base.setBackgroundColor(0.4,0.6,0.7,0.5)
    envir = loader.loadModel('house_1')
    envir.reparentTo(render)
    base.cam.setPos(0,-9000,2500)
    base.cam.setHpr(0,-15,0)
    sun = loader.loadModel('sphere')
    sun.setColor((1, 1, 1, 1))
    sun.setScale(100)
    sun.setPos(-2510, -1000, 0)
    sunLight = sun.attachNewNode(DirectionalLight("SUN"))
    sunLight.setH(-60)
    sunLight.node().setColor((1, 1, 1, 1))
    sunLight.node().setShadowCaster(True)
    sunLight.node().setScene(render)
    sunLight.node().showFrustum()
    render.setDepthOffset(1)
    #sunLight.node().setFilmSize()
    sunLight.node().getLens().setNearFar(10, 30)
    render.setShaderAuto()
    sunLightHelper = render.attachNewNode('change')
    sunLightHelper.setPos(0, 0, 0)
    sun.reparentTo(sunLightHelper)
    sunLightHelper.hprInterval(10, (0, 0, 360)).loop()
    envir.setLight(sunLight)
    base.run()
except Exception as e:
    print(e)
    base.destroy()

You need to adjust this according to the size of your scene.

sunLight.node().getLens().setFilmSize(20, 20)

This will additionally help:

Thank you very much. Now I’ve finished, but the examples you listed here don’t understand much. I don’t see any shadow in them!