![]() |
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 |