MGML


Библиотека предназначена для решения в основном пространственных задач. Для таких областей, как графика, физическое моделирование библиотека подходит оптимально.

MGML это шаблонная библиотека на С++, уникальность которой заключена в сочетании удобства, скорости работы и общности кода. Такое сочетание достигается при помощи специального метода метапрограммирования на основе шаблонов С++.

MGML обладает следующими преимуществами:

  1. Автоматическая поддерка SSE операций для 4D векторов и матриц. Может быть отключена коментарием всего одной директивы #include.
  2. Скорость. Библиотека разработана для трассировки лучей, поэтому оптимизирована в критичных для этой задачи местах.
  3. Возможность использования с CUDA.
  4. Параметризованные типы. Возможность работать с векторами и матрицами произвольной размерности.

Библиотека имеет один настраиваемый параметр. Макрос DISCARD_FOURTH_DIMENTION == 1 позволяет работать с 4D векторами как с 3D, избегая лишних операций при отключенной SSE оптимизации(важно для приложений с CUDA где SSE недопустимо).

Следует отметить, что этот макрос проверяется всего-лишь в одной строчке кода. Директива #if не используется для переключения реализаций, как можно было бы подумать при тривиальной реализации.

enum { k = (DISCARD_FOURTH_DIMENTION && n==4) ? 3:n};

скачать

MGML 3.0

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_EXAMPLE_19_June_2009.zip

В версии 3.0 возвращены члены данных .x .y и .z заместо функций .x() .y() и .z(). Версия 3.0 более не компилируется под CUDA. Это сделано намеренно т.к. для CUDA нужен как можно более простой код. Компилятор nvcc глючный. Писать переносимый код нужно на ином уровне. Можно использовать typedef VECTOR<3, float> float3; для компиляции кода как на GPU так и на CPU. Версия 3.0 рассчитана именно на это.

MGML 2.1 (работает с CUDA 2.1)

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_MATH_feb2008.zip

MGML 2.0

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_MATH_EXAMPLE_17_nov_2008.zip

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_MATH_17_February_2008.zip

MGML 1.0

последнее обновление:

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_MATH_06_February_2008.zip

старые версии:

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_MATH_feb2008.zip 

http://ray-tracing.ru/upload/free/MGML_MATH/MGML_MATH_30Jan2008.zip

 

 



Лицензия
Документация
Licence


<< Вернуться назад

Статьи и обзоры

Поиск пересечений

Обратная трассировка лучей

Быстрая трассировка лучей

Индустриальная основа

Фотореалистичная визуализация

GPU ray tracing

Трассировка лучей в кино

Трассировка лучей в играх

Трассировка лучей в торговом бизнесе

Наши разработки

MGML

RTE

Публикации

Загрузить

Скриншоты и видео

Программы

ССЫЛКИ

© Copyright 2007 Владимир Фролов, Александр Фролов

При поддержке Лаборатории компьтерной графики и мультимедия ф-та ВМК МГУ
Создание сайта: Александр Фролов