이 문서는 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 샘플의 경우 터미널에서 고객 키와 비밀번호를 내보내야 합니다. 꼭 교체하세요
전달자 토큰 인증을 사용하는 샘플의 경우 전달자 토큰을 내보내야 합니다. 꼭 교체하세요
언어별 요구사항
자바 환경 설정
Homebrew를 사용하는 경우 다음을 사용하여 Java 런타임을 설치할 수 있습니다.
또한 코드를 빌드하고 실행하려면 개별 샘플에 참조된 관련 JAR 파일을 다운로드해야 합니다. IDE를 사용하는 경우 이 작업을 자동으로 수행할 수 있습니다.
JavaScript(Node.js) 환경 설정
이 코드를 실행하려면 Node.js가 설치되어 있어야 합니다. 모든 Node.js 예제에서는 npm을 설치해야 하는 HTTP 클라이언트로 needle을 사용합니다. 사용자 컨텍스트 요청이 있는 OAuth의 경우 got 및 oauth-1.0a 패키지를 설치해야 합니다.
Python 환경 설정
이 코드를 실행하려면 Python 3이 설치되어 있어야 합니다. Python 샘플은 요청-oauthlib==1.3.0을 사용하는 요청==2.24.0을 사용합니다.
(선택 사항) 필수 패키지를 전역적으로 설치하지 않고 venv를 사용하여 프로젝트 하위 폴더에 로컬로 설치하는 것이 일반적이며 권장됩니다.
다음과 같이 이러한 패키지를 설치할 수 있습니다.
루비 환경 설정
코드를 실행하려면 Ruby(권장: >= 2.0.0)가 설치되어 있어야 합니다. Ruby 예제에서는 gem을 설치해야 하는 HTTP 클라이언트로 typhoeus를 사용합니다. 사용자 컨텍스트 요청이 있는 OAuth의 경우 oauth gem도 설치해야 합니다(아래 참조).
추가 리소스
우리는 개별 API 엔드포인트를 실행하는 데 사용할 수 있는 Postman Collection을 유지 관리합니다.
지원하다
API 및 기능과 관련된 일반적인 질문은 개발자 커뮤니티 포럼의 v2 섹션을 사용하세요.
샘플 코드 자체에 버그나 문제가 있는 경우 여기 GitHub에서 새 문제를 생성해 주세요.
기여
특히 여기에 아직 표시되지 않은 언어의 경우 이러한 코드 샘플에 의미 있는 추가 사항을 추가하는 풀 요청을 환영합니다.
우리는 환영하는 커뮤니티가 중요하다고 생각하며 커뮤니티와의 모든 상호 작용에서 트위터의 오픈 소스 행동 강령을 따르도록 요청합니다.
특허
저작권 2021 트위터, Inc.
Apache 라이선스 버전 2.0에 따라 라이선스가 부여됩니다: https://www.apache.org/licenses/LICENSE-2.0
예:
미츠바 렌더러 3
선적 서류 비치 | 튜토리얼 비디오 | 리눅스 | 맥OS | 윈도우 | PyPI |
---|---|---|---|---|---|
️
경고
️
현재 문서화되지 않은 불안정한 작업이 대량으로 진행되고 있습니다.
master
브랜치. 우리는 당신이 우리의 사용을 적극 권장합니다
최신 릴리스
추후 공지가 있을 때까지.
이미 다가오는 변경 사항을 시험해보고 싶다면 다음을 살펴보십시오.
이 포팅 가이드.
여기에는 앞으로 나올 대부분의 새로운 기능과 주요 변경 사항이 포함되어야 합니다.
소개
Mitsuba 3는 순방향 및 역방향 조명을 위한 연구 중심 렌더링 시스템입니다.
스위스 EPFL에서 개발된 운송 시뮬레이션입니다.
핵심 라이브러리와 기능을 구현하는 플러그인 세트로 구성됩니다.
재료와 광원부터 완전한 렌더링 알고리즘까지 다양합니다.
Mitsuba 3은 대상 변경이 가능 합니다. 이는 기본 구현과
데이터 구조는 다양한 작업을 수행하기 위해 변환될 수 있습니다. 을 위한
예를 들어, 동일한 코드로 스칼라(고전적인 한 번에 한 광선) RGB 전송을 모두 시뮬레이션할 수 있습니다.
또는 GPU의 차동 스펙트럼 전송. 이 모든 것이 기반이 됩니다
이 프로젝트를 위해 특별히 개발된 JIT( Just-In-Time ) 컴파일러인 Dr.Jit입니다.
주요 특징
크로스 플랫폼 : Mitsuba 3는 Linux( x86_64
), macOS에서 테스트되었습니다.
( aarch64
, x8664
) 및 Windows ( x8664
).
고성능 : 기본 Dr.Jit 컴파일러는 렌더링 코드를 융합합니다.
다음을 사용하여 최첨단 성능을 달성하는 커널로
CPU 및 CUDA/OptiX 백엔드를 대상으로 하는 LLVM 백엔드
레이 트레이싱 하드웨어 가속을 통해 NVIDIA GPU를 목표로 합니다.
Python 우선 : Mitsuba 3는 Python과 긴밀하게 통합되어 있습니다. 재료,
텍스처, 심지어 전체 렌더링 알고리즘도 Python으로 개발할 수 있습니다.
시스템이 즉석에서 JIT 컴파일(및 선택적으로 차별화)을 수행합니다.
이는 컴퓨터 그래픽 연구에 필요한 실험을 가능하게 하며,
다른 학문.
차별화 : Mitsuba 3는 차별화 가능한 렌더러입니다.
입력에 대한 전체 시뮬레이션의 파생물을 계산할 수 있습니다.
카메라 포즈, 기하학, BSDF, 텍스처 및 볼륨과 같은 매개변수. 그것
EPFL에서 개발된 최근 미분 가능 렌더링 알고리즘을 구현합니다.
스펙트럼 및 편광 : Mitsuba 3는 단색광으로 사용 가능
렌더러, RGB 기반 렌더러 또는 스펙트럼 렌더러. 각 변형은 다음을 수행할 수 있습니다.
원하는 경우 선택적으로 편광 효과를 고려하십시오.
튜토리얼 비디오, 문서
우리는 부드러운 소개를 제공하는 여러 YouTube 비디오를 녹화했습니다.
미츠바3와 Dr.Jit. 이 외에도 완전한 Juypter 노트북을 찾을 수 있습니다.
다양한 애플리케이션, 사용법 가이드, 참조 문서를 다루고 있습니다.
readthedocs에서.
설치
우리는 PyPI를 통해 사전 컴파일된 바이너리 휠을 제공합니다. 이 방법으로 Mitsuba를 설치하는 것은 실행만큼 간단합니다.
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# renderermi.setvariant('scalarrgb')의 변형 설정# 장면 로드 = mi.loaddict(mi.cornellbox())# 장면 렌더링 = mi. render(scene)# 렌더링된 이미지를 EXR 파일에 씁니다mi.Bitmap(img).write('cbox.exr')
다양한 애플리케이션을 다루는 튜토리얼과 예제 노트북을 찾을 수 있습니다.
문서에서.
에 대한
이 프로젝트는 Wenzel Jakob이 만들었습니다.
코드의 중요한 기능 및/또는 개선 사항은 다음에 의해 기여되었습니다.
세바스티앙 슈파이어러,
니콜라스 루셀,
멀린 니미에-데이비드,
델리오 비치니,
티지안 젤트너,
밥티스트 니콜레,
미구엘 크레스포,
빈센트 르로이,
장쯔이.
학술 프로젝트에서 Mitsuba 3를 사용하는 경우 다음을 인용하십시오.
@software{Mitsuba3,title = {Mitsuba 3 렌더러},author = {Wenzel Jakob 및 Sébastien Speierer 및 Nicolas Roussel 및 Merlin Nimier-David 및 Delio Vicini 및 Tizian Zeltner 및 Baptiste Nicolet 및 Miguel Crespo 및 Vincent Leroy 및 Ziyi Zhang},note = {https://mitsuba-renderer.org},버전 = {3.1.1}, 연도 = 2022}