ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 December 2024

Using toroidal copy, for incremental tecture update

The article was published in issue no. № 4, 2009
Abstract:In article improvement of copying of a structure in video memory is considered, with which help its effective step-by-step updatings.
Аннотация:В статье рассматривается улучшение копирования текстуры в видеопамять, при помощи которого осуществляются ее эффективные пошаговые обновления.
Author: (dimshust1985@yandex.ru) -
Keywords: terrain, render, toroidal update
Page views: 12269
Print version
Full issue in PDF (4.85Mb)

Font size:       Font:

Подпись:  
Рис. 1. Перемещение по матрице высотВ алгоритмах визуализации рельефа местности (например, алгоритм вложенных регулярных сеток [1, 2]) используется технология изменения триангулированной сетки путем выборки из текстуры высот на вершинном процессоре видеокарты. Компания Nvidia такую технологию называет VTF [3]. Обычно в видеопамять нельзя поместить всю текстуру с высотами, ее сначала загружают с жесткого диска в кэш в оперативной памяти, и по мере продвижения наблюдателя по ландшафту происходят пошаговые обновления текстуры из этого кэша (рис. 1). При помощи тороидального копирования можно значительно уменьшить объем копируемой памяти из кэша, в результате повысится скорость пошаговых обновлений.

Текстурная адресация

Основной принцип тороидального копирования основан на использовании свойств текстурной адресации на графическом аппаратном обеспечении.

Рассмотрим подробнее принципы текстурной адресации. Предположим, имеется вершинный буфер размером n´n точек, каждой его вершине (v) с координатами {x, y} задаются свои текстурные координаты {u, v} по формулам

Подпись:  
Рис. 2. Текстурная адресация и                                                             (1)

.                                                                (2)

В свою очередь, элементы текстуры хранятся в виде матрицы и распределены по интервалам вдоль ширины и высоты, длина интервала по оси x () и оси y () определяется как , , где w, h – ширина и высота текстуры соответственно. Текстурный элемент с координатами ,  будет принадлежать вершине, если  и   (рис. 2).

Подпись:  
Рис. 3. Режим повторения текстуры Если текстурные координаты выходят за пределы [0,…,1), текстура будет накладываться в зависимости от режима намотки. Одним из таких режимов является повторение, то есть когда текстурные координаты выходят за данный диапазон, текстура начинает повторяться. Например, если текстурные координаты вершины равны {1.0, 0.75}, то вершине будет присвоен текстурный элемент, находящийся в интервалах {[0, 0.25), [0.75, 1.0)]} (рис. 3).

Тороидальное копирование

Рассмотрим, как с помощью текстурной адресации происходит тороидальное копирование. Предположим, что осуществляется перемещение по матрице высот в оперативной памяти (рис. 1). Будем считать, что положение 1 на рисунке 4 является начальным, тогда текстурные координаты u и v вложенной сетки рассчитываются по формулам (1) и (2), а текстура из оперативной памяти была скопирована полностью (рис. 4).

Подпись:  
Рис. 4. Наложение текстуры до тороидального
копированияПосле смещения позиции наблюдателя необходимо обновить текстуру вложенной сетки, но, как видно из рисунка 5, необязательно обновлять все данные, достаточно скопировать только один столбец и строку. Предположим, что текстура имеет некоторую позицию для копирования «в себя», xc=0 и yc=0. Копируем столбец, который приходит с правой стороны, влево (в позицию xc=0, yc=0), а строку, пришедшую снизу, копируем наверх (в позицию xc=0, yc=0), при этом столбец циклически сдвигается вниз, а строка вверх, после чего меняется позиция копирования текстуры по формулам:

,                                                (3)

.                                                  (4)

Изменим на графическом процессоре текстурные координаты триангулированной сетки по формулам: u=u+lx, v=v+ly. После чего текстура на сетке отобразится со сдвигом (рис. 6).

Подпись:  
Рис. 5. Тороидальное копирование

Соответственно, при сдвиге еще на один шаг в этом же направлении новые столбец и строка скопируются на позицию {1, 1} и циклически сдвинутся на 2 позиции, когда позиция xc=wt, по формуле (3) она обнулится, то же произойдет и с yc=wt, то есть это копирование циклически будет повторяться бесконечно.

В данной статье были рассмотрены основные принципы тороидального копирования в алгоритмах моделирования рельефа местности с помощью вложенных регулярных сеток. В приведенных примерах были матрицы малых размеров, но на практике используют матрицы с n=255 и выше. Отсюда можно рассчитать, что при копировании матрицы высот в текстуру полностью будет перемещено n2=65025 элементов, а с помощью тороидального копирования n×2=65025 элементов, что в 127,5 раза меньше.

Литература

1.   Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids Frank Losasso Hugues Hoppe. URL: http://re­search.microsoft.com/en-us/um/people/hoppe/geomclipmap. pdf (дата обращения: 19.07.2009).

2.   GPU based clipmaps Implementation of Geometry Clipmaps for terrain with non-planar basis Anton Fruhstuck. URL: http://www.cg.tuwien.ac.at/research/publications/2008/fruehstueck-2008-gpu/fruehstueck-2008-gpu-paper.pdf (дата обращения: 19.07.2009).

3.   Arul Asirvatham and Hugues Hoppe. Terrain rendering using GPU-based geometry clipmaps. In M. Pharr and R. Fernando, editors. URL: http://research.microsoft.com/en-us/um/people/hop­pe/gpugcm.pdf (дата обращения: 19.07.2009).

4.   Interactive Terrain Rendering: Towards Realism with Procedural Models and Graphics Hardware Dipl.–Inf. Carsten Dachsbacher Erlangen–2006. URL: http://www.vis.uni-stutt­gart.de/~dachsbcn/publications.html (дата обращения: 19.07. 2009).

5.   URL: http://www.nvidia.com/page/technologies.html (дата обращения: 19.07.2009).


Permanent link:
http://swsys.ru/index.php?id=2390&lang=en&page=article
Print version
Full issue in PDF (4.85Mb)
The article was published in issue no. № 4, 2009

Perhaps, you might be interested in the following articles of similar topics: