Формат Wavefront OBJ – РОЗРОБКА ІГОР ДЛЯ ОС ANDROID

Ми реалізуємо завантажувач для підмножини, представленого в такому форматі Він підтримуватиме моделі, що складаються тільки з трикутників і, можливо, містять координати текстур і нормалі Формат OBJ також підтримує зберігання довільних опуклих полігонів, але ми не будемо розглядати цей параметр Якщо ви знайдете або створите модель OBJ, просто переконайтеся в тому, що вона складається виключно з трикутників

Індекси відносні позиціях вершин, координатам текстури і нормалях вершини, визначеним раніше в попередніх форматах Індекси vt і vn можуть бути опущені, що говорить про те, що для вершини трикутника не визначені координати текстури або нормаль

Ми будемо ігнорувати будь рядки, що не починаються з v, vn, vt або f ми також будемо виводити повідомлення про помилку, якщо дозволені рядки будуть відформатовані відмінним від нашого способом Елементи однієї рядки розділяються порожнім простором, який може складатися з прогалин, табуляцій і т д

ПРИМІТКА

Формат OBJ може зберігати набагато більше інформації Ми можемо перетворювати лише описані рядки і відкидати всі інші тільки в тому випадку, якщо моделі складаються з трикутників і мають нормалі, а також координати текстур

Розглянемо дуже простий приклад, текстурний трикутник, що має нормалі, представлений у форматі OBJ:

Зверніть увагу на те, що позиції вершин, координати текстури і нормалі не завжди будуть визначені в такому приємному оці порядку Вони можуть переплестися, якщо програма, яка зберегла файл, вирішить так зробити

Індекси, задані в рядку f, мають в якості бази одиницю, а не нуль (як це було в Java) Деякі програми іноді надають навіть негативні індекси Це дозволяється специфікацією формату OBJ, але є серйозною перешкодою Нам слід відстежувати, скільки позицій вершин, координат текстури або нормалей вершин ми вже завантажили, а потім додавати ці негативні індекси до відповідних номерам позицій, координат вершин або нормалей залежно від атрибута, на який вказує індекс

Джерело: Mario Zechner / Маріо Цехнер, «Програмування ігор під Android», пров Єгор Сидорович, Євген зазноби, Видавництво «Пітер»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*