Don't mind the mess!
We're currently in the process of migrating the Panda3D Manual to a new service. This is a temporary layout in the meantime.
This page is not in the table of contents.
Here is an example of lighting. There are an ambient light and two directional lights lighting the scene, and a green ambient light that only affects one of the pandas.
import direct.directbase.DirectStart from panda3d.core import * # Put two pandas in the scene, panda x and panda y. x= loader.loadModel("panda") x.reparentTo(render) x.setPos(10,0,-6) y= loader.loadModel("panda") y.reparentTo(render) y.setPos(-10,0,-6) # Position the camera to view the two pandas. base.trackball.node().setPos(0, 60, 0) # Now create some lights to apply to everything in the scene. # Create Ambient Light ambientLight = AmbientLight( 'ambientLight' ) ambientLight.setColor( Vec4( 0.1, 0.1, 0.1, 1 ) ) ambientLightNP = render.attachNewNode( ambientLight.upcastToPandaNode() ) render.setLight(ambientLightNP) # Directional light 01 directionalLight = DirectionalLight( "directionalLight" ) directionalLight.setColor( Vec4( 0.8, 0.2, 0.2, 1 ) ) directionalLightNP = render.attachNewNode( directionalLight.upcastToPandaNode() ) # This light is facing backwards, towards the camera. directionalLightNP.setHpr(180, -20, 0) render.setLight(directionalLightNP) # Directional light 02 directionalLight = DirectionalLight( "directionalLight" ) directionalLight.setColor( Vec4( 0.2, 0.2, 0.8, 1 ) ) directionalLightNP = render.attachNewNode( directionalLight.upcastToPandaNode() ) # This light is facing forwards, away from the camera. directionalLightNP.setHpr(0, -20, 0) render.setLight(directionalLightNP) # Now attach a green light only to object x. ambient = AmbientLight('ambient') ambient.setColor(Vec4(.5,1,.5,1)) ambientNP = x.attachNewNode(ambient.upcastToPandaNode()) # If we did not call setLightOff() first, the green light would add to # the total set of lights on this object. Since we do call # setLightOff(), we are turning off all the other lights on this # object first, and then turning on only the green light. x.setLightOff() x.setLight(ambientNP) #run the example run()