|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Astafiev 2:5000/228.16 02 Feb 2002 06:34:00 To : All Subject : 3D Mesh re-coding -------------------------------------------------------------------------------- Есть произвольный 3D обьект (модель), состоящий из произвольного количества 3D треугольников, (и только треугольников). Выглядит обьект как список вершин float x,y,z; и второй список - int-индексы, как соединять вершины в треугольники. int v0, v1, v2; Hазовем их VertexList и TriangleList. Или вершины и треугольники. Hекое устройство "N" способно загружать в кэш не более K вершин (VertexList) по определенному индексу в кэше I. Для простоты предположим, что не более 16 вершин. Это же устройство читает список треугольников по одному и соединяет верщины из кэша в треугольники. Что вы думаете, каков должен быть алгоритм (или класс алгоритма), который переупорядочивает списки вершин и индексов треугольников так, чтобы загрузка кэша была наиболее оптимальной, и списки были линейными. Линейность списков - важное условие. Это значит, что данные из них будут читаться только вперед. Список вершин - блоками по 1...16 вершин за раз, и список треугольников по одному треугольнику. --- Alex Raider / Flash inc. * Origin: Alex Raider/ Flash inc. 1992-2002 (2:5000/228.16) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/174643c5b7fd5.html, оценка из 5, голосов 10
|