![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
10000 кубиков [Delphi, Windows]
Cash © (2006-01-07 07:50:00)Whatsup! Люди, знает кто нибудь быстрый (желательно единовременный)
метод вывода трехмерных кубиков.
Метод, что я придумал (36 вершин на кубик, а потом в один буфер и на экран с D3DPT_TRIANGLELIST) не дает вывести и 20 кубиков.
Без текстур. Буфер индексов в топку, этот метод сразу не приемлем.
NailMan (2006-01-07 15:44:00) [1]Вершин на кубик будет ровно 8, и 6 граней описано в индексном буфере. yf На самом деле все очень просто с индексными буферами, достаточно изучить SDK по функции DIP и понять как сие индексируется.
буфер вершин содержит список всех вершин, а индексный тройки индексов вершин образующих треугольник. Вот и все.
---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
Cash (2006-01-07 14:47:00) [2]NailMan © (07.01.06 13:26) [2]:
ФПС то впорядке, AV вылезал из за неправильного выделения длины буфера
вершин. Возьмем опять же 10000 кубиков, тобиш 360000 вершин,
а при создании буфера вершин я указал потолок в 320 с копейками тысяч
вершин.
Не, я знаю как с помощью буфера индексов снизить количество вершин на
кубик, но это не тот метод, что нужен. Поэтому в данных условиях буфер
индексов в топку.
NailMan (2006-01-07 13:26:00) [3]Почему не позволяет больше 20? фпс мал или какие-то ограничения видюхи?
По хорошему надо объединять кубики в буфер и выводить за один вызов DP на отрисовку около 1000 треугольников. В твоем случае это 30 кубиков(1080 фейсов, вершины сам посчитаешь). Карточки типа GF2/GF3/GF4 любят за вызов рисовать именно такое число примитивов - наиболее оптимально.
А вообще индексируемые примитивы рулят если ими уметь пользоваццо. Сильно экономит текстурку и скорость отрисовки.
---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13
Cash (2006-01-07 13:25:00) [4]Пардон, товарищи, разобрался.
(Пора отвыкать от привычки задавать простые вопросы) :)))