Files
bluflame/aiwaz/Aiwaz/Interfaces/ICamera.h
2026-04-18 22:31:51 +02:00

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