40 using FlagT = std::underlying_type_t<DirtyFlag>;
42 static constexpr DirtyFlag DirtyMask { std::numeric_limits<FlagT>::max() };
56 float horizontalMagnification = 1.0f;
57 float verticalMagnification = 1.0f;
68 float levelOfDetailPixelThreshold = 1.0;
83 bool calculateProjection(
const QRectF &inViewport);
84 bool computeFrustumOrtho(
const QRectF &inViewport);
89 float getOrthographicScaleFactor(
const QRectF &inViewport)
const;
90 bool computeFrustumPerspective(
const QRectF &inViewport);
91 bool computeCustomFrustum(
const QRectF &inViewport);
93 static void calculateViewProjectionMatrix(
const QMatrix4x4 &globalTransform,
97 void calculateViewProjectionMatrix(
QMatrix4x4 &outMatrix)
const;
99 void calculateViewProjectionWithoutTranslation(
float near,
float far,
QMatrix4x4 &outMatrix)
const;
110 float verticalFov(
float aspectRatio)
const;
111 float verticalFov(
const QRectF &inViewport)
const;
115 return ((cameraDirtyFlags &
FlagT(dirtyFlag)) != 0)
118 void markDirty(DirtyFlag dirtyFlag);
119 void clearDirty(DirtyFlag dirtyFlag);
121 float getLevelOfDetailMultiplier()
const;