00001 /*************************************************************************** 00002 pixelbuffer.h - Buffer for offscreen rendering 00003 ------------------- 00004 begin : Sat April 26, 2003 00005 copyright : (C) 2003 by Reality Rift Studios 00006 email : mattias@realityrift.com 00007 *************************************************************************** 00008 00009 The contents of this file are subject to the Mozilla Public License Version 00010 1.1 (the "License"); you may not use this file except in compliance with 00011 the License. You may obtain a copy of the License at 00012 http://www.mozilla.org/MPL/ 00013 00014 Software distributed under the License is distributed on an "AS IS" basis, 00015 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 00016 for the specific language governing rights and limitations under the 00017 License. 00018 00019 The Original Code is the NeoEngine, pixelbuffer.h 00020 00021 The Initial Developer of the Original Code is Mattias Jansson. 00022 Portions created by Mattias Jansson are Copyright (C) 2003 00023 Reality Rift Studios. All Rights Reserved. 00024 00025 ***************************************************************************/ 00026 00027 #ifndef __NEPIXELBUFFER_H 00028 #define __NEPIXELBUFFER_H 00029 00030 00031 00032 #include "base.h" 00033 #include "render.h" 00034 #include "texture.h" 00035 00036 00037 namespace NeoEngine 00038 { 00039 00040 00041 00048 class NEOENGINE_API PixelBuffer 00049 { 00050 protected: 00051 00053 unsigned int m_uiID; 00054 00056 unsigned int m_uiWidth; 00057 00059 unsigned int m_uiHeight; 00060 00062 unsigned int m_uiBPP; 00063 00066 PixelBuffer(); 00067 00068 00069 public: 00070 00073 virtual ~PixelBuffer(); 00074 00079 virtual void SetCubeMapFace( Texture::TEXTURECUBEMAPFACE eCubeMapFace ) = 0; 00080 00084 unsigned int GetTargetID() const { return( RenderDevice::PIXELBUFFER | ( m_uiID & 0x00FFFFFF ) ); } 00085 00090 virtual const TexturePtr &GetTexture() = 0; 00091 }; 00092 00093 00094 }; 00095 00096 00097 #endif