0001:
0002:
0003:
0004:
0005:
0006:
0007:
0008: #include "stdafx.h"
0009: #include <windows.h>
0010: #include <GL/gl.h>
0011: #include <GL/glu.h>
0012: #include "tpotCGL.h"
0013:
0014: void MyInitRender( void *p )
0015: {
0016: tpot::CGl *pGL = (tpot::CGl*)p;
0017:
0018:
0019: pGL->SetCurrent();
0020:
0021:
0022: glClearColor(1.0f, 1.0f, 1.0f, 1.0f) ;
0023:
0024:
0025: glEnable(GL_DEPTH_TEST);
0026: glDepthFunc(GL_LEQUAL);
0027: }
0028:
0029: void MyRender( void *p, float dt, int w, int h )
0030: {
0031: tpot::CGl *pGL = (tpot::CGl*)p;
0032:
0033:
0034: pGL->BeginRender();
0035:
0036:
0037: glViewport(0, 0, w, h);
0038:
0039:
0040: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) ;
0041:
0042:
0043: glMatrixMode(GL_PROJECTION);
0044: glLoadIdentity();
0045: gluPerspective(40, (float)w/(float)h, 0.1, 200);
0046:
0047:
0048: glMatrixMode(GL_MODELVIEW);
0049: glLoadIdentity();
0050: glTranslated( 0.0, 0.0, -5.0 );
0051:
0052:
0053: static float angle = 0;
0054: angle += 360.0f * dt / 10.0f;
0055: if(360<angle)angle-=360;
0056: glRotatef( angle, 0.0f, 0.0f, 1.0f );
0057:
0058:
0059: glBegin(GL_QUADS);
0060:
0061: glColor3f(1.0, 0.0, 0.0);
0062: glVertex3f(-1,-1,1);
0063: glVertex3f( 1,-1,1);
0064: glVertex3f( 1, 1,1);
0065: glVertex3f(-1, 1,1);
0066:
0067: glEnd();
0068:
0069:
0070: glFlush();
0071: pGL->EndRender();
0072: }
0073: