Opengl ES - рисование плоскости нескольких вершин - PullRequest
1 голос
/ 23 февраля 2010

Используя Opengl ES для Android, мы сталкиваемся с проблемой при рисовании квадрата с текстурой. Они выглядят хорошо на расстоянии, но когда вы приближаетесь к модели, текстура искажается. Мы полагаем, что это связано с тем, что модель состоит только из четырех вершин:

float [] ords = {

-1, 1, 0,0f,

1, 1, 0,0f,

-1, -1, 0,0f,

1, -1, 0,0f,
};

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

http://cocktailgenerator.net/cis4/plan.png

Используя GL_TRIANGLE_STRIP, мы можем нарисовать прямоугольник из таких многоугольников, как (1x10), и он работает хорошо, но как нам расширить его до 10x10?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2010

Вот как я решил это с помощью OpenGL ES 1.0:

https://blog.jayway.com/2010/02/15/opengl-es-tutorial-for-android-part-v/

0 голосов
/ 23 февраля 2010

Если вы создаете строки слева направо, вы просто начинаете новую строку, добавляя невидимую вырожденную полосу: вы добавляете последнюю точку строки дважды, вставляя треугольники с нулевой площадью.Эти треугольники будут невидимы при рендеринге граней.Используя эту технику, вы можете создавать разрывы в полосе и, например, начинать новый ряд в большой плоскости.

Относительно исходной проблемы: Вы уверены, что можете избавиться от проблем рендеринга, разделивтвоя сетка?Это не похоже на правильный путь.

...