Граница QUADS

Всем привет. Мне опять нужна помощь))
Я столкнулся со следующей проблемой...я рисую сетку из прямоугольников, и на каждый меш накладываю текстуру...Если буду рисовать GL_QUAD_STRIP, то всё хорошо, но если просто GL_QUADS, то границы стаовятся видными.

Как мне исправить это??? Пробовал
/*http://esate.ru, DeKaN*/

Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MAG_FILTER, Gl.GL_LINEAR);
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_MIN_FILTER, Gl.GL_LINEAR);

Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_S, Gl.GL_CLAMP_TO_EDGE);
Gl.glTexParameteri(Gl.GL_TEXTURE_2D, Gl.GL_TEXTURE_WRAP_T, Gl.GL_CLAMP_TO_EDGE);

не помогло.
0      843        21.03.2011        10

0 
21.03.2011 00:00:00
Попробуй метку Gl.glEdgeFlag(bool) для установки граничных линий.
P.S. 151 страница
Gl.glPolygonMode(Gl.GL_FRONT, Gl.GL_LINE);
Gl.glBegin(Gl.GL_TRIANGLES);
Gl.glEdgeFlag(0);
Gl.glVertex2f(20.0f, 20.0f);
Gl.glVertex2f(20.0f, -20.0f);
Gl.glVertex2f(-20.0f, 20.0f);
Gl.glVertex2f(-20.0f, 20.0f);
Gl.glVertex2f(20.0f, -20.0f);
Gl.glVertex2f(-20.0f, -20.0f);
Gl.glEdgeFlag(1);

Gl.glVertex2f(20.0f, 20.0f);
Gl.glVertex2f(60.0f, 0.0f);
Gl.glEdgeFlag(0);
Gl.glVertex2f(20.0f, -20.0f);
Gl.glEdgeFlag(1);
Gl.glVertex2f(20.0f, -20.0f);
Gl.glVertex2f(0.0f, -60.0f);
Gl.glEdgeFlag(0);
Gl.glVertex2f(-20.0f, -20.0f);
Gl.glEdgeFlag(1);
Gl.glVertex2f(-20.0f, -20.0f);
Gl.glVertex2f(-60.0f, 0.0f);
Gl.glEdgeFlag(0);
Gl.glVertex2f(-20.0f, 20.0f);
Gl.glEdgeFlag(1);
Gl.glVertex2f(-20.0f, 20.0f);
Gl.glVertex2f(0.0f, 60.0f);
Gl.glEdgeFlag(0);
Gl.glVertex2f(20.0f, 20.0f);
Gl.glEdgeFlag(1);
Gl.glEnd();
0 
21.03.2011 00:00:00
В этом примере построение идёт внутри всего одного Begin… Но у меня отдельные текстуры для каждого прямоугольника… строю вот так:

for (int j = 0; j < N; j++)
{
for (int i = 0; i < M; i++)
{
Gl.glBindTexture(Gl.GL_TEXTURE_2D, Textur[i][j]);
Gl.glBegin(Gl.GL_QUADS);
Gl.glTexCoord2d(0, 1);
Gl.glVertex3d(Vertex[i][j].X, Vertex[i][j].Y, Vertex[i][j].Z);
Gl.glTexCoord2d(1, 1);
Gl.glVertex3d(Vertex[i + 1][j].X, Vertex[i + 1][j].Y, Vertex[i + 1][j].Z);
Gl.glTexCoord2d(1, 0);
Gl.glVertex3d(Vertex[i + 1][j + 1].X, Vertex[i + 1][j + 1].Y, Vertex[i + 1][j + 1].Z);
Gl.glTexCoord2d(0, 0);
Gl.glVertex3d(Vertex[i][j + 1].X, Vertex[i][j + 1].Y, Vertex[i][j + 1].Z);
Gl.glEnd();
}
}
0 
21.03.2011 00:00:00
РАзобрался уже… дело в том, что надо при добавлении текстуры добавить
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

А я потом ставил уже
0 
21.03.2011 00:00:00
Хотя нет, не разобрался… Стало лучше, но всё же видны края:
0 
22.03.2011 00:00:00
сейчас края (как мне кажется) из-за того, что не совпадает текстура: на месте шва разные части изображения.
0 
22.03.2011 00:00:00
Это и странно… Текстуры такие какие надо… Я просто програмно разрезал большое изображение на маленькие… Для проверки сохранил их и в фотошопе соединил, идеально подходят (как и должны)
0 
22.03.2011 00:00:00
у текстуры просто маленькое разрешение было(( если увеличить, то не видно этих артефактов
0 
22.03.2011 00:00:00
Эх… что за жизнь))
Короче, артефакты так и не пропали… но это не в текстуре проблема:
Если я использую GL_LINEAR, то получаю артефакты:

Если я использую GL_NEAREST, то артефакты пропали:

Но как видно, значительно ухудшилось качество, а мне это недопустимо…
Но из этого видно, что дела не в изображениях для текстуры. так в чем же?
0 
23.03.2011 00:00:00
можно пример этого же стыка в фотошопе. Впечатление, что наслаиваются 2ве части, пикселей по 3-5, из-за чего образуется шов.
0 
01.04.2011 00:00:00
у меня такая фигня была, когда я скайбокс делал. Брал тестуры из другой игры
^
Регистрация
Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 
×
Восстановление пароля
Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш Email. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
×
Авторизация
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.
Авторизуйтесь с помощью соц. сети или с помощью аккаунта на сайте:
×