В этом документе представлена исчерпывающая информация о alf.io, системе бронирования билетов с открытым исходным кодом, и Mitsuba 3, исследовательско-ориентированной системе рендеринга. В нем подробно описаны предварительные требования, инструкции по установке, примеры использования и рекомендации по вкладу для обоих проектов, а также информация об их соответствующих функциях и состоянии разработки. Ключевые аспекты, которые рассматриваются, включают процессы сборки, интеграцию Docker и управление зависимостями.
alf.io
Система бронирования билетов с открытым исходным кодом.
Alf.io ([ˈalfjo]) — это бесплатная система управления посещаемостью мероприятий с открытым исходным кодом, разработанная для организаторов мероприятий, которые заботятся о конфиденциальности, безопасности и справедливой ценовой политике для своих клиентов.
Предварительные условия
Для сборки и запуска alf.io у вас должна быть установлена Java версии 17 (например, Oracle, OpenJDK или любой другой дистрибутив). Обратите внимание, что для процесса сборки требуется JDK.
Postgresql версии 10 или новее.
Кроме того, пользователь базы данных, который создает и использует таблицы, не должен быть «СУПЕРПОЛЬЗОВАТЕЛЕМ», иначе проверки политики безопасности строк не будут применяться.
Примечание
Поскольку работа над Alf.io v2 уже началась, эта ветка может содержать нестабильный и непроверенный код.
Если вы хотите собрать и развернуть alf.io самостоятельно, начните с выпущенной версии.
Пружинные профили
Существуют следующие пружинные профили
Запустить в режиме разработки
Gradle Сборка
Эта сборка включает копию оболочки Gradle. Вам не обязательно иметь установленный Gradle в вашей системе для сборки.
проект. Просто выполните обертку вместе с соответствующей задачей, например
Работа с несколькими профилями
Вы должны указать свойство проекта в командной строке, например
Локальная задача «bootRun» имеет следующие предварительные условия:
После запуска alf.io создаст все необходимые таблицы в базе данных и будет доступен по адресу http://localhost:8080/admin. Вы можете войти в систему, используя имя пользователя администратора по умолчанию и пароль, который был напечатан на консоли.
Вы можете получить список всех поддерживаемых задач Gradle, запустив
Вы можете настроить дополнительные свойства системы (если они вам нужны), создав следующий файл и поместив в него по одному свойству в каждой строке:
Имейте в виду, что, поскольку этот файл может содержать конфиденциальную информацию (например, закрытый ключ API Карт Google), он будет автоматически игнорироваться git.
Для отладки
Добавьте новую строку с: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 в custom.jvmargs.
Вклад в alf.io
Импорт проекта Gradle в Intellij и Eclipse работает.
Примечания:
Поскольку TestContainers ожидает сокет Docker для управления контейнерами, вам необходимо будет сделать следующее (подробности см. в исходной проблеме):
Определите 2 окружения. переменная:
И запустите в другой консоли:
Следует отметить:
Проверьте зависимости для обновления
./gradlew dependencyUpdates
Запуск Docker-контейнеров
Образы контейнеров доступны по адресу https://hub.docker.com/r/alfio/alf.io/tags.
alf.io также можно запустить с помощью Docker Compose (режим разработки):
Запуск alf.io в рабочей среде с использованием Docker Compose официально не поддерживается.
Однако, если вы решили это сделать, то вам необходимо внести пару изменений:
Тестирование приложения alf.io
Создайте новую версию образа докера alfio/alf.io.
Сборка приложения и Dockerfile
Альтернативно вы можете использовать Docker (экспериментальный):
Обратите внимание, что на данный момент приведенная выше команда выполняет сборку без запуска автоматических тестов.
Используйте его на свой страх и риск.
Создайте образ докера:
О включенном AppleWWDRCAG4.cer
Сертификат по адресу src/main/resources/alfio/certificates/AppleWWDRCAG4.cer был импортирован для функциональности https://github.com/ryantenney/passkit4j#usage.
Срок его действия истечет 12 октября 2030 г. (ГГГГ-ММ-ДД — по состоянию на https://www.apple.com/certificateauthority/).
Авторы
Авторы кода
Этот проект существует благодаря всем людям, которые вносят свой вклад.
Авторы перевода (POEditor)
Большое спасибо также нашим переводчикам, которые помогают нам в POEditor:
(мы показываем полное имя/профиль только в том случае, если получили на это явное согласие)
переводы завершены, но еще не интегрированы (WIP)
Спонсоры
Этот проект спонсируется:
Финансовые вкладчики
Станьте финансовым спонсором и помогите нам поддержать наше сообщество. [Способствовать]
Частные лица
Организации
Поддержите этот проект своей организацией. Здесь появится ваш логотип со ссылкой на ваш сайт. [Способствовать]
Мицуба Рендерер 3
Документация | Обучающие видео | Линукс | MacOS | Окна | ПиПИ |
---|---|---|---|---|---|
️
Предупреждение
️
В настоящее время в мире ведется большой объем недокументированной и нестабильной работы.
master
ветка. Мы настоятельно рекомендуем вам воспользоваться нашим
последний выпуск
до дальнейшего уведомления.
Если вы уже хотите опробовать предстоящие изменения, ознакомьтесь с
это руководство по портированию.
Он должен охватывать большинство новых функций и предстоящих кардинальных изменений.
Введение
Mitsuba 3 — это исследовательская система рендеринга прямого и обратного света.
транспортное моделирование, разработанное в EPFL в Швейцарии.
Он состоит из базовой библиотеки и набора плагинов, реализующих функциональность.
начиная от материалов и источников света и заканчивая полными алгоритмами рендеринга.
Mitsuba 3 является перенацеливаемой : это означает, что базовые реализации и
Структуры данных могут трансформироваться для выполнения различных задач. Для
Например, один и тот же код может моделировать скалярный (классический по одному лучу) транспорт RGB
или дифференциальный спектральный транспорт на графическом процессоре. Все это основано на
Dr.Jit — специализированный JIT -компилятор, разработанный специально для этого проекта.
Основные характеристики
Кроссплатформенность : Mitsuba 3 была протестирована на Linux ( x86_64
), macOS.
( aarch64
, x8664
) и Windows ( x8664
).
Высокая производительность : базовый компилятор Dr.Jit объединяет код рендеринга.
в ядра, которые достигают высочайшей производительности, используя
серверная часть LLVM, ориентированная на ЦП, и серверная часть CUDA/OptiX
ориентированы на графические процессоры NVIDIA с аппаратным ускорением трассировки лучей.
Python прежде всего : Mitsuba 3 глубоко интегрирован с Python. Материалы,
текстуры и даже полные алгоритмы рендеринга могут быть разработаны на Python,
который система JIT-компилирует (и, при необходимости, дифференцирует) на лету.
Это позволяет проводить эксперименты, необходимые для исследований в области компьютерной графики и
другие дисциплины.
Дифференциация : Mitsuba 3 — это дифференцируемый рендерер, то есть он
может вычислять производные всей симуляции относительно входных данных
такие параметры, как поза камеры, геометрия, BSDF, текстуры и объемы. Это
реализует последние алгоритмы дифференцируемого рендеринга, разработанные в EPFL.
Спектральный и поляризационный : Mitsuba 3 можно использовать как монохроматический.
рендерер, рендерер на основе RGB или спектральный рендерер. Каждый вариант может
при необходимости, при необходимости, учтите эффекты поляризации.
Обучающие видеоролики, документация
Мы записали несколько видеороликов на YouTube, которые дают краткое представление.
Мицуба 3 и Доктор Джит. Помимо этого вы можете найти полные блокноты Juypter.
охватывающий различные приложения, практические руководства и справочную документацию.
на прочтенной документации.
Установка
Мы предоставляем предварительно скомпилированные двоичные колеса через PyPI. Установить Mitsuba таким способом так же просто, как запустить
pip установить Мицубу
в командной строке. Пакет Python по умолчанию включает тринадцать вариантов:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Первые два выполняют классическое моделирование по одному лучу с использованием RGB
или спектральное представление цвета, тогда как последние два могут использоваться для обратного
рендеринг на CPU или GPU. Чтобы получить доступ к дополнительным вариантам, вам необходимо
скомпилируйте собственную версию Dr.Jit с помощью CMake. Пожалуйста, ознакомьтесь с
документация
для получения подробной информации об этом.
Требования
Python >= 3.8
(необязательно) Для вычислений на графическом процессоре: Nvidia driver >= 495.89
(необязательно) Для векторизованных/параллельных вычислений на ЦП: LLVM >= 11.1
Использование
Вот простой пример «Hello World», который показывает, насколько просто визуализировать
сцена с использованием Mitsuba 3 из Python:
# Импортируйте библиотеку, используя псевдоним "mi"import mitsuba as mi# Установите вариант renderermi.setvariant('scalarrgb')# Загрузите сценуscene = mi.loaddict(mi.cornellbox())# Отрисуйте сценуimg = mi. render(scene)# Запишите визуализированное изображение в файл EXRmi.Bitmap(img).write('cbox.exr')
Учебные пособия и блокноты с примерами, охватывающие различные приложения, можно найти.
в документации.
О
Этот проект создал Венцель Якоб.
Значительные функции и/или улучшения кода были внесены
Себастьян Шпейерер,
Николя Руссель,
Мерлин Нимье-Дэвид,
Делио Вичини,
Тициан Зельтнер,
Батист Николе,
Мигель Креспо,
Винсент Лерой и
Цзыи Чжан.
При использовании Mitsuba 3 в академических проектах указывайте:
@software{Mitsuba3,title = {рендерер Mitsuba 3},author = {Венцель Якоб и Себастьян Шпейерер и Николя Руссель и Мерлин Нимьер-Давид и Делио Вичини и Тициан Зельтнер и Батист Николе и Мигель Креспо и Винсент Лерой и Зийи Чжан},note = {https://mitsuba-renderer.org},версия = {3.1.1}, год = 2022}