2011-01-19 2 views
7

저는 raytracer에서 작업 중이며 3D 장면 용 파일 형식의 경우 휠을 다시 만들려하지 않습니다. 또한 다른 사람들이 만든 장면으로 내 프로그램을 테스트 할 수 있기를 원합니다. 저는 프로그래머로서 3D 모델러가 아닙니다.raytracing에 적합한 3D 장면 형식이 있습니까?

raytracing에 특정한 또는 적합한 3D 장면 형식이 있습니까?

+1

관련 항목 : http://stackoverflow.com/questions/4364537/what-types-of-geometry-definition-file-format-is-best-used-with-ray-tracing-to-in –

답변

4

레이 트레이서를 작성했을 때 Blender (무료)에 대한 수출 업체를 썼습니다. 블렌더 자체는 수십 가지의 포맷을로드 할 수 있으며, 간단한 20 라인 파이썬 스크립트는 필요한 포인트를 줄 것이다.

멋진 멋진 기능은 블렌더에서 모든 모델의 얼굴을 삼각형으로 변환 할 수 있다는 것입니다. 대부분의 광선 추적기는 삼각형으로 만 작동합니다 (또는 다각형을 내부적으로 삼각형으로 변환). Blender를 사용하면 폴리곤을 처리하는 작업이 수월해집니다.

20 줄의 코드로 시작하면 다각형 만 내보낼 수 있습니다. 거기에서부터 재질, 법선 등을 출력하도록 확장 할 수 있습니다. 원하는 형식으로 원하는 데이터를 얻을 수 있기 때문에이 방법이 마음에 들지만 더 복잡한 모델을 가져올 수있는 옵션이 있습니다.

다른 방법도 사용할 수 있지만 먼저 파일을 구문 분석하는 방법을 파악한 다음 원하는 형식으로 가져와야합니다. 파서보다는 광선 추적기를 코딩하는 편이 낫습니다.

+2

실제로 대부분의 실제 추적기는 기하학적 인 고형물에 완벽하게 대처합니다.일반적으로 삼각형 (또는 쿼드) 만 처리하는 모델링 소프트웨어 및 래스터 기반 렌더러입니다. – Alnitak

+0

글쎄 내 의견에서 말한 것이 아니 었는가? 돌아가서 내 대답을 다시 읽으십시오. 저는 삼각형을 내보내는 것에 대해 이야기하고 있었고, 블렌더가 쿼드와 폴리곤을 삼각형으로 줄이는 방법에 대해 이야기했습니다. 기하학 솔리드는 레이 트레이서에서 쉽게 지원되지만, 단일 광선 추적기가 폴리곤을 폴리곤 형식으로 유지하는 것을 본 적이 없습니다. 대신 파이프 라인을 단순화하기 때문에 삼각형으로 변환합니다. 이 질문에서 형상 솔리드는 언급되지 않았습니다. –

+0

당신은 "대부분의 레이 트레이서는 ** 단지 ** 삼각형으로 작업 할 것입니다."대부분의 독자는 정확하게 그것을 의미 할 것입니다 (따라서 기하학적 인 고형물은 제외 함). – Alnitak

1
내가 다른 모델러는 다른 매개 변수를 필요로하기 때문에 사용중인 특정 장면 형식이, 거기에 생각하지 않습니다

및 설치 지침 등

WaveFront .obj format 그러나 내에서 개별 개체 을 설명하는 매우 인기가있다 장면 및 해당 형식의 많은 파일을 인터넷에서 사용할 수 있습니다.

+0

글쎄, WaveFront 형식은 꽤 쉬울 것 같지만 꼭지점과면을 중심으로 한 스타일이기 때문에 raytracing에 적합하지 않습니다. POV-Ray 형식을 사용할 수 있다는 생각이 들었습니다. –

+1

사실, OBJ 형식의 파라 메트릭 솔리드를 설명 할 수 없습니다. 그러나 POVRay 형식은 복잡한 프로그래밍 구성 등으로 구성된 "장면 기술 언어"입니다.이 부분을 "여기에 넣으십시오"이상의 의미가 있습니다. – Alnitak

4

실제로 레이 트레이싱과 관련된 형식은 없습니다 (PovRay 형식을 계산하지 않는 한). 광선 추적은 모든 장면에 적용 할 수있는 이미지 렌더링 방법입니다. 장면을 모델링하는 사람들은 원하는 모델링 소프트웨어를 사용하고 일반적으로 모델러의 기본 형식으로 저장합니다.

특정 형식을로드해야하는 요구 사항이 없거나 묻지 않을 것 같아서 테스트를 위해 다양한 지오메트리를 가져올 수 있기를 원합니다. 그렇다면 ompf 포럼 (http://ompf.org/)을 방문하십시오. 자유롭게 사용할 수있는 장면에 대한 링크가있는 섹션이 있습니다. 거기에서 흔히있는 것에 대한 느낌을 얻을 수 있습니다. http://assimp.sourceforge.net/

이 당신을 위해 파일 형식의 큰 숫자를 가져올 수 있습니다

또 다른 옵션은 열기 자산 가져 오기 라이브러리를 사용합니다. 모든 데이터를 내부 데이터 구조로로드 한 다음 적절하게 처리 할 수 ​​있습니다. 그것은 BSD 라이센스를 사용하기 때문에 당신이하는 일과 합리적으로 라이센스 호환이 가능해야합니다.

관련 문제