Ejemplo n.º 1
0
Archivo: lady.py Proyecto: jsheedy/cube
import sdl2

from cube.camera import Camera
from cube.engine import Vector3
from cube.hud import HUD
from cube.model import Model
from cube.objects import Dodecahedron, Cube, Tetrahedron, Octahedron
from cube.renderer import SDLRenderer
from cube.scene import Scene

logging.basicConfig(level=logging.INFO)

scene = Scene()

camera = Camera(position=Vector3(0, 0, -70))
camera.look_at(Vector3(0, 0, 0))
scene.add_camera("main camera", camera)

fname = os.path.join(os.path.dirname(__file__), 'data/kscan3d-lady-ascii.ply')
lady = Model.load_ply(fname)
scene.add_object('lady', lady)

renderer = SDLRenderer(width=1350, height=770, delay_interval=30)
hud = HUD()

for t in itertools.count():
    renderer.render(hud, scene, clear=True)
    renderer.delay()

    events = sdl2.ext.get_events()
Ejemplo n.º 2
0
from cube.hud import HUD
from cube.model import Model
from cube.objects import Dodecahedron, Cube, Tetrahedron, Octahedron
from cube.renderer import SDLRenderer
from cube.scene import Scene
from cube.events import handle_events
from cube import transformations

logging.basicConfig(level=logging.INFO)

WIDTH = 1350
HEIGHT = 770

scene = Scene()

camera = Camera(position=Vector3(0, 0, -1))
camera.look_at(Vector3(0, 0, 0))
scene.add_camera("main camera", camera)

fname = os.path.join(os.path.dirname(__file__), 'data/bunny.ply')

bunnies = []
for i in range(-5, 5, 1):
    bunny = Model.load_ply(fname)
    bunny.position = Vector3(i / 5, 0, 0)
    scene.add_object(f"bunny{i}", bunny)
    bunnies.append(bunny)

fname = os.path.join(os.path.dirname(__file__), 'data/teapot.ply')
teapot = Model.load_ply(fname, scale=Vector3(0.02, 0.02, 0.02))
teapot.position = Vector3(0.1, 0, 0)
Ejemplo n.º 3
0
import math

import sdl2

from cube.camera import Camera
from cube.engine import Vector3
from cube.hud import HUD
from cube.objects import Dodecahedron, Cube, Tetrahedron, Octahedron
from cube.renderer import SDLRenderer
from cube.scene import Scene

logging.basicConfig(level=logging.INFO)

scene = Scene()

camera = Camera(position=Vector3(0, 0, -20))
camera.look_at(Vector3(0, 0, 0))
scene.add_camera("main camera", camera)

# for i in range(-10, 10, 4):
#     for j in range(-10, 10, 4):
#         for k in range(-10, 10, 4):
#             cube = Cube(position=Vector3(2*i, j, k))
#             scene.add_object(f"cube{i}-{j}-{k}", cube)

# cube = Cube(position=Vector3(0, 0, 0), scale=Vector3(1,1,1))
cube = Cube(position=Vector3(2, 2, 0), scale=Vector3(1, 1, 1))
tetrahedron = Tetrahedron(position=Vector3(2, -2, 0))
octahedron = Octahedron(position=Vector3(-2, -2, 0))
dodecahedron = Dodecahedron(position=Vector3(-2, 2, 0))
Ejemplo n.º 4
0
Archivo: glow.py Proyecto: jsheedy/cube
from cube.camera import Camera
from cube.engine import Vector3
from cube.hud import HUD
from cube.objects import Dodecahedron, Cube, Tetrahedron, Octahedron
from cube.renderers import SDLRenderer
from cube.scene import Scene

from cube.hid import drive_obj
from cube.transformations import rotation_matrix
from cube.fx.glow import GlowFX


scene = Scene()

camera = Camera(position=Vector3(0,0,-5))
camera.look_at(Vector3(0, 0, 0))
scene.add_camera("main camera", camera)

cube = Cube()
scene.add_object("cube", cube)
hud = HUD()

fxes = [GlowFX(),]
renderer = SDLRenderer(width=1350, height=770, delay_interval=30)

for t in itertools.count():
    drive_obj(camera)
    # renderer.render(hud, scene, clear=True, draw_polys=False)
    cube._rotation_matrix = rotation_matrix(Vector3(t/10000, t/1000, 0))
    for fx in fxes:
Ejemplo n.º 5
0
import math

import sdl2

from cube.camera import Camera
from cube.engine import Vector3
from cube.hud import HUD
from cube.objects import Dodecahedron, Cube, Tetrahedron, Octahedron
from cube.renderer import SDLRenderer
from cube.scene import Scene

logging.basicConfig(level=logging.INFO)

scene = Scene()

camera = Camera(position=Vector3(0,0,-70))
camera.look_at(Vector3(0, 0, 0))
scene.add_camera("main camera", camera)

cubes = []

for i in range(-10, 10, 3):
    for j in range(-10, 10, 3):
        for k in range(-10, 10, 3):
            cube = Cube(position=Vector3(i, j, k))
            scene.add_object(f"cube{i}-{j}-{k}", cube)
            cubes.append(cube)

renderer = SDLRenderer(width=1350, height=770, delay_interval=30)
hud = HUD()
Ejemplo n.º 6
0
import math

import sdl2

from cube.camera import Camera
from cube.engine import Vector3
from cube.hud import HUD
from cube.objects import Dodecahedron, Cube, Tetrahedron, Octahedron
from cube.renderer import SDLRenderer
from cube.scene import Scene

logging.basicConfig(level=logging.INFO)

scene = Scene()

camera = Camera(position=Vector3(0, 4, -20))
camera.look_at(Vector3(0, 0, 0))
scene.add_camera("main camera", camera)

renderer = SDLRenderer(width=1350, height=770, delay_interval=30)
hud = HUD()

for t in itertools.count():
    renderer.render(hud, scene, clear=True, axes=False)
    renderer.delay()

    # camera_x = math.sin(t/20)
    # camera_y = 0  # math.cos(t/20)
    # camera_z = 20-math.cos(t/20)

    # target = 100*Vector3(look_x, look_y, look_z)