PMG
http://forum.pmg.org.ru/

Блочная графика...
http://forum.pmg.org.ru/viewtopic.php?f=4&t=5010
Страница 1 из 1

Автор:  Андрей [ 08 ноя 2007 17:59 ]
Заголовок сообщения:  Блочная графика...

Нужна помощь, вобщем из названия понятно, не могу никак разобраться с выводом блоков, в частности никак не пойму как к каждому блоку прилепить номер из массива для идентификации блока, может у кого то есть похожий код, очень хотелось бы посмотреть как это выглядит в OpenGL

Автор:  Андрей [ 08 ноя 2007 20:34 ]
Заголовок сообщения: 

#include<windows.h>
#include<GL/glut.h>


#define MAP_SIZEX 30
#define MAP_SIZEY 30
char map[10][10] = {
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
};

int y, x;
//<<<<<<<<<<<< myInit >>>>>>>>>>
void myInit(void)
{
glClearColor(0.0,1.0,1.0,0.0);

glColor3f(0.0f, 0.0f, 0.0f);

glPointSize(2.0);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, 1024.0, 0.0, 768.0);
}

//<<<<<<<<<<<< myDisplay >>>>>>>>>
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);

int tile;

for (int y = 0; y < MAP_SIZEY; y++)
{
for (int x = 0; x < MAP_SIZEX; x++)
{
tile = map[y][x];

glBegin(GL_QUADS);

glVertex2i(x, y);
glVertex2i((x + 1), (y));
glVertex2i((x + 1), (y + 1));
glVertex2i((x), (y + 1));
glEnd();

}
}
glEnd();
glFlush();

}
//<<<<<<<<<<<< main >>>>>>>>>>>
void main(int argc, char** argv)
{
glutInit(&argc, argv);

glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);

glutInitWindowSize(640, 480);

glutInitWindowPosition(100, 150);

glutCreateWindow("my first attempt");

glutDisplayFunc(myDisplay);

myInit();
glutMainLoop();

///////////////////////
Вот этот код компилируеться но в результате рисуеться только один квадрат в нижнем левом углу, а нужен блочный масив, может кто то подскажет где ошибка

Автор:  MagicWolf [ 09 ноя 2007 10:51 ]
Заголовок сообщения: 

Вроде все просто, но мне не понятно что ты хочешь в результате получить. Например, ты получаешь tile = map[y][x]; - но потом это не используешь ни как. Может хоть цвет менять.

Автор:  DanQuimby [ 01 фев 2008 16:12 ]
Заголовок сообщения: 

ну фиг знает тем способом как ты представляеш масив я неделал
лет 5.
пользуйся лучше stl лучше наверное vector хотя смотря какие задачи ты
видиш. :lol:

Автор:  reticon [ 03 фев 2008 14:48 ]
Заголовок сообщения:  Re: Блочная графика...

Андрей писал(а):
в частности никак не пойму как к каждому блоку прилепить номер из массива для идентификации блока


Перебирай в цикле массив идентификаторов, и в зависимости от идентификатора выводи нужный тайл. Все просто.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/