47 lines
979 B
C
47 lines
979 B
C
#pragma once
|
|
|
|
|
|
struct ViewFrustum
|
|
{
|
|
D3DXPLANE Plane[6];
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) ICamera
|
|
{
|
|
virtual const D3DXMATRIX& get_ProjectionMatrix() const = 0;
|
|
virtual const D3DXMATRIX& get_ViewMatrix() const = 0;
|
|
|
|
virtual void set_AspectRatio(float argValue) = 0;
|
|
virtual float get_AspectRatio() const = 0;
|
|
|
|
virtual void set_FarClip(float argValue) = 0;
|
|
virtual float get_FarClip() const = 0;
|
|
|
|
virtual void set_NearClip(float argValue) = 0;
|
|
virtual float get_NearClip() const = 0;
|
|
|
|
virtual const ViewFrustum& get_ViewFrustum() const = 0;
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) IPerspectiveCamera
|
|
{
|
|
virtual void set_Fov(float argValue) = 0;
|
|
virtual float get_Fov() const = 0;
|
|
|
|
virtual ICamera& get_Base() = 0;
|
|
};
|
|
|
|
|
|
struct __declspec(novtable) IOrthographicCamera
|
|
{
|
|
virtual void set_Width(float argValue) = 0;
|
|
virtual float get_Width() const = 0;
|
|
|
|
virtual void set_Height(float argValue) = 0;
|
|
virtual float get_Height() const = 0;
|
|
|
|
virtual ICamera& get_Base() = 0;
|
|
};
|