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 00035 00039 void start(); 00043 void stop(); 00044 00048 void* getProcAddress(const String& procname); 00049 00053 virtual void initialiseExtensions(); 00054 00055 00056 bool selectPixelFormat(HDC hdc, int colourDepth, int multisample = 0); 00057 00058 virtual bool supportsPBuffers(); 00059 virtual GLPBuffer *createPBuffer(PixelComponentType format, size_t width, size_t height); 00060 private: 00061 // Allowed video modes 00062 std::vector<DEVMODE> mDevModes; 00063 Win32Window *mInitialWindow; 00064 std::vector<int> mFSAALevels; 00065 bool mHasPixelFormatARB; 00066 00067 void refreshConfig(); 00068 void initialiseWGL(); 00069 static LRESULT CALLBACK dummyWndProc(HWND hwnd, UINT umsg, WPARAM wp, LPARAM lp); 00070 }; 00071 00072 } 00073 00074 #endif
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:52 2006