[C++] Linear-Speed Vertex Cache Optimisation
От: rusted Беларусь  
Дата: 25.08.08 16:24
Оценка: 8 (3)
Реализация алгоритма из этой статьи: http://home.comcast.net/~tom_forsyth/papers/fast_vert_cache_opt.html

Пример использования:
#include "acmr.h"
#include "ls_vcache_opt.h"

{
    std::vector<unsigned short> pos_indices;
    std::vector<my_vertex> vertices;

    //...

    float acmr_before = ls_vcache_opt::acmr( &pos_indices[0], pos_indices.size()/3, 16 );
    ls_vcache_opt::optimize( &pos_indices[0], pos_indices.size()/3, vertices.size() );
    unsigned short num_verts = ls_vcache_opt::reorder_vertices( &pos_indices[0], pos_indices.size()/3, vertices );
    vertices.resize( num_verts );
    float acmr_after = ls_vcache_opt::acmr( &pos_indices[0], pos_indices.size()/3, 16 );
}


код:
http://files.rsdn.ru/38429/ls_vcache_opt.zip
vertex cache optimisation
Re: [C++] Linear-Speed Vertex Cache Optimisation
От: nen777w  
Дата: 03.09.08 21:38
Оценка:
Можно в двух словах. Что это? Где нужно? Где применяется?
Re[2]: [C++] Linear-Speed Vertex Cache Optimisation
От: Plague Россия 177230800
Дата: 04.09.08 08:49
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Можно в двух словах. Что это? Где нужно? Где применяется?

Думаю, чаще всего в игроделаньи. Но можно и во всяких CAD-ах применять с 3Д визуализацией.

Рендеринг 3Д моделей (т.е. списков треугольников) происходит на современных видеокартах, на которых стоят специализированные процессоры с кеш памятью. При рендеринге желательно упорядочить так список треугольников, чтоб использование кеша процессора было максимально эффективным. Что варьируется от размеров кеша и способов его организации.

Тут представлен алгоритм универсального упорядочивания треугольников, что позволит на большиенстве видеокарт отрисовывать 3Д модели максимально эффективно.
... << RSDN@Home 1.2.0 alpha rev. 787>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.