Equalizer 1.0
|
00001 00002 /* Copyright (c) 2006-2011, Stefan Eilemann <eile@equalizergraphics.com> 00003 * 00004 * This library is free software; you can redistribute it and/or modify it under 00005 * the terms of the GNU Lesser General Public License version 2.1 as published 00006 * by the Free Software Foundation. 00007 * 00008 * This library is distributed in the hope that it will be useful, but WITHOUT 00009 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00010 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 00011 * details. 00012 * 00013 * You should have received a copy of the GNU Lesser General Public License 00014 * along with this library; if not, write to the Free Software Foundation, Inc., 00015 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00016 */ 00017 00018 #ifndef EQFABRIC_RENDERCONTEXT_H 00019 #define EQFABRIC_RENDERCONTEXT_H 00020 00021 #include <eq/fabric/colorMask.h> // member 00022 #include <eq/fabric/eye.h> // member 00023 #include <eq/fabric/pixel.h> // member 00024 #include <eq/fabric/pixelViewport.h> // member 00025 #include <eq/fabric/range.h> // member 00026 #include <eq/fabric/subPixel.h> // member 00027 #include <eq/fabric/types.h> 00028 #include <eq/fabric/zoom.h> // member 00029 00030 #include <co/objectVersion.h> 00031 #include <eq/fabric/api.h> 00032 00033 namespace eq 00034 { 00035 namespace fabric 00036 { 00038 class RenderContext 00039 { 00040 public: 00041 EQFABRIC_API RenderContext(); 00042 00043 Frustumf frustum; 00044 Frustumf ortho; 00045 00046 Matrix4f headTransform; 00047 Matrix4f orthoTransform; 00048 00049 co::ObjectVersion view; 00050 uint128_t frameID; 00051 PixelViewport pvp; 00052 Pixel pixel; 00053 Vector4i overdraw; 00054 Viewport vp; 00055 00056 Vector2i offset; 00057 Range range; 00058 SubPixel subpixel; 00059 Zoom zoom; 00060 00061 uint32_t buffer; 00062 uint32_t taskID; 00063 uint32_t period; 00064 uint32_t phase; 00065 Eye eye; 00066 uint32_t alignToEight; 00067 00068 ColorMask bufferMask; 00069 bool alignDummy[28]; 00070 }; 00071 00072 EQFABRIC_API std::ostream& operator << ( std::ostream& os, 00073 const RenderContext& ctx ); 00074 } 00075 } 00076 #endif // EQFABRIC_RENDERCONTEXT_H