model-converter-python/d3/camera.py

28 lines
794 B
Python
Raw Permalink Normal View History

2016-11-25 14:56:37 +01:00
from .geometry import Vector
2016-11-25 11:53:35 +01:00
2017-01-18 14:01:17 +01:00
import OpenGL.GLU as glu
2016-11-25 11:53:35 +01:00
class Camera:
2017-01-18 14:01:17 +01:00
"""Simple 3D camera
"""
def __init__(self, position = Vector(1.0,0.0,0.0), target = Vector(), up = Vector(0.0,1.0,0.0)):
"""Creates a simple camera
:param position: center of the camera
:param target: point where the camera is looking
:param up: up vector of the camera
"""
self.position = position
self.target = target
self.up = up
2016-11-25 11:53:35 +01:00
def look(self):
2017-01-18 14:01:17 +01:00
"""Sets the model view matrix of OpenGL
Simply calls the gluLookAt function
"""
glu.gluLookAt(
2016-11-25 11:53:35 +01:00
self.position.x, self.position.y, self.position.z,
self.target.x, self.target.y, self.target.z,
self.up.x, self.up.y, self.up.z)