python
from panda3d.core import *
root = NodePath("root")
object = loader.loadModel("object.egg")
object.reparentTo(root)
object.setPos(0, 0, 0)
object.setHpr(0, 0, 0)
python
from panda3d.core import *
pipeline = GraphicsPipeSelection.get_global_ptr().make_default_pipe()
render = NodePath("render")
pipeline.make_output(WindowProperties())
vertex_shader = Shader.load(Shader.SL_GLSL, "vertex_shader.glsl")
render.set_shader(vertex_shader)
fragment_shader = Shader.load(Shader.SL_GLSL, "fragment_shader.glsl")
render.set_shader(fragment_shader)
python
from direct.showbase.DirectObject import DirectObject
class KeyListener(DirectObject):
def __init__(self):
self.accept("arrow_up", self.on_arrow_up)
self.accept("arrow_down", self.on_arrow_down)
def on_arrow_up(self):
print("Up arrow key pressed.")
def on_arrow_down(self):
print("Down arrow key pressed.")
listener = KeyListener()
base.run()
python
from panda3d.bullet import *
world = BulletWorld()
shape = BulletBoxShape(Vec3(1, 1, 1))
model = loader.loadModel("object.egg")
model.reparentTo(render)
body = BulletRigidBodyNode("object")
body.addShape(shape)
model.attachNewNode(body)
world.attachRigidBody(body)
body.applyCentralImpulse(Vec3(1, 0, 0))
body.setGravity(Vec3(0, 0, -9.8))
python
from panda3d.core import *
audio = loader.loadSfx("sound.wav")
audio.play()