[IMPROVEMENT] Remove camera unnecessary perspective option. (#993)

* Fix camera applyZoom when window size changes

* Revert "Fix camera applyZoom when window size changes"

This reverts commit 26154b5ff7.

* Fix pr

* remove camera perspective option

* fix merge conflict

* Update CCCamera.cpp

* Update CCCamera.h
This commit is contained in:
Turky Mohammed 2022-12-29 11:54:26 +03:00 committed by GitHub
parent d2a3b9a375
commit eb5ec6047c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 23 deletions

View File

@ -223,15 +223,15 @@ void Camera::updateTransform()
{ {
auto& size = _director->getWinSize(); auto& size = _director->getWinSize();
// create default camera // create default camera
switch (_type) switch (_director->getProjection())
{ {
case Type::ORTHOGRAPHIC: case Director::Projection::_2D:
{ {
initOrthographic(size.width, size.height, _nearPlane, _farPlane); initOrthographic(size.width, size.height, _nearPlane, _farPlane);
break; break;
} }
case Type::PERSPECTIVE: case Director::Projection::_3D:
{ {
float zeye = _director->getZEye(); float zeye = _director->getZEye();
initPerspective(_fieldOfView, (float)size.width / size.height, _nearPlane, _farPlane); initPerspective(_fieldOfView, (float)size.width / size.height, _nearPlane, _farPlane);
@ -257,7 +257,6 @@ bool Camera::initPerspective(float fieldOfView, float aspectRatio, float nearPla
Mat4::createPerspective(_fieldOfView, aspectRatio, _nearPlane, _farPlane, &_projection); Mat4::createPerspective(_fieldOfView, aspectRatio, _nearPlane, _farPlane, &_projection);
_viewProjectionDirty = true; _viewProjectionDirty = true;
_frustumDirty = true; _frustumDirty = true;
_type = Type::PERSPECTIVE;
return true; return true;
} }
@ -271,7 +270,6 @@ bool Camera::initOrthographic(float zoomX, float zoomY, float nearPlane, float f
Mat4::createOrthographic(_zoom[0] * _zoomFactor, _zoom[1] * _zoomFactor, _nearPlane, _farPlane, &_projection); Mat4::createOrthographic(_zoom[0] * _zoomFactor, _zoom[1] * _zoomFactor, _nearPlane, _farPlane, &_projection);
_viewProjectionDirty = true; _viewProjectionDirty = true;
_frustumDirty = true; _frustumDirty = true;
_type = Type::ORTHOGRAPHIC;
return true; return true;
} }

View File

@ -69,16 +69,6 @@ class AX_DLL Camera : public Node
friend class Director; friend class Director;
friend class EventDispatcher; friend class EventDispatcher;
public:
/**
* The type of camera.
*/
enum class Type
{
PERSPECTIVE = 1,
ORTHOGRAPHIC = 2
};
public: public:
/** /**
* Creates a perspective camera. * Creates a perspective camera.
@ -118,13 +108,6 @@ public:
*/ */
static Camera* getDefaultCamera(); static Camera* getDefaultCamera();
/**
* Gets the type of camera.
*
* @return The camera type.
*/
Camera::Type getType() const { return _type; }
/**get & set Camera flag*/ /**get & set Camera flag*/
CameraFlag getCameraFlag() const { return _cameraFlag; } CameraFlag getCameraFlag() const { return _cameraFlag; }
void setCameraFlag(CameraFlag flag) { _cameraFlag = flag; } void setCameraFlag(CameraFlag flag) { _cameraFlag = flag; }
@ -367,7 +350,6 @@ protected:
mutable Mat4 _viewProjection; mutable Mat4 _viewProjection;
Vec3 _up; Vec3 _up;
Camera::Type _type;
float _fieldOfView = 0.f; float _fieldOfView = 0.f;
float _zoom[2] = {0.f}; float _zoom[2] = {0.f};
float _nearPlane = 0.f; float _nearPlane = 0.f;