2012-02-10 4 views
0

Я работаю над проблемой, когда мне нужно нарисовать индикатор прогресса и нужно вычислить длину бара, чтобы отобразить прогресс на нем. Я использую OpenGL для рисования текстуры progressbar.как вычислить ширину объекта Opengl в android

Может ли кто-нибудь сказать мне, как рассчитать общую длину, используемую буфером вершин чертежа? Пожалуйста, направляйте.


У меня есть буфер вершин, как указано ниже.

private float vertices[] = { 
     -1.5f, -0.20f, 0.0f,  // V1 - bottom left 
     -1.5f, 0.20f, 0.0f,  // V2 - top left 
     1.5f, -0.20f, 0.0f,  // V3 - bottom right 
     1.5f, 0.20f, 0.0f  // V4 - top right 
}; 

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

ответ

1

Может ли кто-нибудь сказать мне, как рассчитать общую длину, используемую буфером вершин чертежа?

Вы помещаете данные в буфер, чтобы вы знали, что в нем находится. OpenGL не имеет понятия «объект» или «ширина» или что-то в этом роде. Все, что он знает, это то, что вы послали ему несколько треугольников для рисования.

Если вы хотите знать «ширину» выходных треугольников, вам придется делать преобразования самостоятельно на процессоре. Не читайте его из объекта буфера; просто сохраните копию вручную.

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