LINUX.ORG.RU

Спрайты в произвольных 3Д координатах. OpenGL


0

2

Хочу создать систему частиц, для этого хочу нарисовать спрайт в произвольном месте, не пойму как сделать. В теории можно нанести текстуру на квадрат а потом развернуть его к себе. Но разве это не будет очень медленно? Ведь можно просто нарисовать 2Д картинку.

Хочу сделать что то похожее до синего чего то сзади машины. http://cs424418.vk.me/v424418796/4b61/ogsL5b4yc5s.jpg


Ведь можно просто нарисовать 2Д картинку.

Ага, а рулить в пространстве ей ты тоже будешь по методам для картинки?

makeB
()

Вообще бывают расширения или специальные api-методы для рисования спрайтов (например, в d3d9 было), но вещь совершенно не нужная.

Медленно не будет, современные телефоны рисуют миллионы текстурированных треугольников в секунду, не говоря о десктопах.

note173 ★★★★★
()

В примерах куды такое очень даже шустро и реалистично шевелилось. Или тебе надо попроще?

Eddy_Em ☆☆☆☆☆
()

Очень медленно - это «просто нарисовавать 2д картинку» через glDrawPixels, который просадит FPS просто катастрофически. Можешь попробовать. Но, как тебе написали, занимаешься преждевременной оптимизацией.

Amp ★★★
()
Ответ на: комментарий от knotri

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

Ну посчитай, делов-то. Для совсем ленивых есть GL_ARB_point_sprite.

Deleted
()
Ответ на: комментарий от knotri

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

Это одно умножение на матрицу в вершинном шейдере - GPU их делает миллиардами в секунду.

slovazap ★★★★★
()
Ответ на: комментарий от knotri

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

не придется. Просто нормаль задай заранее. Ну и на координаты не применяй матрицу трансформации.

dikiy ★★☆☆☆
()

То, что ты хочешь, называется billboard. Можно реализовать вычисление его координат в вертексном шейдере, теоретически должно быть быстрее, чем программно: http://www.gamedev.ru/terms/Billboard

kostik1
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.