Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (1)
  • Как правильнее сделать загрузку объектов в движке?

    @hacenator
    Логично предположить что объекты могут дублироваться поэтому писать все в один файл нет смысла. Один файл на объект. Несколько инстансов одно объекта можно рисовать за один вызов (DrawCall), передавая в шейдер массив матриц для всех объекта.
    Дальше верно - перед отрисовкой делаем culling - проверяем попадает ли объект в область видимости камеры и не перекрыт ли он другим объектом.
    Для оптимизации работы с текстурами прогружают только некоторые уровни детализации (LOD), начиная с самого маленького размера. Чем ближе камера к объекту тем большая детализация используется. Текстуры действительно можно выгружать/загружать на ходу. Но нет смысла прям постоянно гонять их туда-сюда, от этого приложение быстрее не станет, надо исходить из объема свободной памяти и частоты использования текстуры.
    Текстуры накладываются по текстурным координатам. Т.е. каждой вершине соответствует некоторый тексель на текстуре далее наложение выполняется с помощью интерполяции, таким образом текстура "заливает" всю грань треугольника. Также вся эта логика наложения и смешивания определяется шейдером (пиксельным) с помощью чего и достигаются различные визуальные эффекты - освещение, тени, отражение. Обычно чтобы залить один объект используется одна текстура, в том плане что если одна сторона должна быть красная а другая зеленая, то будет одна текстура где есть и красная и зеленая часть, а не две разных текстуры. Просто она соответствующе накладывается на объект.
    Ответ написан
    1 комментарий