U
Size: a a a
U
d
A
A
U
L
TG
TG
TG
A
TG
A
L
A
A
L
L
TG
TG
#include <stdio.h>
#include <windows.h>
#include <gl/gl.h>
#define GRID_SIZE 10
#define GRID_STEP 20.0f
int main() {
HDC hDC = GetDC(CreateWindow("static", "Grid Test", WS_POPUP | WS_VISIBLE, 0, 0, 800, 600, 0, 0, 0, 0));
PIXELFORMATDESCRIPTOR pfd = { 0 };
pfd.nSize = sizeof(pfd);
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
pfd.cColorBits = 32;
SetPixelFormat(hDC, ChoosePixelFormat(hDC, &pfd), &pfd);
wglMakeCurrent(hDC, wglCreateContext(hDC));
while (!GetAsyncKeyState(VK_ESCAPE)) {
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-400, 400, -300, 300, 0, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glColor3f(1, 0, 0);
glBegin(GL_LINES);
for (int i = -GRID_SIZE; i <= GRID_SIZE; i++) {
glVertex2f(-GRID_SIZE * GRID_STEP, i * GRID_STEP);
glVertex2f(+GRID_SIZE * GRID_STEP, i * GRID_STEP);
glVertex2f(i * GRID_STEP, -GRID_SIZE * GRID_STEP);
glVertex2f(i * GRID_STEP, +GRID_SIZE * GRID_STEP);
}
glEnd();
SwapBuffers(hDC);
}
return 0;
}
A