00001 #ifndef __OgreWin32GLSupport_H__ 00002 #define __OgreWin32GLSupport_H__ 00003 00004 #include "OgreWin32Prerequisites.h" 00005 #include "OgreGLSupport.h" 00006 #include "OgreGLRenderSystem.h" 00007 00008 namespace Ogre 00009 { 00010 00011 class Win32GLSupport : public GLSupport 00012 { 00013 public: 00014 Win32GLSupport(); 00020 void addConfig(); 00021 00022 void setConfigOption(const String &name, const String &value); 00023 00027 String validateConfig(); 00028 00029 virtual RenderWindow* createWindow(bool autoCreateWindow, GLRenderSystem* renderSystem, const String& windowTitle = "OGRE Render Window"); 00030 00032 virtual RenderWindow* newWindow(const String &name, unsigned int width, unsigned int height, 00033 bool fullScreen, const NameValuePairList *miscParams = 0); 00034 00036 virtual RenderTexture * createRenderTexture( const String & name, unsigned int width, unsigned int height, 00037 TextureType texType = TEX_TYPE_2D, PixelFormat internalFormat = PF_X8R8G8B8, 00038 const NameValuePairList *miscParams = 0 ); 00039 00043 void start(); 00047 void stop(); 00048 00052 void* getProcAddress(const String& procname); 00053 00057 virtual void initialiseExtensions(); 00061 virtual void initialiseCapabilities(RenderSystemCapabilities &caps); 00062 00063 bool selectPixelFormat(HDC hdc, int colourDepth, int multisample = 0); 00064 00065 private: 00066 // Allowed video modes 00067 std::vector<DEVMODE> mDevModes; 00068 Win32Window *mInitialWindow; 00069 std::vector<int> mFSAALevels; 00070 bool mHasPixelFormatARB; 00071 00072 void refreshConfig(); 00073 void initialiseWGL(); 00074 static LRESULT CALLBACK dummyWndProc(HWND hwnd, UINT umsg, WPARAM wp, LPARAM lp); 00075 }; 00076 00077 } 00078 00079 #endif
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 12:59:54 2006