def buildDirectionalLight(self, hpr, pos, color, near, far, casts_shadow, shadow_caster, film_size): """ Builds a Panda3D directional light with the specified rotation, position and color. NOTE: This light tends to be buggy. Requires at least one spotlight for it to work properly. """ if not self.has_dlight: self.light_counter += 1 dlight = DirectionalLight("light%s" % self.light_counter) dlight.getLens().setFilmSize(*film_size) dlight.getLens().setNearFar(near, far) if shadow_caster: x, y = shadow_caster dlight.setShadowCaster(True, x, y) else: dlight.setShadowCaster(False) #dlight.showFrustum() dlightnp = render.attachNewNode(dlight) dlightnp.setPos(VBase3(*pos)) dlightnp.setHpr(VBase3(*hpr)) dlight.setColor(VBase4(*color)) render.setLight(dlightnp) return dlightnp else: return 0
def buildDirectionalLight(self, hpr, pos, color, near, far, casts_shadow, shadow_caster, film_size): """ Builds a Panda3D directional light with the specified rotation, position and color. NOTE: This light tends to be buggy. Requires at least one spotlight for it to work properly. """ if not self.has_dlight: self.light_counter += 1 dlight = DirectionalLight("light%s" % self.light_counter) dlight.getLens().setFilmSize(*film_size) dlight.getLens().setNearFar(near, far); if shadow_caster: x, y = shadow_caster dlight.setShadowCaster(True, x, y) else: dlight.setShadowCaster(False) #dlight.showFrustum() dlightnp = render.attachNewNode(dlight) dlightnp.setPos(VBase3(*pos)) dlightnp.setHpr(VBase3(*hpr)) dlight.setColor(VBase4(*color)) render.setLight(dlightnp) return dlightnp else: return 0