1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*
File: MenuGrid.h
Description: Menu graphics management
Program: BlockOut
Author: Jean-Luc PONS
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
*/
#include <math.h>
#include "GLApp/GLSprite.h"
#include "GLApp/GLMatrix.h"
#include "Types.h"
#define GRID_WIDTH 70
#define GRID_HEIGHT 50
class MenuGrid {
public:
MenuGrid();
// Initialise device objects
int Create();
// Render the grid
void Render();
// Release device objects
void InvalidateDeviceObjects();
// Set value
void SetValue(int x,int y,int value);
// Clear the grid
void Clear();
private:
int CreateGrid();
int CreateCube();
void RenderCube(int x,int y);
// Grid variable
float cSide;
float startX;
float startY;
float startZ;
int matrix[GRID_HEIGHT*GRID_WIDTH];
POINT orderMatrix[GRID_HEIGHT*GRID_WIDTH];
// Graphics
GLuint gridList;
GLMATERIAL gridMaterial;
GLuint redList;
GLMATERIAL redMaterial;
GLuint blueList;
GLMATERIAL blueMaterial;
GLuint topList;
GLuint nwList;
GLuint neList;
GLuint swList;
GLuint seList;
GLuint bnList;
GLuint bwList;
GLuint bsList;
GLuint beList;
};
|