Всем здрасти! Проблема в следующем. Необходимо вывести большое количество сфер (40.000 и больше). Я для этого использую дисплейные списки. Сферы рисую quadric-объектом. При количестве сфер 20.000, картинка тормозит при поворотах и масштабировании. А если вместо сфер рисовать жирные точки то где-то при 50.000 начинает тормозить. Пользуюсь OpenGL, Linux KDE, Qt 3, C++. Меня интрисует: 1. Слышал вроде есть альтернатива дисплейным спискам, более быстрая. Немогу найти материал, дайте какие-нибудь ссылки если есть. Много ли придется переделывать применяя это что-то другое? 2. Может кто-нибудь подскажет другой способ рисования сфер. Заранее спасибо!
fastmod VBO. В принципе если всё поместится в видеопамять то скорость будет большой. 40.000 * ( 128 треугольников на сферу) * (3 вершины) * (3 координаты + 1 на цвет) * ( 4* байт ) = ~256 mb. Так что делай выводы. И сколько у тебя треугольников на сферу. И они все у тебя всегда рисуются? Можно посмотреть в сторону отбрасывания невидимой геометрии, а также уменьшения детализации при увеличении расстояния от точки наблюдения.
Дело в том что сферу рисую quadric'ом, а не треугольниками. А относительно VBO: в буфер можно занести координаты центров сфер (вершины), но как рисовать тогда сферы?
fastmod Это ещё зачем? А в чём проблема рисовать трианглами, ну или квадратами на худой конец (хотя это и не верно). Зачем использовать тормознутые фичи? В VBO надо заносить всю геометрию (вершины, индексы). А потом по шине гонять только диапазоны индексов. Можно ещё попробовать забить несколько сфер в буфер, а потом их отрисовывать, меняя только их положение, это сэкономит уйму видео памяти, но будет помедленнее. Это будет подобно тому как ты рисовал жирные точки, и тут можно менять степень детализации, в зависимости от расстояния точки наблюдения.