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 SizegetSceneSize () const noexcept
 
double getVerticalFOV () const noexcept
 
double getNearClip () const noexcept
 
const Vec3getEyePosition () const noexcept
 
const Vec3getFocusPosition () const noexcept
 
const Vec3getUpDirection () 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