OpenGL и алиасинг
От: Roaming  
Дата: 15.01.09 14:13
Оценка:
Доброго дня!
Колеги помогите разобраться. В Object-c + OpenGL рисую карту в 2D.
Перебираю по клетке и поворачиваю карту.


glPushMatrix();
glTranslatef(160,240, 0); // точка старта карты
glRotatef(_rotation, 0, 0, 1); // поворот карты относительно времени или движения персонажа

*рисую каждую клетку (40*40) которую необходимо отобразить на экране*

glPopMatrix();



Если карту не поворачивать то не видно что карта из клеток и все гладенько, но стоит сделать поворот, как карта сразу прорисовывает клетки.



    glBindTexture(GL_TEXTURE_2D, [_textures[kTexture_Title] name]);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    
    glEnable(GL_POINT_SMOOTH);
    glEnable(GL_SMOOTH);
    glShadeModel(GL_SMOOTH);



Вопрос где-то в алиасенге перепробовал все, но ничего не получаеться, Кто что подскажет ? Где копать ?
opengl
Re: OpenGL и алиасинг
От: 8bit  
Дата: 15.01.09 15:02
Оценка:
Скриншот не помешал бы конечно.

Поиграться с фильтрами, это тут:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

Плюс, сделать отступы у стпрайта.
Например, если у вас tile 32x32 то сделать его 34x34, а выводить 1x1-33x33.
Re[2]: OpenGL и алиасинг
От: Roaming  
Дата: 15.01.09 15:18
Оценка:
Здравствуйте, 8bit, Вы писали:


8>Скриншот не помешал бы конечно.


8>Поиграться с фильтрами, это тут:

8> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
8> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

8>Плюс, сделать отступы у стпрайта.

8>Например, если у вас tile 32x32 то сделать его 34x34, а выводить 1x1-33x33.

Вот скриншот, поворот матрици с клетками одного цвета, и видно как карта заканчиваеться.
Re: OpenGL и алиасинг
От: Arsenicum Россия  
Дата: 16.01.09 06:04
Оценка:
Здравствуйте, Roaming, Вы писали:

R>Доброго дня!

R> Колеги помогите разобраться. В Object-c + OpenGL рисую карту в 2D.
R> Перебираю по клетке и поворачиваю карту.

R>

R>glPushMatrix();
R>glTranslatef(160,240, 0); // точка старта карты
R>glRotatef(_rotation, 0, 0, 1); // поворот карты относительно времени или движения персонажа

R>*рисую каждую клетку (40*40) которую необходимо отобразить на экране*
Возможно у вас потери точности при вычислении координат. У углов соседних клеток должны быть одинаковые координаты.

R>glPopMatrix();

R>

...
Re[3]: OpenGL и алиасинг
От: demi США  
Дата: 11.02.09 16:42
Оценка:
Здравствуйте, Roaming, Вы писали:

R>Здравствуйте, 8bit, Вы писали:



8>>Скриншот не помешал бы конечно.


8>>Поиграться с фильтрами, это тут:

8>> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
8>> glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

8>>Плюс, сделать отступы у стпрайта.

8>>Например, если у вас tile 32x32 то сделать его 34x34, а выводить 1x1-33x33.

R>Вот скриншот, поворот матрици с клетками одного цвета, и видно как карта заканчиваеться.

R>
У тебя клетки прямо в текстуре лежат?
Не стыдно попасть в дерьмо, стыдно в нём остаться!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.