2011-04-06 2 views
0

기본적으로 OpenGL과 동일합니다. 3D 모델에 좌표 또는 색상과 함께 많은 특성을 갖는 정점 및면이있는 3D 평면을 3D 평면으로 투영하려고합니다.3D 위치, 색상 이외의 속성에 관한 투영 (2D로)

즉 3D 모델에서 색상, 속성 1, 속성 2 .... attibutesN의 여러 2D 투영이 필요합니다. 물론 모든 2D 투영이 이미지처럼 렌더링되어야하는 것은 아닙니다.

OpenGL을 사용하여 문제를 해결할 수 있습니까? OpenGL 프로젝션이나 모델 뷰 변환에서 이해할 수있는 것은 좌표 변환에 관한 것입니다. 어떻게 다른 속성을 2D 평면의 적절한 위치에 "투영"시킬 수 있습니까?

빠른 아이디어는 컬러 또는 텍스처의 정점 /면 속성을 인코딩하고, OpenGL에서 3D 모델을 2D 평면으로 투영 한 다음 2D 평면의 각 픽셀에서 색상 또는 텍스처 값을 디코딩하는 것입니다.

아니면 OpenGL 트릭없이 구현할 수있는 더 나은 솔루션이 있습니까?

감사

+0

어떤 종류의 속성에 대해 이야기하고 있습니까? 그들은 떠 다니는가? 이 속성들은 꼭지점 사이에서 어떻게 처리되어야합니까? 보간과 같은 방법으로 색상? – JCooper

+0

@JCopper : 재질 반사 특성 또는 기타 물리적 특성과 같은 일부 특성. 그들은 실제로 플로트 타입입니다. 그 특성들을 색상으로 보간하고 싶습니다. 그러나 어떤 가중치 함수를 설정할 수 있다면 좋을 것입니다. 그리고 그 속성들을 묘화 가능한 이미지로 렌더링 할 필요는 없습니다. 투영 된/보간 된 속성 값의 2 차원 어레이 (이미지와 같은)를 직접 얻고 싶습니다. – OvFw

답변

2

하자 V는 N의 n 벡터 투사 할 속성 및 M이 m의 투영 행렬 × 제 (N + 1), 다음 M V가 영사하다. 정말 간단합니다. 실제로 중요한 점은 n 공간에서 2 공간으로 투영을 찾는 것입니다.

+0

아닙니다. OpenGL과 마찬가지로 3D 장면을 2D 평면에 투영하여 도형 변형에 관한 내용을 원합니다. 그러나 나는 또한 단지 색이나 질감 이외의 일부 속성을 투영/렌더링해야합니다. – OvFw

+1

이 점을 완전히 이해했습니다.이 행렬을 사용하여 추가 속성을 변형 할 수도 있습니다. 추가 속성은 정점 벡터의 추가 요소 일 뿐이므로 변형되어야한다는 것을 이해해야합니다. 어떻게 추가 특성을 변형시킬 것인지 지정했을 때 도움이 될 것입니다. – datenwolf