本文档提供了有关两个不同软件项目的信息:jclasslib 字节码编辑器(用于可视化和编辑 Java 类文件和字节码的工具)和 Mitsuba 3(用于正向和反向光传输模拟的面向研究的渲染系统)。两者都提供详细的文档、安装说明和使用示例。
jclasslib 字节码编辑器
下载
安装程序可以从发布部分下载,在 macOS 上,您可以通过 HomeBrew 安装它
目的
jclasslib 字节码编辑器是一个工具,可以可视化已编译的 Java 类文件和所包含的字节码的各个方面。
类文件的许多方面都可以在 UI 中进行编辑。
此外,它还包含一个库,使开发人员能够读写 Java 类文件和字节码。
编辑
所有常量池条目都可以编辑。引用的常量池条目可以直接从上下文中编辑
属性和常量池条目的“编辑”按钮显示的菜单。
可以从上下文菜单编辑字节码指令:
用户界面
通过在主菜单中选择“文件->深色模式”可以永久启用深色模式。
有多种本地化版本可供使用,并且可以在 UI 中进行选择:
IntelliJ IDEA 插件
IntelliJ IDEA 有一个插件可以通过插件管理器安装。 “查看菜单”中的操作
当在编辑器中打开 Java、Groovy 或 Kotlin 文件时可以调用。
字节码将显示在右侧的“jclasslib”工具窗口中。可以打开多个类文件
同时。
执照
jclasslib 字节码编辑器是根据 GPL 版本 2.0 发布的。
例子:
三叶渲染器 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}