OpenSiv3D  v0.6.5
C++20 framework for creative coding
s3d::DebugCamera3D Class Reference

#include <DebugCamera3D.hpp>

Inherits s3d::BasicCamera3D.

Public Member Functions

void update (double speed=1.0)
 
void updateTouchUI (const Vec2 &pos, double scale=1.0, double speed=1.0)
 
void drawTouchUI (const Vec2 &pos, double scale=1.0)
 
void setView (const Vec3 &eyePosition, const Vec3 &focusPosition, const Vec3 &upDirection=Vec3{ 0, 1, 0 }) noexcept
 
 BasicCamera3D ()=default
 
 BasicCamera3D (const BasicCamera3D &)=default
 
 BasicCamera3D (const Size &sceneSize, double verticalFOV=DefaultVerticalFOV, const Vec3 &eyePosition=Vec3{ 0, 4, -4 }, const Vec3 &focusPosition=Vec3{ 0, 0, 0 }, const Vec3 &upDirection=Vec3{ 0, 1, 0 }, double nearClip=DefaultNearClip) noexcept
 3D カメラを作成します。 More...
 
- Public Member Functions inherited from s3d::BasicCamera3D
 BasicCamera3D ()=default
 
 BasicCamera3D (const BasicCamera3D &)=default
 
 BasicCamera3D (const Size &sceneSize, double verticalFOV=DefaultVerticalFOV, const Vec3 &eyePosition=Vec3{ 0, 4, -4 }, const Vec3 &focusPosition=Vec3{ 0, 0, 0 }, const Vec3 &upDirection=Vec3{ 0, 1, 0 }, double nearClip=DefaultNearClip) noexcept
 3D カメラを作成します。 More...
 
virtual ~BasicCamera3D ()=default
 
virtual Mat4x4 getMat4x4 () const
 
void setSceneSize (const Size &sceneSize) noexcept
 
void setProjection (const Size &sceneSize, double verticalFOV, double nearClip=DefaultNearClip) noexcept
 
void setView (const Vec3 &eyePosition, const Vec3 &focusPosition, const Vec3 &upDirection=Vec3{ 0, 1, 0 }) noexcept
 
void setUpDirection (const Vec3 &upDirection) noexcept
 
const Size & getSceneSize () const noexcept
 
double getVerticalFOV () const noexcept
 
double getNearClip () const noexcept
 
const Vec3 & getEyePosition () const noexcept
 
const Vec3 & getFocusPosition () const noexcept
 
const Vec3 & getUpDirection () const noexcept
 
Vec3 getLookAtVector () const noexcept
 
Quaternion getLookAtOrientation () const noexcept
 
const Mat4x4 &SIV3D_VECTOR_CALL getProj () const noexcept
 
const Mat4x4 &SIV3D_VECTOR_CALL getView () const noexcept
 
const Mat4x4 &SIV3D_VECTOR_CALL getInvView () const noexcept
 
const Mat4x4 &SIV3D_VECTOR_CALL getViewProj () const noexcept
 
const Mat4x4 &SIV3D_VECTOR_CALL getInvViewProj () const noexcept
 
Mat4x4 SIV3D_VECTOR_CALL billboard (Float3 pos) const noexcept
 
SIV3D_CONCEPT_ARITHMETIC Mat4x4 SIV3D_VECTOR_CALL billboard (Float3 pos, Arithmetic scale) const noexcept
 
Mat4x4 SIV3D_VECTOR_CALL billboard (Float3 pos, Float2 scale) const noexcept
 
Float3 worldToScreenPoint (const Float3 &pos) const noexcept
 
Float3 screenToWorldPoint (const Float2 &pos, float depth) const noexcept
 
Ray screenToRay (const Vec2 &pos) const noexcept
 

Protected Attributes

double m_focusY = (BasicCamera3D::m_focusPosition - BasicCamera3D::m_eyePosition).normalized().y
 
double m_phi
 
- Protected Attributes inherited from s3d::BasicCamera3D
Mat4x4 m_proj = Mat4x4::Identity()
 
Mat4x4 m_view = Mat4x4::Identity()
 
Mat4x4 m_invView = Mat4x4::Identity()
 
Mat4x4 m_viewProj = Mat4x4::Identity()
 
Mat4x4 m_invViewProj = Mat4x4::Identity()
 
Size m_sceneSize = Scene::Size()
 
double m_verticalFOV = DefaultVerticalFOV
 
double m_nearClip = DefaultNearClip
 
Vec3 m_eyePosition = Vec3{ 0, 4, -4 }
 
Vec3 m_focusPosition = Vec3{ 0, 0, 0 }
 
Vec3 m_upDirection = Vec3{ 0, 1, 0 }
 

Additional Inherited Members

- Static Public Attributes inherited from s3d::BasicCamera3D
static constexpr double DefaultVerticalFOV = 30_deg
 
static constexpr double DefaultNearClip = 0.2
 
- Protected Member Functions inherited from s3d::BasicCamera3D
void updateProj () noexcept
 
void updateView () noexcept
 
void updateViewProj () noexcept
 

Member Function Documentation

◆ BasicCamera3D() [1/3]

s3d::BasicCamera3D::BasicCamera3D
default

◆ BasicCamera3D() [2/3]

s3d::BasicCamera3D::BasicCamera3D
default

◆ BasicCamera3D() [3/3]

s3d::BasicCamera3D::BasicCamera3D
explicitnoexcept

3D カメラを作成します。

Parameters
sceneSizeシーンのサイズ
verticalFOV縦方向の視野角(ラジアン)
eyePosition目(カメラ)の位置
focusPosition注目点
upDirection上方向ベクトル
nearClipニア・クリップ(これより近いとカメラに写らない)

◆ drawTouchUI()

void s3d::DebugCamera3D::drawTouchUI ( const Vec2 &  pos,
double  scale = 1.0 
)

◆ setView()

void s3d::DebugCamera3D::setView ( const Vec3 &  eyePosition,
const Vec3 &  focusPosition,
const Vec3 &  upDirection = Vec3{ 0, 1, 0 } 
)
noexcept

◆ update()

void s3d::DebugCamera3D::update ( double  speed = 1.0)

◆ updateTouchUI()

void s3d::DebugCamera3D::updateTouchUI ( const Vec2 &  pos,
double  scale = 1.0,
double  speed = 1.0 
)

Member Data Documentation

◆ m_focusY

double s3d::DebugCamera3D::m_focusY = (BasicCamera3D::m_focusPosition - BasicCamera3D::m_eyePosition).normalized().y
protected

◆ m_phi

double s3d::DebugCamera3D::m_phi
protected

The documentation for this class was generated from the following file:
s3d::BasicCamera3D::m_eyePosition
Vec3 m_eyePosition
Definition: BasicCamera3D.hpp:138
s3d::BasicCamera3D::m_focusPosition
Vec3 m_focusPosition
Definition: BasicCamera3D.hpp:140