00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "ExManagerOutput.h"
00025
00026 ExManagerOutput::ExManagerOutput(void)
00027 {
00028 Guard(ExManagerOutput::ExManagerOutput(void))
00029
00030 UnGuard
00031 }
00032
00033 ExManagerOutput::~ExManagerOutput(void)
00034 {
00035 Guard(ExManagerOutput::~ExManagerOutput(void))
00036 UnGuard
00037 }
00038
00039 void ExManagerOutput::Reset(void)
00040 {
00041 Init();
00042 }
00043
00044 void ExManagerOutput::Init(void)
00045 {
00046 Guard(ExManagerOutput::Init(void))
00047 glShadeModel(GL_SMOOTH);
00048 glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
00049 glClearDepth(1.0f);
00050 glDepthFunc(GL_LEQUAL);
00051 glCullFace(GL_BACK);
00052 glEnable(GL_CULL_FACE);
00053
00054 glEnable(GL_COLOR_MATERIAL );
00055 glEnable(GL_DEPTH_TEST);
00056 glEnable(GL_AUTO_NORMAL);
00057 glEnable(GL_NORMALIZE);
00058 glEnable(GL_ALPHA_TEST);
00059 glLightModelf(GL_LIGHT_MODEL_TWO_SIDE,GL_FALSE);
00060 glLineWidth(1.5);
00061 UnGuard
00062 }
00063
00064 void ExManagerOutput::Reshape(int w,int h)
00065 {
00066 Guard(ExManagerOutput::Reshape(int w,int h))
00067 ManagerWindow->SetResolution(w,h);
00068 glMatrixMode(GL_PROJECTION);
00069 glLoadIdentity();
00070 glViewport(0,0,ManagerWindow->GetResolutionX(),ManagerWindow->GetResolutionY());
00071 gluPerspective(ManagerCam->GetCurrentCam()->GetZoom(),
00072 (1.0f *ManagerWindow->GetResolutionX() / ManagerWindow->GetResolutionY()),
00073 ManagerCam->GetCurrentCam()->GetClipNear(),
00074 ManagerCam->GetCurrentCam()->GetClipFar());
00075 glMatrixMode(GL_MODELVIEW);
00076 glLoadIdentity();
00077 ManagerCam->GetCurrentCam()->Draw();
00078 UnGuard
00079 }
00080
00081 void ExManagerOutput::DrawScene(void)
00082 {
00083 Guard(ExManagerOutput::DrawScene(void))
00084 int plok=0;
00085 plok++;
00086 glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
00087
00088 ManagerCommand->ApplyAction();
00089
00090
00091
00092 ManagerCam->Draw(ManagerWindow->GetResolutionX(),ManagerWindow->GetResolutionY());
00093
00094 if(ManagerWindow->GetMotionBlurState()){ManagerWindow->MotionBlur();}
00095
00096
00097 ManagerMap->Draw();
00098
00099 ManagerPVS->DrawAllObject();
00100
00101
00102 if(ManagerWindow->GetInterfaceState()){ManagerInterface->DrawInterface();}
00103 if(ManagerWindow->GetFpsState ()) { ManagerWindow->ShowFps(); }
00104 if(ManagerWindow->GetGrilleState()){glCallList(GRILLE);}
00105 if(ManagerWindow->GetNetstatState()){ManagerWindow->ShowNetStat();}
00106
00107
00108
00109
00110 ManagerWindow->Specialeffect();
00111
00112
00113
00114 if(ManagerWindow->GetConsoleState()){ManagerConsole->DrawConsole();}
00115 glutSwapBuffers();
00116 UnGuard
00117 }
00118