summaryrefslogtreecommitdiff
path: root/public/engine/view_sharedv1.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/engine/view_sharedv1.h')
-rw-r--r--public/engine/view_sharedv1.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/public/engine/view_sharedv1.h b/public/engine/view_sharedv1.h
new file mode 100644
index 0000000..cd5fd48
--- /dev/null
+++ b/public/engine/view_sharedv1.h
@@ -0,0 +1,94 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef VIEW_SHAREDV1_H
+#define VIEW_SHAREDV1_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+//-----------------------------------------------------------------------------
+// Purpose: Renderer setup data.
+//-----------------------------------------------------------------------------
+class CViewSetupV1
+{
+public:
+ CViewSetupV1()
+ {
+ m_bForceAspectRatio1To1 = false;
+ m_bRenderToSubrectOfLargerScreen = false;
+ bForceClearWholeRenderTarget = false;
+ m_bUseRenderTargetAspectRatio = false;
+ }
+
+// shared by 2D & 3D views
+
+ // User specified context
+ int context;
+
+ // left side of view window
+ int x;
+ // top side of view window
+ int y;
+ // width of view window
+ int width;
+ // height of view window
+ int height;
+
+ // clear the color buffer before rendering this view?
+ bool clearColor;
+ // clear the Depth buffer before rendering this view?
+ bool clearDepth;
+ // NOTE: This is for a workaround on ATI with building cubemaps. Clearing just the viewport doesn't seem to work properly.
+ bool bForceClearWholeRenderTarget;
+
+// the rest are only used by 3D views
+
+ // Orthographic projection?
+ bool m_bOrtho;
+ // View-space rectangle for ortho projection.
+ float m_OrthoLeft;
+ float m_OrthoTop;
+ float m_OrthoRight;
+ float m_OrthoBottom;
+
+ // horizontal FOV in degrees
+ float fov;
+ // horizontal FOV in degrees for in-view model
+ float fovViewmodel;
+
+ // 3D origin of camera
+ Vector origin;
+ // Origin gets reflected on the water surface, but things like
+ // displacement LOD need to be calculated from the viewer's
+ // real position.
+ Vector m_vUnreflectedOrigin;
+
+ // heading of camera (pitch, yaw, roll)
+ QAngle angles;
+ // local Z coordinate of near plane of camera
+ float zNear;
+ // local Z coordinate of far plane of camera
+ float zFar;
+
+ // local Z coordinate of near plane of camera ( when rendering view model )
+ float zNearViewmodel;
+ // local Z coordinate of far plane of camera ( when rendering view model )
+ float zFarViewmodel;
+
+ bool m_bForceAspectRatio1To1;
+
+ // set to true if this is to draw into a subrect of the larger screen
+ // this really is a hack, but no more than the rest of the way this class is used
+ bool m_bRenderToSubrectOfLargerScreen;
+
+ // Use this for situations like water where you want to render the aspect ratio of the
+ // back buffer into a square (or otherwise) render target.
+ bool m_bUseRenderTargetAspectRatio;
+};
+
+#endif // VIEW_SHAREDV1_H