Я пытаюсь использовать OpenGL в своем приложении и поэтому копирую код this в свой проект. Он отлично работает, но я хочу рисовать поклонников треугольника, а не просто рисовать этот треугольник. Как мне изменить код, чтобы я мог это сделать?Android OpenGl ES Triangle Fan
ответ
Нет никакой магии в использовании вентиляторов треугольника. Вы просто изменяете примитивный тип, который передается в качестве первого аргумента для обратных вызовов на GL_TRIANGLE_FAN
. Например, если ваш код учебник в настоящее время имеет этот вызов:
GLES20.glDrawElements(GLES20.GL_TRIANGLES, indices.length,
GLES20.GL_UNSIGNED_SHORT, drawListBuffer);
Вы можете изменить его на это вместо:
GLES20.glDrawElements(GLES20.GL_TRIANGLE_FAN, indices.length,
GLES20.GL_UNSIGNED_SHORT, drawListBuffer);
Теперь вы просто добавить больше вершин и индексов, и вы готовы пойти город.
Путь OpenGL определяет треугольные вентиляторы, первая точка разделяется всеми треугольниками. Если вы задаете вершины:
v0 v1 v2 v3 v4 v5 v6 ...
сгенерированных треугольники:
v0 v1 v2
v0 v2 v3
v0 v3 v4
v0 v4 v5
v0 v5 v6
...
Связанных примитивный типа являются треугольными полосками (GL_TRIANGLE_STRIP
), которые чаще всего используются, чем любители треугольника.
Вентилятор треугольника не существует непосредственно в opengl. Если вы хотите создать поклонников треугольника, вам нужно рисовать, используя треугольники и указатели. Вот довольно хороший учебник о том, как сделать эту работу. http://www.learnopengles.com/tag/triangle-strips/
- 1. triangle opengl in android
- 2. OpenGL ES 2.0 для Android - Triangle определение цвета
- 3. OpenGl ES, android FPS
- 4. OpenGL ES Android Путаница
- 5. Android openGL ES normals
- 6. Android OpenGL ES текстурированная полусфера
- 7. OpenGL ES 2 проблема в устройстве android
- 8. Android OpenGL ES Помощь в помощи многоугольникам
- 9. Strange opengl es 2 on android error
- 10. OpenGL C++ Making Triangle
- 11. qt openGL - draw triangle
- 12. Opengl Triangle вместо квадрата
- 13. Не переводить хорошо - Android - OpenGL ES 2
- 14. Разница в IOS OpenGL ES и Android OpenGL ES
- 15. iOS OpenGL ES совместим с Android OpenGL ES?
- 16. Android - OpenGL: называется unimplemented OpenGL ES API
- 17. OpenGL ES 2.0 Контекст в Android
- 18. Android OpenGL ES 3.0 Создание круга
- 19. OpenGL ES Android Растровая текстура не отображается
- 20. Android OpenGL ES искаженное изображение
- 21. OpenGl ES 2D Android redraw
- 22. Android OpenGL ES Line antialiase
- 23. Android OpenGL ES 2.0 текстуры
- 24. Android OpenGL ES и 2D
- 25. Android - камера и OpenGL ES
- 26. Android opengl es 3 учебник?
- 27. Android OpenGL ES Линейный круг
- 28. Android OpenGL | ES 2.0 Текстурирование
- 29. Android-браузер для OpenGL ES
- 30. Android OpenGL-ES градиент фон
ОК, спасибо. Думал, что я до сих пор не знаю, как реализовать это в своем коде. – anonymos
В случае учебника, опубликованного вами, это довольно просто. Просто обновите метод setupTriangle, чтобы добавить дополнительные вершины треугольника, которые вы хотите в свой вентилятор, а затем добавьте знаки, как показано в примере, который я опубликовал. Код чертежа должен оставаться неизменным. – Ben
Это совершенно неправильно. Треугольные вентиляторы поддерживаются во всех версиях OpenGL ES. –