Как рассчитать ширину объекта OpenGL в Android - PullRequest
0 голосов
/ 10 февраля 2012

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

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


Мой буфер вершин выглядит следующим образом.

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 Ответ

1 голос
/ 10 февраля 2012

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

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

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

...