![]() |
OpenSiv3D
v0.6.5
C++20 framework for creative coding
|
3D カメラの基本クラス More...
#include <BasicCamera3D.hpp>
Inherited by s3d::DebugCamera3D.
Public Member Functions | |
| 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 |
Static Public Attributes | |
| static constexpr double | DefaultVerticalFOV = 30_deg |
| static constexpr double | DefaultNearClip = 0.2 |
Protected Member Functions | |
| void | updateProj () noexcept |
| void | updateView () noexcept |
| void | updateViewProj () noexcept |
Protected Attributes | |
| 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 } |
3D カメラの基本クラス
|
default |
|
default |
|
explicitnoexcept |
3D カメラを作成します。
| sceneSize | シーンのサイズ |
| verticalFOV | 縦方向の視野角(ラジアン) |
| eyePosition | 目(カメラ)の位置 |
| focusPosition | 注目点 |
| upDirection | 上方向ベクトル |
| nearClip | ニア・クリップ(これより近いとカメラに写らない) |
|
virtualdefault |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
virtual |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
protectednoexcept |
|
protectednoexcept |
|
protectednoexcept |
|
staticconstexpr |
|
staticconstexpr |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |