이 문서는 오픈 소스 티켓 예약 시스템인 alf.io와 연구 중심 렌더링 시스템인 Mitsuba 3에 대한 포괄적인 정보를 제공합니다. 두 프로젝트에 대한 전제 조건, 설치 지침, 사용 예 및 기여 지침을 각각의 기능 및 개발 상태에 대한 정보와 함께 자세히 설명합니다. 다루는 주요 측면에는 빌드 프로세스, Docker 통합 및 종속성 관리가 포함됩니다.
alf.io
오픈 소스 티켓 예약 시스템.
Alf.io([ˈalfjo])는 고객의 개인 정보 보호, 보안 및 공정한 가격 정책에 관심이 있는 이벤트 주최자를 위해 개발된 무료 오픈 소스 이벤트 참석 관리 시스템입니다.
전제조건
alf.io를 빌드하고 실행하려면 Java 버전 17(예: Oracle, OpenJDK 또는 기타 배포판)을 설치해야 합니다. 빌드 프로세스에는 JDK가 필요합니다.
Postgresql 버전 10 이상.
또한 테이블을 생성하고 사용하는 데이터베이스 사용자는 "SUPERUSER"가 아니어야 합니다. 그렇지 않으면 행 보안 정책 검사가 적용되지 않습니다.
메모
Alf.io v2에 대한 작업이 시작되었으므로 이 분기에는 불안정하고 테스트되지 않은 코드가 포함될 수 있습니다.
alf.io를 직접 빌드하고 배포하려면 릴리스 버전부터 시작하세요.
스프링 프로파일
다음과 같은 스프링 프로파일이 있습니다.
개발 모드에서 실행
Gradle 빌드
이 빌드에는 Gradle 래퍼 사본이 포함되어 있습니다. 빌드하기 위해 시스템에 Gradle을 설치할 필요는 없습니다.
프로젝트. 예를 들어 적절한 작업과 함께 래퍼를 실행하기만 하면 됩니다.
여러 프로필로 실행
명령줄에서 다음과 같은 프로젝트 속성을 지정해야 합니다.
로컬 "bootRun" 작업에는 다음과 같은 전제 조건이 있습니다.
일단 시작되면 alf.io는 데이터베이스에 필요한 모든 테이블을 생성하고 http://localhost:8080/admin에서 사용할 수 있습니다. 기본 사용자 이름 admin과 콘솔에 인쇄된 비밀번호를 사용하여 로그인할 수 있습니다.
다음을 실행하여 지원되는 모든 Gradle 작업 목록을 얻을 수 있습니다.
다음 파일을 생성하고 한 줄에 하나의 속성을 입력하여 추가 시스템 속성(필요한 경우)을 구성할 수 있습니다.
이 파일에는 민감한 정보(예: Google 지도 개인 API 키)가 포함될 수 있으므로 git에서는 자동으로 무시됩니다.
디버그용
custom.jvmargs에 -agentlib:jdwp=transport=dt_socket,server=y,suspens=n,address=5005를 사용하여 새 줄을 추가합니다.
alf.io에 기여
Gradle 프로젝트를 Intellij와 Eclipse로 가져오는 것이 모두 작동합니다.
참고:
TestContainers는 컨테이너 관리를 위해 Docker 소켓을 기대하므로 다음을 수행해야 합니다(자세한 내용은 원래 문제 참조).
2 환경을 정의합니다. 변하기 쉬운:
그리고 다른 콘솔에서 실행하세요:
참고할 사항:
업데이트할 종속성을 확인하세요.
./gradlew dependencyUpdates
Docker 컨테이너 실행
컨테이너 이미지는 https://hub.docker.com/r/alfio/alf.io/tags에서 사용할 수 있습니다.
alf.io는 Docker Compose(개발 모드)를 사용하여 실행할 수도 있습니다.
Docker Compose를 사용하여 프로덕션에서 alf.io를 실행하는 것은 공식적으로 지원되지 않습니다.
그러나 그렇게 하기로 결정한 경우 몇 가지 사항을 변경해야 합니다.
alf.io 애플리케이션 테스트
alfio/alf.io 도커 이미지의 새 버전을 생성합니다.
애플리케이션 및 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
선적 서류 비치 | 튜토리얼 비디오 | 리눅스 | 맥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}