|
@@ -72,7 +72,21 @@ public:
|
|
|
|
|
|
|
|
void setPrimitiveRestart(Bool enable);
|
|
void setPrimitiveRestart(Bool enable);
|
|
|
|
|
|
|
|
- void setViewport(U16 minx, U16 miny, U16 maxx, U16 maxy);
|
|
|
|
|
|
|
+ void setViewport(U16 minx, U16 miny, U16 maxx, U16 maxy)
|
|
|
|
|
+ {
|
|
|
|
|
+ ANKI_ASSERT(minx < maxx && miny < maxy);
|
|
|
|
|
+ commandCommon();
|
|
|
|
|
+
|
|
|
|
|
+ if(m_viewport[0] != minx || m_viewport[1] != miny || m_viewport[2] != maxx || m_viewport[3] != maxy)
|
|
|
|
|
+ {
|
|
|
|
|
+ m_viewportDirty = true;
|
|
|
|
|
+
|
|
|
|
|
+ m_viewport[0] = minx;
|
|
|
|
|
+ m_viewport[1] = miny;
|
|
|
|
|
+ m_viewport[2] = maxx;
|
|
|
|
|
+ m_viewport[3] = maxy;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
void setPolygonOffset(F32 factor, F32 units);
|
|
void setPolygonOffset(F32 factor, F32 units);
|
|
|
|
|
|
|
@@ -187,6 +201,7 @@ private:
|
|
|
/// @name state_opts
|
|
/// @name state_opts
|
|
|
/// @{
|
|
/// @{
|
|
|
Array<U16, 4> m_viewport = {{0, 0, 0, 0}};
|
|
Array<U16, 4> m_viewport = {{0, 0, 0, 0}};
|
|
|
|
|
+ Bool8 m_viewportDirty = true;
|
|
|
F32 m_polygonOffsetFactor = MAX_F32;
|
|
F32 m_polygonOffsetFactor = MAX_F32;
|
|
|
F32 m_polygonOffsetUnits = MAX_F32;
|
|
F32 m_polygonOffsetUnits = MAX_F32;
|
|
|
Array<U32, 2> m_stencilCompareMasks = {{0x5A5A5A5A, 0x5A5A5A5A}}; ///< Use a stupid number to initialize.
|
|
Array<U32, 2> m_stencilCompareMasks = {{0x5A5A5A5A, 0x5A5A5A5A}}; ///< Use a stupid number to initialize.
|