本文档提供了使用 Twitter API v2 示例代码和 Mitsuba 3 渲染器的综合指南。它包括各种编程语言(Java、Node.js、Python、R、Ruby)的设置说明、环境变量的详细信息以及故障排除提示。对于 Mitsuba 3,它提供安装指南、使用示例以及有关其主要功能和贡献者的信息。
Twitter API v2 示例代码
Twitter API v2 端点的示例代码。
各个 API 功能都有文件夹,您可以在其中找到多种编码语言(Java、Node.js、Python、R 和 Ruby)的使用示例。
先决条件
使用代码示例
为了运行此存储库中的示例,您将需要设置一些环境变量。您可以在开发者门户的仪表板中项目内的应用程序中找到您的凭据和不记名令牌。
对于 OAuth 1.0a 示例,您需要在终端中导出您的消费者密钥和机密。一定要更换
对于使用不记名令牌身份验证的示例,您将需要导出不记名令牌。一定要更换
特定于语言的要求
Java环境搭建
如果您使用 Homebrew,则可以使用以下命令安装 Java 运行时:
您还需要下载各个示例中引用的相关 JAR 文件,以便构建和运行代码。如果您使用 IDE,它可能会自动为您执行此操作。
JavaScript (Node.js) 环境搭建
您需要安装 Node.js 才能运行此代码。所有 Node.js 示例都使用 Needle 作为 HTTP 客户端,需要安装 npm。对于带有用户上下文请求的 OAuth,您需要安装 got 和 oauth-1.0a 软件包。
Python环境搭建
您需要安装 Python 3 才能运行此代码。 Python 示例使用 requests==2.24.0,它使用 requests-oauthlib==1.3.0。
(可选)通常建议不要全局安装所需的包,而是使用 venv 在本地项目子文件夹下安装:
您可以按如下方式安装这些软件包:
Ruby环境搭建
您需要安装 Ruby(推荐:>= 2.0.0)才能运行代码。 Ruby 示例使用tyhoeus 作为HTTP 客户端,需要安装gem。对于带有用户上下文请求的 OAuth,您还需要安装 oauth gem(见下文)。
其他资源
我们维护一个 Postman 集合,您可以使用它来练习各个 API 端点。
支持
对于与 API 和功能相关的一般问题,请使用我们开发者社区论坛的 v2 部分。
如果示例代码本身存在错误或问题,请在 GitHub 上创建新问题。
贡献
我们欢迎拉取请求,为这些代码示例添加有意义的补充,特别是对于此处尚未表示的语言。
我们认为,一个热情的社区很重要,我们要求您在与社区的所有互动中遵循 Twitter 的开源行为准则。
执照
版权所有 2021 Twitter, Inc.
根据 Apache 许可证 2.0 版获得许可:https://www.apache.org/licenses/LICENSE-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}