budnhead/bnhdemo/demo/CameraRotator.cs

35 lines
616 B
C#

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();
}
}
}