Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

OpenGL и много объектов   Найти похожие ветки 

 
Chuvak ©   (2005-11-26 00:23) [0]

Допустим я хочу нарисовать 100*100 кубиков...Делаю это в цикле, вызывая процедуру рисования DrawCube(x, y)...
Естественно при таком цикле производительность ужасно низкая...Есть ли ещё какие-то способы отрисовки большого кол-ва объектов?


 
XProger ©   (2005-11-26 00:39) [1]

1 кубик - 12 полигонов
100*100 кубиков - 120 000 полигонов

Берём эти кубики и пихаем в VBO!

P.S.
Неясно что с текстурами, цветом, светом и т.п. вещами...


 
Chuvak ©   (2005-11-26 01:07) [2]

XProger ©   (26.11.05 0:39) [1]
VBO

хм...что такое VBO?
Ведь как-то обрабатывают все объекты на карте...в некоторых играх их кол-во очень велико...Неужели всё в цикле тупым перебором?


 
Da Stranger ©   (2005-11-26 02:56) [3]

Вся фишка как раз в том, чтобы не рисовать такое огромное число объектов, а заменять их на 1 спрайт, например; или уменьшать качество объекта при удалении от него, или вообще убирать, когда камера повёрнута в другую сторону.
В современных стратегиях на один юнит приходится 150-500 полигонов когда далеко и 300- 500 когда близко. А 120 000 полигонов будет тормозить у всех!


 
XProger ©   (2005-11-26 05:15) [4]

Da Stranger, я рисую 1 млн. полигонов в кадре и ничё, свои 25 фпс получаю :)
Chuvak, тупой перебор включает в себя Frustum Culling, QuadTree (или OctTree), Face Culling? Если нет, то реализуй. Информацию по VBO и алгоритмах найдёшь в яндексе (привыкнуть пора).



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1151603913
Paull
2006-06-29 21:58
2006.08.13
Два вопроса по компонентам TListview, ViewStyle


3-1149236558
elena_pp
2006-06-02 12:22
2006.08.13
Помогите правльно организовать таблицы


2-1153587083
KaLLeKa
2006-07-22 20:51
2006.08.13
Как прокрутить текст в начало ?


15-1153159217
tesseract
2006-07-17 22:00
2006.08.13
в этот день


2-1153848827
fast2
2006-07-25 21:33
2006.08.13
Почему так?