本文档提供了有关开源订票系统 alf.io 和面向研究的渲染系统 Mitsuba 3 的全面信息。它详细介绍了两个项目的先决条件、安装说明、使用示例和贡献指南,以及有关其各自功能和开发状态的信息。涵盖的关键方面包括构建流程、Docker 集成和依赖关系管理。
阿尔夫io
开源门票预订系统。
Alf.io ([ˈalfjo]) 是一个免费开源的活动出席管理系统,专为关心客户隐私、安全和公平定价政策的活动组织者而开发。
先决条件
您应该安装 Java 版本 17(例如 Oracle、OpenJDK 或任何其他发行版)来构建和运行 alf.io。请注意,构建过程需要 JDK。
Postgresql 版本 10 或更高版本。
此外,创建和使用表的数据库用户不应该是“SUPERUSER”,否则将不会应用行安全策略检查。
笔记
由于 Alf.io v2 的工作已经开始,该分支可能包含不稳定且未经测试的代码。
如果您想自行构建和部署 alf.io,请从已发布版本开始。
弹簧型材
弹簧型材有以下几种
在开发模式下运行
摇篮构建
此构建包含 Gradle 包装器的副本。您不必在系统上安装 Gradle 即可进行构建
该项目。例如,只需执行包装器以及适当的任务
使用多个配置文件运行
您必须在命令行指定项目属性,例如
本地“bootRun”任务具有以下先决条件:
启动后,alf.io 将在数据库中创建所有必需的表,并可通过 http://localhost:8080/admin 访问。您可以使用默认用户名 admin 和控制台上打印的密码登录。
您可以通过运行获取所有支持的 Gradle 任务的列表
您可以通过创建以下文件并在其中每行放入一个属性来配置其他系统属性(如果需要):
请注意,由于此文件可能包含敏感信息(例如 Google 地图私有 API 密钥),因此 git 将自动忽略它。
用于调试
在 custom.jvmargs 中添加新行:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
为 alf.io 做出贡献
将 Gradle 项目导入 Intellij 和 Eclipse 都可以。
笔记:
由于 TestContainers 期望使用 docker 套接字来管理容器,因此您需要执行以下操作(有关详细信息,请参阅原始问题):
定义 2 环境。多变的:
并在另一个控制台中运行:
需要注意的是:
检查要更新的依赖项
./gradlew 依赖更新
运行 Docker 容器
容器镜像可在 https://hub.docker.com/r/alfio/alf.io/tags 上获取。
alf.io 也可以使用 Docker Compose 运行(开发模式):
官方不支持使用 Docker compose 在生产环境中运行 alf.io。
但是,如果您决定这样做,那么您需要进行一些更改:
测试 alf.io 应用程序
生成新版本的 alfio/alf.io docker 镜像
构建应用程序和 Dockerfile
或者,您可以使用 Docker(实验性):
请注意,目前上面的命令执行构建而不运行自动化测试。
使用它的风险由您自行承担。
创建泊坞窗图像:
关于包含的 AppleWWDRCAG4.cer
src/main/resources/alfio/certificates/AppleWWDRCAG4.cer 处的证书已导入 https://github.com/ryantenney/passkit4j#usage 功能。
该证书将于 2030 年 10 月 12 日(YYYY-MM-DD - 截至 https://www.apple.com/certificateauthority/)到期。
贡献者
代码贡献者
这个项目的存在要感谢所有做出贡献的人。
翻译贡献者 (POEditor)
还要向我们的翻译人员表示深深的“感谢”,他们在 POEditor 上为我们提供了帮助:
(只有在获得明确同意的情况下,我们才会显示完整的姓名/个人资料)
翻译已完成但尚未整合(WIP)
赞助商
该项目由以下机构赞助:
财务贡献者
成为财务贡献者并帮助我们维持我们的社区。 [贡献]
个人
组织机构
与您的组织一起支持该项目。您的徽标将显示在此处,并带有指向您网站的链接。 [贡献]
三叶渲染器 3
文档 | 教程视频 | Linux | 苹果系统 | 视窗 | 皮伊 |
---|---|---|---|---|---|
️
警告
️
目前,大量无证且不稳定的工作正在进行
master
分支。我们强烈建议您使用我们的
最新版本
直至另行通知。
如果您已经想尝试即将发生的更改,请查看
本移植指南。
它应该涵盖大部分新功能和即将到来的重大变化。
介绍
Mitsuba 3 是一款面向研究的前向光和逆向光渲染系统
瑞士洛桑联邦理工学院 (EPFL) 开发的交通模拟。
它由一个核心库和一组实现功能的插件组成
从材质和光源到完整的渲染算法。
Mitsuba 3 是可重定向的:这意味着底层实现和
数据结构可以转换以完成各种不同的任务。为了
例如,相同的代码可以模拟标量(经典的一次一束)RGB 传输
或 GPU 上的差分光谱传输。这一切都建立在
Dr.Jit,专门为此项目开发的专用即时(JIT) 编译器。
主要特点
跨平台:Mitsuba 3 已在 Linux ( x86_64
)、macOS 上进行测试
( aarch64
、 x8664
)和 Windows ( x8664
)。
高性能:底层Dr.Jit编译器融合渲染代码
进入内核,使用实现最先进的性能
针对 CPU 的 LLVM 后端和 CUDA/OptiX 后端
针对具有光线追踪硬件加速功能的 NVIDIA GPU。
Python优先:Mitsuba 3与Python深度集成。材料,
纹理,甚至完整的渲染算法都可以用Python开发,
系统即时编译(并可选择区分)。
这使得计算机图形学研究所需的实验成为可能
其他学科。
差异化:Mitsuba 3 是一个可微分渲染器,这意味着它
可以计算整个模拟相对于输入的导数
参数,例如相机姿态、几何形状、BSDF、纹理和体积。它
实现了 EPFL 最近开发的可微分渲染算法。
光谱和偏振:Mitsuba 3 可用作单色仪
渲染器、基于 RGB 的渲染器或光谱渲染器。每个变体都可以
如果需要的话,可以选择考虑极化的影响。
教程视频、文档
我们录制了几个 YouTube 视频,提供了温和的介绍
三叶 3 和 Dr.Jit。除此之外,您还可以找到完整的 Juypter 笔记本
涵盖各种应用程序、操作指南和参考文档
阅读文档。
安装
我们通过 PyPI 提供预编译的二进制轮。以这种方式安装三叶就像运行一样简单
pip安装三叶
在命令行上。 Python 包默认包含 13 个变体:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
前两个使用 RGB 执行经典的一次一条光线模拟
或光谱颜色表示,而后两者可用于反演
在 CPU 或 GPU 上渲染。要访问其他变体,您需要
使用 CMake 编译 Dr.Jit 的自定义版本。请参阅
文档
有关详细信息。
要求
Python >= 3.8
(可选)对于 GPU 上的计算: Nvidia driver >= 495.89
(可选)对于 CPU 上的矢量化/并行计算: LLVM >= 11.1
用法
这是一个简单的“Hello World”示例,展示了渲染一个
使用 Python 中的 Mitsuba 3 的场景:
# 使用别名“mi”导入库 import mitsuba as mi# 设置渲染器的变体mi.setvariant('scalarrgb')# 加载场景scene = mi.loaddict(mi.cornellbox())# 渲染场景img = mi. render(scene)# 将渲染图像写入EXR文件mi.Bitmap(img).write('cbox.exr')
可以找到涵盖各种应用程序的教程和示例笔记本
在文档中。
关于
该项目由 Wenzel Jakob 创建。
代码的重要功能和/或改进由以下人员贡献
塞巴斯蒂安·施派尔,
尼古拉斯·罗塞尔,
梅林·尼米尔-大卫,
德里奥·维西尼,
蒂齐安·泽尔特纳,
巴蒂斯特·尼科莱特,
米格尔·克雷斯波,
文森特·勒罗伊,和
张子怡.
在学术项目中使用 Mitsuba 3 时,请引用:
@software{Mitsuba3,标题 = {Mitsuba 3 渲染器},作者 = {Wenzel Jakob 和 Sébastien Speierer 和 Nicolas Roussel 和 Merlin Nimier-David 和 Delio Vicini 和 Tizian Zeltner 和 Baptiste Nicolet 和 Miguel Crespo 和 Vincent Leroy 和 Ziyi Zhu},注= {https://mitsuba-renderer.org},版本 = {3.1.1},年份 = 2022}