本文檔概述了兩個不同的專案:gRPC/Spring(gRPC 的 Spring Boot 啟動器)和 Mitsuba 3(研究導向的渲染系統)。 gRPC/Spring 部分詳細介紹了其功能、使用說明和相容性資訊。 Mitsuba 3 部分涵蓋其安裝、使用、功能和貢獻者。這兩部分都包含程式碼範例和更多文件的連結。
調查 - gRPC/Spring
尊敬的gRPC/Spring用戶,為了增強gRPC/Spring的用戶體驗
grpc-ecosystem/grpc-spring,我們開發了這項調查作為一種手段
建立直接的溝通管道。非常感謝您的回饋。
gRPC Spring Boot 啟動器
自述文件:英語 | 中文
文檔:英文 | 中文
特徵
使用 @GrpcService 實現自動配置和運行 gRPC 伺服器
使用 @GrpcClient 自動建立和管理您的 grpc 通道和存根
支援其他 grpc-java 風格(例如
反應式 gRPC (RxJava),
grpc-kotlin,...)
支援 Spring-Security
支援Spring Cloud
支援 Spring Sleuth 作為分散式追蹤解決方案
(如果存在brave-instrumentation-grpc)
支援全域和自訂 gRPC 伺服器/客戶端攔截器
自動公制支援(基於千分尺/執行器)
也適用於(非陰影)grpc-netty
版本
最新版本是3.1.0.RELEASE,它是用spring-boot 3.2.4和spring-cloud 2023.0.0編譯的
但它也與多種其他版本相容。
所有版本及其各自庫版本的概述可以在我們的文件中找到。
注意:該項目也可以在沒有 Spring-Boot 的情況下使用,但這需要一些手動 bean 配置。
用法
gRPC 伺服器 + 用戶端
若要使用 Maven 新增依賴項,請使用下列命令:
使用 Gradle 新增相依性:
gRPC伺服器
若要使用 Maven 新增依賴項,請使用下列命令:
使用 Gradle 新增相依性:
使用 @GrpcService 註解您的伺服器介面實現
預設情況下,grpc 伺服器將監聽連接埠 9090。
設定
可以透過Spring的屬性機制來改變。伺服器使用grpc.server。前綴。
請參閱我們的文件以了解更多詳細資訊。
gRPC 用戶端
若要使用 Maven 新增依賴項,請使用下列命令:
使用 Gradle 新增相依性:
使用 @GrpcClient(serverName) 註解 grpc 用戶端存根的字段
不要與@Autowired 或@Inject 結合使用
注意:您可以對多個通道使用相同的 grpc 伺服器名稱,也可以使用不同的存根(即使使用不同的存根)
攔截器)。
然後你可以像這樣向你的伺服器發送查詢:
可以為每個客戶端單獨配置目標位址。
但在某些情況下,您可以僅依賴預設配置。
您可以透過 NameResolver.Factory beans 自訂預設 url 映射。如果您不配置該 bean,
然後將使用預設方案和名稱來猜測預設 uri(例如:dns:/
):
這些和其他
設定
可以透過Spring的屬性機制來改變。客戶端使用 grpc.client.(serverName)。前綴。
請參閱我們的文件以了解更多詳細資訊。
使用(非陰影)grpc-netty 運行
該庫支援 grpc-netty 和 grpc-netty-shaded。
後一種可能會防止與不相容的 grpc 版本發生衝突或需要不同版本的 netty 的庫之間發生衝突。
注意:如果類路徑中存在著色的 netty,則該庫將始終優先使用它而不是非著色的 grpc-netty。
您可以將它與 Maven 一起使用,如下所示:
使用 Gradle 時就像這樣:
範例專案
請在此閱讀有關我們範例項目的更多資訊。
故障排除
請參閱我們的文件尋求協助。
貢獻
始終歡迎您的貢獻!請參閱 CONTRIBUTING.md 以了解詳細指南。
例子:
三葉渲染器 3
文件
教學影片
Linux
蘋果系統
視窗
皮伊
警告
目前,大量無證且不穩定的工作正在進行
主分支。我們強烈建議您使用我們的
最新版本
直至另行通知。
如果您已經想嘗試即將發生的更改,請查看
本移植指引。
它應該涵蓋大部分新功能和即將到來的重大變化。
介紹
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 個變體:
標量_rgb
標量譜
標量光譜偏振
llvmadrgb
盧馬德莫諾
llvmadmono_偏振
亮度譜
llvmadspectral_偏振
庫達阿德格布
庫達莫諾
cudaadmono_極化
CUDA光譜
cudaadspectral_偏振
前兩個使用 RGB 執行經典的一次一光模擬
或光譜顏色表示,而後兩者可用於反演
在 CPU 或 GPU 上渲染。要存取其他變體,您需要
使用 CMake 編譯 Dr.Jit 的自訂版本。請參閱
文件
有關詳細資訊。
要求
Python >= 3.8
(可選)對於 GPU 上的計算:Nvidia 驅動程式 >= 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}