이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 rtrace 명령입니다.
프로그램:
이름
rtrace - RADIANCE 장면의 광선 추적
개요
추적 [ 옵션 ] [ $EVAR ] [ @파일 ] 옥트리
추적 [ 옵션 ] -기본값
기술
추적 다음과 같이 주어진 RADIANCE 장면을 통해 표준 입력의 광선을 추적합니다. 옥트리 그리고
결과를 표준 출력으로 보냅니다. (옥트리는 다음의 출력으로 주어질 수 있습니다.
명령은 따옴표로 묶이고 앞에 `!'가 붙습니다.) 각 광선에 대한 입력은 다음과 같습니다.
xorg yorg zorg xdir ydir zdir
방향 벡터가 (0,0,0)이면 가짜 레코드가 인쇄되고 다음과 같은 경우 출력이 플러시됩니다.
전에, -x 값이 설정되지 않았거나 XNUMX입니다. (아래 이 옵션에 대한 참고 사항을 참조하십시오.) 이는 유용할 수 있습니다.
실행되는 프로그램에 대한 추적 별도의 프로세스로. 두 번째 형식에서는 기본값
옵션 값(현재 옵션에 의해 수정됨)은 간략하게 인쇄됩니다.
설명.
옵션은 명령줄에서 지정하거나 환경에서 읽거나 다음에서 읽을 수 있습니다.
파일. 달러 기호('$')로 시작하는 명령 인수는 즉시 다음으로 대체됩니다.
주어진 환경 변수의 내용. at으로 시작하는 명령 인수
기호('@')는 즉시 해당 파일의 내용으로 대체됩니다. 대부분의 옵션은
그 뒤에는 옵션과 서로 분리되어야 하는 하나 이상의 인수가 옵니다.
공백으로. 이 규칙의 예외는 부울 옵션입니다. 일반적으로,
부울 옵션이 나타나면 기능이 "토글"됩니다. 즉, 꺼진 상태에서 전환됩니다.
이전 상태에 따라 켜짐 또는 켜짐, 꺼짐으로 전환됩니다. 부울 옵션도 설정할 수 있습니다.
명시적으로 바로 뒤에 '+' 또는 '-'(켜짐 또는 꺼짐을 의미함)를 붙여서 명시적으로
각기. '+'의 동의어는 문자 "yYtT1" 중 하나이고, '-'의 동의어는 다음과 같습니다.
문자 "nNfF0" 중 하나입니다. 다른 모든 문자는 오류를 생성합니다.
-fio 문자에 따른 형식 입력 i 문자에 따라 출력
o. 추적 다음 입력 및 출력 형식을 이해합니다. ASCII의 경우 'a',
단정밀도 부동 소수점의 경우 'f', 배정밀도 부동 소수점의 경우 'd'
가리키다. 이 세 가지 선택 사항 외에도 문자 'c'를 사용하여 다음을 수행할 수 있습니다.
값 출력을 위한 4바이트 부동 소수점(Raradiance) 색상 형식을 나타냅니다.
만 (-ov 옵션(아래). 출력 문자가 누락된 경우 입력 형식은
사용.
이 옵션과 해당 인수 사이에는 공백이 없습니다.
-o투기 다음에 따라 출력 필드를 생성합니다. 투기. 문자는 다음과 같이 해석됩니다.
o 원점(입력)
d 방향(정규화)
v 값(광도)
V 기여(빛남)
w 무게
W 색계수
l 광선의 유효 길이
L 첫 번째 교차 거리
c 지역 (u,v) 좌표
p 교차점
n 교차로에서 정상(교란됨)
교차로에서 N 법선(교란되지 않음)
표면 이름
m 수정자 이름
M 재료 이름
~ 물결표(추적 표시의 끝)
문자 't'가 나타나는 경우 투기, 그러면 다음 필드가 인쇄됩니다.
최종 결과뿐만 아니라 모든 광선이 추적됩니다. 대문자 'T'가 주어지면
't' 대신 그림자 테스트 광선을 포함하여 모든 광선이 보고됩니다.
광원. 생성된 광선은 각 레벨마다 한 탭씩 들여쓰기됩니다. 물결표
마커('~')는 최종 광선 값을 딸 값과 구별하는 편리한 방법입니다.
추적된 광선 트리의 값이며 일반적으로 't' 또는 'T' 바로 앞에 나타납니다.
출력 플래그. 예: -ov~TmW 물결표와 그 뒤에 탭이 표시됩니다.
바이너리 출력에서도 쉽게 구별할 수 있는 각 트레이스입니다.
이 옵션과 해당 인수 사이에는 공백이 없습니다.
-테 모드 추가 모드 추적 제외 목록에 추가하여 보고되지 않도록 합니다.
추적 옵션 (-o*t*). 어떤 광선이 물체에 부딪히면 모드 수정자로
나머지 광선은 표준 출력에 보고되지 않습니다.
추적. 이 옵션은 't' 또는 'T' 옵션을 지정하지 않는 한 아무런 효과가 없습니다.
출력 지정자의 일부로 제공됩니다. 제외된 수정자는 원하는 수만큼 가능합니다.
제공되지만 각각은 별도의 옵션으로 표시되어야 합니다.
-티 모드 추가 모드 추적 포함 목록에 추가하여 추적에 의해 보고되도록 합니다.
옵션. 프로그램은 포함 목록이나 제외 목록을 사용할 수 있지만 사용할 수는 없습니다.
양자 모두.
-tE 파일 과 동일 -테, 제외할 읽기 수정자를 제외하고 파일. 레이패스
환경 변수는 이 파일을 검색할 디렉터리를 결정합니다.
수정자 이름은 파일에서 공백으로 구분됩니다.
-tI 파일 과 동일 -티, 포함할 읽기 수정자를 제외하고 파일.
-i 휘도 값 대신 복사 조도를 계산하는 부울 스위치입니다. 이것만
Lambertian 표면을 대체하고 다음을 곱하여 최종 결과에 영향을 미칩니다.
파이에 의한 래디언스. 이 동안 유리 및 기타 투명한 표면은 무시됩니다.
단계. 하지만 광원은 여전히 원래 광도 값으로 나타납니다.
전에, -dv 옵션(아래)을 사용하여 이를 무시할 수 있습니다. 이 옵션은 특히
와 함께 유용 ximage(1) 장면 지점의 조도를 계산합니다.
-u 상관되지 않은 무작위 샘플링을 제어하는 부울 스위치입니다. "꺼짐"일 때, 낮은
불일치 시퀀스가 사용됩니다. 이는 분산을 감소시키지만 브러시된 결과를 초래할 수 있습니다.
반사 하이라이트에 나타납니다. "켜짐"이면 순수 몬테카를로 샘플링이 사용됩니다.
모든 계산에서.
-I 입력 원점을 사용하여 복사조도 대신 복사조도를 계산하는 부울 스위치
방향은 대신 측정 지점과 방향으로 해석됩니다.
-h 출력의 정보 헤더에 대한 부울 스위치입니다.
-x 고해상도 x 해상도를 다음으로 설정합니다. 입술. 출력은 매 시간 후에 플러시됩니다. 고해상도 입력
만약에 광선 -y XNUMX으로 설정됩니다. 값이 XNUMX이면 모든 광선이 플러시된다는 의미입니다.
어떤 설정이든 -와이. XNUMX 값은 출력 플러시가 없음을 의미합니다.
일어난다.
-y 고해상도 y 해상도를 다음으로 설정합니다. 입술. 프로그램은 다음 후에 종료됩니다. 고해상도 스캔라인에는
여기서 스캔라인은 다음과 같이 주어진 광선의 수입니다. -x 선택권,
또는 1인 경우 -x XNUMX입니다. XNUMX 값은 프로그램이 종료될 때까지 중단되지 않음을 의미합니다.
파일 끝에 도달했습니다.
둘 다 -x 그리고 -y 옵션이 주어지면 해결 문자열이
출력의 시작. 이는 이미지 크기를 복구하는 데 주로 유용합니다.
과 p값(1) 색상을 사용하여 유효한 Radiance 그림 파일을 생성하려면
출력 형식. (참조 -f 위의 옵션)
-n nproc 병렬로 실행 nproc 로컬 프로세스. 이 옵션은 다음과 호환되지 않습니다.
전에, -P 그리고 -PP, 옵션. 여러 프로세스도 Ray에서 제대로 작동하지 않습니다.
다음 중 하나를 사용하여 트리 출력 -o*t* 옵션. 지정해도 아무런 이점이 없습니다.
시스템이나 시스템에서 사용 가능한 코어 수보다 더 많은 프로세스 -x 환경,
플러시할 때마다 강제로 대기하게 됩니다.
-디제이 테일 코트 직접 지터링을 다음으로 설정합니다. 분수 XNUMX의 값은 각 소스를 샘플링합니다.
특정 샘플 포인트(참조: -ds 아래 옵션) 더 부드럽지만
다소 덜 정확한 렌더링. 양수 값은 광선을
크기에 따라 각 소스 샘플에 분산되어 더 많은 결과가 발생합니다.
정확한 반그림자. 이 옵션은 1보다 클 수 없으며,
값이 작을 경우 문제(반점 등)가 발생합니다. 에 대한 경고
다음과 같은 경우 조준 실패가 발행됩니다. 테일 코트 너무 큽니다.
-ds 테일 코트 직접 샘플링 비율을 다음으로 설정합니다. 분수 광원은 다음과 같이 세분화됩니다.
각 샘플 영역의 너비를 조명 지점까지의 거리로 나눈 값
이 비율보다 낮습니다. 이는 넓은 영역에 가까운 지역의 정확성을 보장합니다.
약간의 계산 비용으로 소스를 제공합니다. XNUMX 회전 소스 값
세분화를 끄고 각 광원에 최대 하나의 그림자 광선을 보냅니다.
-dt 테일 코트 직접 임계값을 다음으로 설정합니다. 분수 섀도우 테스트는 잠재적인 경우 중지됩니다.
최소한 다음 광원과 최대 모든 나머지 광원의 기여는 다음과 같습니다.
누적된 값의 이 부분보다 작습니다. (참조 -dc 아래 옵션.)
나머지 광원 기여도는 통계적으로 근사됩니다. ㅏ
값이 XNUMX이면 모든 광원이 그림자에 대해 테스트된다는 의미입니다.
-dc 테일 코트 직접 확실성을 다음으로 설정합니다. 분수 XNUMX의 값은 절대값을 보장합니다.
직접 계산의 정확도는 다음과 같거나 더 좋습니다.
전에, -dt 사양. XNUMX 값은 모든 그림자 선만 보장합니다.
결과적으로 대비 변화가 더 커집니다. -dt 사양은
계획된.
- 박사 N 보조 소스에 대한 릴레이 수를 다음으로 설정합니다. N. 값이 0이면 다음을 의미합니다.
보조 소스는 무시됩니다. 값이 1이면 소스가 만들어짐을 의미합니다.
2세대 XNUMX차 소스로; 값 XNUMX는 첫 번째를 의미합니다.
XNUMX세대 XNUMX차 소스도 XNUMX세대 XNUMX차 소스로 만들어집니다.
소스 등이 있습니다.
-dp D 보조 소스 프리샘플링 밀도를 D로 설정합니다. 이는
여부를 미리 결정하는 데 사용되는 스테라디안당 샘플 수
모든 반사 및/또는 반사를 통해 그림자 광선을 따라가는 것은 가치가 없습니다.
보조 소스 경로와 관련된 전송. 값이 0이면 다음을 의미합니다.
전체 보조 소스 경로는 테스트되는 경우 항상 그림자에 대해 테스트됩니다.
천만에.
-dv 광원 가시성을 위한 부울 스위치입니다. 이 스위치를 끄면 소스는
직접적으로 볼 때는 흑인이 됩니다. 비록 직접적으로는 여전히 참여하겠지만 말이죠.
계산. 이 옵션은 주로 프로그램용입니다. mkillum(1) 피하기 위해
광원을 부적절하게 계산하는 것이 바람직할 수도 있습니다.
와 함께 -i 옵션을 선택합니다.
-봄 여름 시즌 샘프 반사 샘플링을 다음으로 설정합니다. 샘플. 1보다 작은 값의 경우 이는 정도입니다.
거친 반사성 재질에 대해 하이라이트가 샘플링됩니다. 가치
XNUMX보다 크면 여러 광선 샘플이 전송되어 한 번에 노이즈를 줄입니다.
적절한 비용. 값이 XNUMX이면 지터링이 발생하지 않음을 의미합니다.
모든 반사는 확산되어야 하는 경우에도 선명하게 나타납니다.
-성 테일 코트 반사 샘플링 임계값을 다음으로 설정합니다. 분수 이는 최소 비율입니다.
반사 또는 투과, 반사 샘플링이 수행되지 않습니다. ㅏ
XNUMX 값은 하이라이트가 반사된 추적을 통해 항상 샘플링됨을 의미합니다.
또는 투과광선. 값이 XNUMX이면 반사 샘플링이 사용되지 않음을 의미합니다.
광원의 하이라이트는 항상 정확하지만 다른 광원의 반사는 항상 정확합니다.
표면은 주변 값을 사용하여 근사화됩니다. 샘플링 임계값
XNUMX과 XNUMX 사이는 이미지 정확도와 렌더링 간의 절충안을 제공합니다.
시간.
-bv 뒷면 가시성을 위한 부울 스위치입니다. 이 스위치를 끄면 뒷면이
불투명한 물체는 모든 광선에 보이지 않습니다. 그렇지 않으면 이것은 위험하다.
모델은 불투명한 물체의 모든 표면 법선이 직면하도록 구성되었습니다.
외부. 뒷면 가시성을 끄면 많은 비용이 절감되지는 않지만
대부분의 상황에서 계산 시간은 장면을 위한 도구로 유용할 수 있습니다.
디버깅하거나 외부에서 한쪽 벽을 통해 볼 수 있습니다. 이 옵션
투명하거나 반투명한 재질에는 영향을 주지 않습니다.
-의 빨간 GRN 블루
주변 값을 다음의 복사도로 설정합니다. 빨간 GRN 블루 . 이것이 최종값이다
간접 조명 계산 대신 사용됩니다. 주변의 수가
바운스가 XNUMX 이상이고 주변 값 가중치가 XNUMX이 아닙니다(참조). -아 그리고
-ab 아래), 이 값은 계산된 간접 값에 의해 다음과 같이 수정될 수 있습니다.
전반적인 정확도를 향상시킵니다.
-아 N 주어진 주변 값의 상대적 가중치를 설정합니다. -의 ~에 대한 옵션 N. As
새로운 간접 방사조도가 계산되면 기본 주변 환경이 수정됩니다.
초기 가중치에 지정된 가중치를 사용하여 이동 평균의 값
명령에 주어진 값과 다른 모든 가중치는 1로 설정됩니다. 값이 0인 경우
이 옵션을 지정하면 초기 주변 값이 수정되지 않습니다. 이것
간접 기여도의 차이가 큰 장면에 대해 가장 안전한 값입니다.
예를 들어 실내 및 실외(일광) 영역이 모두 보이는 경우입니다.
-ab N 주변 바운스 수를 다음으로 설정합니다. N. 이는 최대 확산 수입니다.
간접 계산으로 계산된 바운스입니다. XNUMX 값은 없음을 의미합니다.
간접 계산.
-아르 고해상도 주변 해상도를 다음으로 설정하세요. 입술. 이 숫자가 최대값을 결정합니다.
보간에 사용되는 주변 값의 밀도입니다. 오류가 증가하기 시작합니다
장면 크기를 주변 해상도로 나눈 것보다 더 가까운 표면에 있습니다.
최대 주변 값 밀도는 장면 크기에 주변 정확도를 곱한 값입니다.
(참조 -aa 아래 옵션)을 주변 해상도로 나눈 값입니다. 장면 크기
다음을 사용하여 결정될 수 있습니다. 정보를 얻다(1) 와 더불어 -d 입력 옥트리에 대한 옵션입니다.
-aa ACC 주변 정확도를 다음으로 설정합니다. 기준 이 값은 오류와 거의 같습니다.
간접 조도 보간으로부터. XNUMX 값은 없음을 의미합니다.
보간.
-기원 후 N 주변 분할 수를 다음으로 설정합니다. N. 몬테카를로의 오류
간접조도 계산은 제곱에 반비례합니다.
이 숫자의 루트입니다. 값이 XNUMX이면 간접 계산이 없음을 의미합니다.
-같이 N 주변 슈퍼샘플 수를 다음으로 설정합니다. N. 슈퍼샘플은 다음에만 적용됩니다.
상당한 변화를 보이는 주변 분할.
-af 이름 주변 파일을 다음으로 설정하십시오. 이름. 이곳이 간접조도가 되는 곳입니다
저장 및 검색됩니다. 일반적으로 간접조도 값은 메모리에 저장됩니다.
프로그램이 종료되거나 종료되면 손실됩니다. 파일을 이용하면 다른
호출은 조도 값을 공유하여 계산 시간을 절약할 수 있습니다. 그만큼
주변 파일은 검사할 수 있는 컴퓨터 독립적인 바이너리 형식입니다.
과 봐봐(1).
주변 파일은 통신 및 데이터 공유 수단으로도 사용될 수 있습니다.
동시에 실행되는 프로세스 사이. 동일한 파일을 다음에서 사용할 수 있습니다.
여러 프로세스가 서로 다른 시스템에서 실행되고 액세스할 수 있음
네트워크를 통해 파일을 전송합니다(예: NFS(삼)). 네트워크 잠금 관리자 잠긴(8) 사용
이 정보가 일관되게 사용되도록 보장합니다.
계산 매개변수가 변경되거나 장면이 수정되면 이전
계산이 처음부터 다시 시작될 수 있도록 주변 파일을 제거해야 합니다.
할퀴다. 편의상 원래 주변 매개변수는
앰비언트 파일의 헤더입니다. 정보를 얻다(1) 이것을 인쇄하는 데 사용될 수 있습니다
정보.
-애 모드 추가 모드 주변 제외 목록에 추가하므로 중에는 고려되지 않습니다.
간접 계산. 이것은 간접 계산 속도를 높이는 해킹입니다.
특정 객체를 무시함으로써. 가지고 있는 어떤 물체라도 모드 수정자는
계산된 값이 아닌 기본 주변 수준입니다. 제외된 수
수정자를 지정할 수 있지만 각 수정자는 별도의 옵션에 표시되어야 합니다.
-일체 포함 모드 추가 모드 앰비언트 포함 목록에 추가하여
간접 계산. 프로그램은 포함 목록이나 제외 목록을 사용할 수 있습니다.
나열하지만 둘 다는 아닙니다.
-aE 파일 과 동일 -애, 제외할 읽기 수정자를 제외하고 파일. 레이패스
환경 변수는 이 파일을 검색할 디렉터리를 결정합니다.
수정자 이름은 파일에서 공백으로 구분됩니다.
-일체 포함 파일 과 동일 -일체 포함, 포함할 읽기 수정자를 제외하고 파일.
-나를 휴식 젠트 베스트
전역 매체 소멸 계수를 표시된 색상 단위로 설정합니다.
1/거리(세계 좌표계의 거리). 빛은 산란되거나 흡수됩니다.
이 값에 따라 거리가 멀어집니다. 전체에 대한 산란 비율
산란과 흡수는 아래에 설명된 알베도 매개변수에 의해 설정됩니다.
-엄마 랄브 갈브 미늘
전역 매체 알베도를 0 0 0과 1 1 1 사이의 지정된 값으로 설정합니다. XNUMX
값은 매체에 의해 투과되지 않는 모든 빛이 흡수된다는 것을 의미합니다. 단일한
값은 매체에 의해 전달되지 않은 모든 빛이 일부 영역에서 산란된다는 것을 의미합니다.
새로운 방향. 산란의 등방성은 Heyney-
Greenstein 매개변수는 아래에 설명되어 있습니다.
-mg gecc 중간 Heyney-Greenstein 편심 매개변수를 다음으로 설정합니다. gecc. 이 매개변수
산란이 전방 방향을 얼마나 선호하는지 결정합니다. 값 0
완벽하게 등방성 산란을 나타냅니다. 이 매개변수가 1에 가까워질수록
산란은 앞쪽 방향을 선호하는 경향이 있습니다.
-ms 샘플디스트
중간 샘플링 거리를 다음으로 설정합니다. 샘플디스트, 세계 좌표 단위로. 동안
소스 산란, 이는 인접한 샘플 사이의 평균 거리가 됩니다.
값이 0이면 광원당 하나의 샘플만 채취됩니다.
주어진 산란량.
-lr N 반사를 최대로 제한하십시오. N, N이 양의 정수인 경우. 만약에 N XNUMX이다
또는 음수이면 러시안 룰렛이 광선 종료에 사용됩니다. -ㅁ
설정(아래)은 양수여야 합니다. N이 음의 정수이면 다음이 설정됩니다.
러시안 룰렛이 사용되는 반사의 상한선입니다. ~ 안에
유전체 및 내부 전반사가 있는 장면, 설정 0(제한 없음)
스택 오버플로가 발생할 수 있습니다.
-ㅁ 테일 코트 각 광선의 무게를 최소로 제한하십시오. 분수 광선 추적 중에 기록
광선이 이미지에 가질 것으로 예상되는 기여도(가중치)가 유지됩니다.
이 무게가 지정된 최소값보다 작고 -lr 설정 (위)은
긍정적이면 광선이 추적되지 않습니다. 그렇지 않으면 러시안 룰렛이 사용됩니다.
광선 가중치를 주어진 값으로 나눈 확률과 동일한 확률로 광선을 계속합니다.
분수
-ld 광선 거리를 제한하는 부울 스위치입니다. 이 옵션이 설정되면 광선은
각 방향 벡터의 크기까지만 추적할 수 있습니다. 그렇지 않으면,
벡터 크기는 무시되고 광선은 무한대로 추적됩니다.
-e 이 파일 오류 메시지와 진행 보고서를 다음으로 보냅니다. 이 파일 표준 오류 대신.
-w 경고 메시지를 표시하지 않는 부울 스위치입니다.
-P 파일 다음을 사용하여 영구 모드에서 실행합니다. 파일 제어 파일로. 지속성 있는
실행은 입력 시 파일 끝에 도달한 후, 추적 포크할 것이다
다른 프로세스를 기다리는 하위 프로세스 추적 같은 명령 -P option
그것에 부착합니다. (나머지 명령줄 옵션은 다음과 같습니다.
원래 호출의 인수를 제공할 필요가 없습니다.
게다가 -P 후속 호출을 위해.) 프로세스 종료는
죽이기(1) 명령. (첫 번째 줄의 프로세스 ID는 파일 사용할 수 있습니다
대기자를 식별하다 추적 프로세스.) 이 옵션은 다음과 함께 사용할 수 있습니다. -정말로
의 옵션 핀터프(1) 창업비용을 아끼기 위해 추적 여러 번.
-PP 파일 다음을 사용하여 연속 포크 지속 모드에서 실행합니다. 파일 제어 파일로.
이 옵션과 다른 옵션의 차이점은 다음과 같습니다. -P 위에서 설명한 옵션은
여러 개의 중복 프로세스를 생성하여 연결 수에 관계없이 처리합니다. 이것
대부분의 시스템에서 간단하고 안정적인 메모리 공유 메커니즘을 제공합니다.
멀티프로세싱 플랫폼 이후 포크(2) 시스템 호출은 메모리를 공유합니다.
쓰기 중 복사 기준.
사용 예
Samples.inp에 나열된 광선의 휘도 값을 계산하려면 다음을 수행하십시오.
rtrace -ov scene.oct < 샘플.inp > radiance.out
't' 명령으로 선택한 위치의 조도 값을 계산하려면 ximage(1) :
ximage 장면.hdr | rtrace -h -x 1 -i scene.oct | rcalc -e '$1=47.4*$1+120*$2+11.6*$3'
이미지의 각 픽셀에 해당하는 객체 식별자를 기록하려면:
vwrays -fd scene.hdr | rtrace -fda `vwrays -d scene.hdr` -os scene.oct
비정상적인 뷰 매핑을 사용하여 이미지를 계산하려면 다음을 수행하세요.
480 | rcalc -e 'xr:640;yr:640' -f 특이한_view.cal | rtrace -x 480 -y 640 -fac
scene.oct > 특이한.hdr
환경
RAYPATH 보조 파일을 확인할 디렉토리.
onworks.net 서비스를 사용하여 온라인으로 rtrace를 사용하세요.