![]() |
Ответ: C3D Engine
Сначала думал, что есть отличия GL/ES, вот и написал интерфейс, можно директ запилить когда нечего делать будет, но для этого надо уходить от GL синтаксиса, более абстрактно сделать класс, у меня и окошки работают на freeGlut, SDL, Android API.. на любой вкус. Хотя SDL можно выпилить, у меня freeGlut, норм работает, компилится с сорцов без либ.
Я не ищу сложных путей, по фозможности использую проверенные временем библиотеки. Юзать freeimage не стал за не надобностью, раз есть свой формат моделей, так пусть будет свой формат текстур, накрайняк можно будет потом хранить текстуры прямо в моделях.. но это так на будущее. |
Ответ: C3D Engine
Код:
RENDER->bindBuffer(_vbo, BT_ARRAY); |
Ответ: C3D Engine
при 60 fps, это мешать не будет, прирост будет 0.5 фпс если убрать интерфейс.
При 1000 фпс, различие может быть в 50 fps. но какая нам разница, если глаз не воспринимает 1000 фпс, можно ограничиться 100 фпс. Зачем нам гнаться за этими 0.5 % прироста, оптимизировав код. Лучше реализовывать чувствительные к ГАПИ оптимизации. PS. компиляторы давно научились сами оптимизировать подобный код. |
Ответ: C3D Engine
Поднял на 20% FPS - это без Frustum. Запилил тач в андроиде. Сделал нормальный шрифт.
Осталось, нормальный фрустум, конвертирование текстур прям при экспорте из макса. Проверить оптимизации, сделать нормальную доку, вытащить все в DLL, мастер для Eclipse, Visual Studio, и можно будет пощупать. После этого собираюсь запилить наконец-то тени, point и spot освещение, пока не решил per-vertex или per-pixel |
Ответ: C3D Engine
Освещение ведь на шейдерах, делай оба варианта. С возможностью переключения.
Ведь если делать толково, то deferred, а там да, пиксельное сразу лучше. |
Ответ: C3D Engine
Цитата:
|
Ответ: C3D Engine
один раз за кадр множу projection matrix и view matrix, в шейдер передается modelMatrix и viewprojMatrix, и множится в шейдере. Раньше у каждого объекта вычислялась modelview матрица ну и анимацию вынес в ГПУ
|
Ответ: C3D Engine
Неплохо!
|
Ответ: C3D Engine
непробывал множить матрицы на цпу, а в шейдере не множить матрицы вообще? этож мобилка, там немного шейдерных процессоров.
|
Ответ: C3D Engine
гпу всегда быстрее цпу. Тем более прирост на лицо
|
Ответ: C3D Engine
Цитата:
ps. еще memcpy через neon быстрее чем обычный :crazy: |
Ответ: C3D Engine
Цитата:
|
Ответ: C3D Engine
Ну у меня прирост в производительности дало на гигогерцовом cortexA8 проце и на 600 мегагерцовом тоже.
PS. вершин у каждой модели в среднем 1000 |
Ответ: C3D Engine
Добавил файловые системы - дисковую и zip
|
Ответ: C3D Engine
файлы советую сделать подмапленными. где тут была статья джимона. дает прирост в 15% по скорости. + ненадо создавать буфера.
|
| Часовой пояс GMT +4, время: 13:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Перевод: zCarot