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()
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)
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))
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:
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()
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)