using System; using OpenTK; using org.budnhead.core; using org.budnhead.graphics; namespace bnhdemo { public class CameraRotator : Actor { GLCamera camera; Matrix3 m3 = Matrix3.CreateRotationZ(MathHelper.PiOver2 / 45.0f); Vector3 p = new Vector3(400,400,256); Vector3 offset = new Vector3(150,0,0); Vector3 view = new Vector3(-1,0,-1); public CameraRotator(GLCamera camera) :base(0) { this.camera = camera; } public override void update(float timespan) { offset = m3 * offset; view = m3 * view; camera.Position = p + offset; camera.View = view.Normalized(); } } }