本文檔提供了有關開源訂票系統 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}