Научная статья на тему 'АНАЛИЗ ПОСТРОЕНИЯ ПОЛИГОНАЛЬНОЙ СЕТКИ ДЛЯ ВИЗУАЛИЗАЦИИ ВОДНОЙ ПОВЕРХНОСТИ В РЕАЛЬНОМ ВРЕМЕНИ'

АНАЛИЗ ПОСТРОЕНИЯ ПОЛИГОНАЛЬНОЙ СЕТКИ ДЛЯ ВИЗУАЛИЗАЦИИ ВОДНОЙ ПОВЕРХНОСТИ В РЕАЛЬНОМ ВРЕМЕНИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
30
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОЛИГОНАЛЬНАЯ СЕТКА / РЕЖИМ ОТРИСОВКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гуртовцев А.В.

В статье рассматривается подход к созданию полигональной сети водной поверхности. Основные метод отрисовки: GL_TRIANGLE_STRIP. Современные технологии позволяют получить достаточно высокое качество изображения. Разработка производительных кросс-платформенных приложений, позволяющих осуществлять реалистичное моделирование полигональных сеток, является актуальной задачей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF THE CONSTRUCTION OF THE POLYGONAL MESH FOR THE VISUALIZATION OF THE WATER SURFACE IN REAL TIME

The approach to the creation of a polygonal mesh of a water surface is considered in the article. The main drawing method is GL_TRIANGLE_STRIP. Modern technology allows you to get a sufficiently high quality image. The development of productive cross-platform applications that allow realistic modeling of polygonal meshes is an urgent task.

Текст научной работы на тему «АНАЛИЗ ПОСТРОЕНИЯ ПОЛИГОНАЛЬНОЙ СЕТКИ ДЛЯ ВИЗУАЛИЗАЦИИ ВОДНОЙ ПОВЕРХНОСТИ В РЕАЛЬНОМ ВРЕМЕНИ»

УДК 004.021

Гуртовцев А.В. магистрант 2 курса факультет «Информационные системы и технологии» Поволжский государственный университет телекоммуникаций и информатики научный руководитель: Куляс О.Л., к.техн.н.

доцент Россия, г. Самара

АНАЛИЗ ПОСТРОЕНИЯ ПОЛИГОНАЛЬНОЙ СЕТКИ ДЛЯ

ВИЗУАЛИЗАЦИИ ВОДНОЙ ПОВЕРХНОСТИ В РЕАЛЬНОМ

ВРЕМЕНИ

Аннотация:

В статье рассматривается подход к созданию полигональной сети водной поверхности. Основные метод отрисовки: GL TRIANGLE STRIP. Современные технологии позволяют получить достаточно высокое качество изображения. Разработка производительных кросс-платформенных приложений, позволяющих осуществлять реалистичное моделирование полигональных сеток, является актуальной задачей.

Ключевые слова: WebGL, полигональная сетка, режим отрисовки,

VBO.

Gurtovtsev A. undergraduate

2nd year, department of Information system and technologies Volga state university of telecommunications and informatics

Russia, Samara Supervisor: Kulyas O. candidate of technical sciences, docent

Russia, Samara

ANALYSIS OF THE CONSTRUCTION OF THE POLYGONAL MESH FOR THE VISUALIZATION OF THE WATER SURFACE IN

REAL TIME

Annotation:

The approach to the creation of a polygonal mesh of a water surface is considered in the article. The main drawing method is GL_TRIANGLE_STRIP. Modern technology allows you to get a sufficiently high quality image. The development of productive cross-platform applications that allow realistic modeling of polygonal meshes is an urgent task.

Key words: WebGL, polygon mesh, rendering mode, VBO.

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

позволяет создавать на языке программирования интерактивную 3D-графику, работающую на всех современных браузерах и устройствах. Так как в этой библиотеке используется поддержка низкоуровневых инструментов и средств, то это позволяет напрямую работать с видеокартой, не прибегая к серьезной нагрузке CPU.

При визуализации водной поверхности, самая медленная операция -это вывод полигональной сетки.

Полигональная сетка (mesh) представляет собой набор вершин (и возможно индексов), которые описывают геометрию для визуализации. Вершины хранятся либо в оперативной памяти видео устройства в виде объектов буфера вершин (VBO) или в оперативной памяти в виде массива вершин [1].

Поэтому имеет смысл оптимизировать вывод сетки для вершинного шейдера. Существует множество топологий проекционных сеток. Имеет смысл описать наиболее оптимальный алгоритм с точки зрения производительности с учетом используемых библиотек, языка и средств.

Пусть полигональная сеть лежит в плоскости xOz, а высота вычисляется как некоторая функция от переменных X и Z. То есть y = f(x, z). В узлах данной сетки будут находиться вершины. Для начала необходимо пронумеровать вершины. Для удобства это можно сделать, нумеруя вершины подряд (слева направо, сверху вниз). Затем нужно правильно разбить сетку на полигоны (треугольники). Это нужно делать за один проход, используя лишь одну функцию для отрисовки элементов. Самым оптимальным способом здесь будет использование режима отрисовки GL_TRIANGLE_STRIP, который содержится в библиотеке WebGL. Этот режим позволяет рисовать, используя полоски треугольников. Достаточно указывать вершины смежных треугольников и правильно поместить в буфер. Важно соблюдать правильную нумерацию вершин и обход по часовой стрелке (рис. 1).

О—о—о—о—о

ммд

0—0 О Ф Ф

Рис 1 - Порядок обхода вершин при генерации проекционной сетки модели водной поверхности

Для того, чтобы не нарушать ориентацию порядка обхода вершин и при этом добиться «склейки» лент из треугольников между собой достаточно продублировать последнюю вершину каждой строки и поместить

ее в буфер несколько раз, добавив вырожденный треугольник. Таким образом, мы без труда сможем продолжать обход вершин в привычном порядке (рис. 2).

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

Таким образом при таком подходе полигональная сеть строится с меньшими затратами, чем, если бы был использован другой режим отрисовки с другой ориентацией нумерации вершин.

Использованные источники: 1. LibGdx [Электронный ресурс] / Java framework для разработки игр -Режим доступа: http://www.libgdx.ru/2013/11/meshes.html, свободный. - Загл. с экрана.

УДК 004.021

Гуртовцев А.В. магистрант 2 курса факультет «Информационные системы и технологии» Поволжский государственный университет телекоммуникаций и информатики научный руководитель: Куляс О.Л., к.техн.н.

доцент Россия, г. Самара ФИЗИЧЕСКИЕ ПОДХОДЫ К МОДЕЛИРОВАНИЮ ВОДНОЙ

ПОВЕРХНОСТИ В РЕАЛЬНОМ ВРЕМЕНИ Аннотация:

В статье рассматриваются физические подходы к созданию моделей водных поверхностей. Основные методы: Лагранжевы, Эйлеровские, SPH. Современные технологии позволяют получить достаточно высокое качество изображения. Разработка производительных кросс-платформенных приложений, позволяющих осуществлять реалистичную

i Надоели баннеры? Вы всегда можете отключить рекламу.