Как преобразовать пример треугольника Android OpenGL ES 2.0 в точки

1

Я использовал этот учебник и получил его работу, но я хотел только нарисовать точки треугольника. Когда я устанавливаю режим в drawArrays из GLES20.GL_TRIANGLES в GLES20.GL_POINTS, ничего не нарисовано. В качестве альтернативы просто установка размера точки в вершинном шейдере также ничего не рисует. Что мне не хватает?

Глядя на код, как это это я не знаю, что мне нужно, так как я не хочу использовать текстуру, если я не должен.

Теги:
opengl-es-2.0

1 ответ

0

" Simple OpenGL Primitives " говорит:

Точки могут создавать превосходные эффекты частиц, такие как искры или пылевые частицы, мерцающие, когда они проходят сквозь лучи света. Несмотря на то, что мы работаем с 3D-графикой, рендеринг одной точки на экране сам по себе создает иллюзию 2D-пространства, потому что наши экраны монитора плоские или двумерные, и нет ничего, что указывало бы на глубину. Поэтому один из способов сделать точки кажутся интерактивными - заставить их двигаться по экрану в интересных шаблонах, таких как круги, спирали и вариации синусоидальных и косинусных формул.

Изменить:
Но если вы хотите, чтобы ваши точки были видимыми, вы можете использовать glPointSize (размер float) или glPointSize (размер int), например:

gl.glPointSize(5.0f);
gl.glDrawElements(...);    

С другой стороны, OpenGL ES 2.0 поддерживает Point Sprites и вершинный шейдер, вы можете установить размер с помощью gl_PointSize следующим образом:

uniform float uThickness;
...
gl_PointSize = uThickness;    

Рекомендации:
stackexchange
Викиучебники
Pro Open GL ES для Android

Ещё вопросы

Сообщество Overcoder
Наверх
Меню