Задумал создать визуализатор.

Буду писать потихоньку. Надеюсь на помошь советами.
Пусть для начала будем считать что грид состит из кубов.
Создаем класс одного кубика
class Cubic
{
public double x, y, z,size,r,g,b;
public Cubic(double x, double y, double z)
{
}
public void Draw()
{
Gl.glPushMatrix();
Gl.glTranslated(x,y,z);
Gl.glRotated(45, 1, 0, 1);
Gl.glColor3d(r, g, b);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3d(size, size, size);
Gl.glVertex3d(-size, size, size);
Gl.glVertex3d(-size, -size, size);
Gl.glVertex3d(size, -size, size);
Gl.glEnd();
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3d(size, size, -size);
Gl.glVertex3d(size, -size, -size);
Gl.glVertex3d(-size, -size, -size);
Gl.glVertex3d(-size, size, -size);
Gl.glEnd();
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3d(-size, size, size);
Gl.glVertex3d(-size, size, -size);
Gl.glVertex3d(-size, -size, -size);
Gl.glVertex3d(-size, -size, size);
Gl.glEnd();
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3d(size, size, size);
Gl.glVertex3d(size, -size, size);
Gl.glVertex3d(size, -size, -size);
Gl.glVertex3d(size, size, -size);
Gl.glEnd();
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3d(-size, size, -size);
Gl.glVertex3d(-size, size, size);
Gl.glVertex3d(size, size, size);
Gl.glVertex3d(size, size, -size);
Gl.glEnd();
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3d(-size, -size, -size);
Gl.glVertex3d(size, -size, -size);
Gl.glVertex3d(size, -size, size);
Gl.glVertex3d(-size, -size, size);
Gl.glEnd();
Gl.glPopMatrix();
}
}