2016-06-22 4 views
5

им Использование OpenGlEs10 для моего Android развития игры, я хочу рисовать пунктирные-линии Теперь я использую этот код для Draw My Line:OpenGL ES - Пунктирные линии

 gl.glColor4f(1.0f, 0.0f, 0.0f, 1.0f); 
     // gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA); 
     gl.glLineWidth(4.0f); 
     gl.glVertexPointer(2, GL10.GL_FLOAT, 0, mBufDestVertices); 
     gl.glDrawArrays(GL10.GL_LINE_LOOP, 0, mDesPoly.getNumPoints()); 

Как я должен изменить? Есть ли у меня текстуры Линия? И если да, то как?

ответ

2

Вам не нужно использовать текстуру, вы можете просто использовать функцию glLineStipple(GLint factor, GLushort pattern), а затем позвонить glEnable(GL_LINE_STIPPLE).

Для получения дополнительной информации о glLineStipple и его аргументах вы можете взглянуть на this.

+0

спасибо, но OpenGlEs1 Не имеет метода gllineStipple –

+0

Почему вы не используете OpenGL ES 2.0? Почти все мобильные устройства в настоящее время поддерживают его. В качестве окончательного намека вы можете попробовать подразделить свою сетку на большее количество очков и визуализировать с помощью 'GL_LINES', но это может иметь производительность и графическое воздействие. – Overblade

0

Я рекомендую использовать 1D текстуры (производительность: использование альфа-тестирование вместо смешивания)

не забудьте:

  • набор текстур фильтр GL_NEAREST
  • текстура упаковка для GL_REPEAT
+1

glLineStipple не является основной функцией –

Смежные вопросы