GL_LINE_STRIP
을 사용하여 절두체를 그려야합니다. 이 절두체 꼭지점에 대한 좌표는 무엇입니까? 나는 모델 뷰와 프로젝션 매트릭스를 가지고있다. 이러한 매트릭스를 사용하여 셰이더 자체에서 좌표를 계산할 수 있습니까?OpenGL에서 절두체를 그리는 방법
답변
절두체 코너에 대한 월드 공간 좌표를 원하면 모든 치수에서 -1에서 1로가는 NDC 공간에서 8 개의 모서리 점을 투영하면됩니다 (코너 점은 쉽게 구할 수 있습니다). 열거) 우주 공간으로 돌아 간다. 하지만 w
으로 분할해야한다는 것을 잊지 마세요 :
c_world = inverse(projection * view) * vec4(c_ncd, 1);
c_world = c_world*1.0/c_world.w;
내가 GLSL 구문이 쓴 있지만,이 경우에만 의사로서 의미한다. 은 셰이더에서 수행 할 수 있지만 이는 셰이더 단계에 따라 여러 번 계산되어야 함을 의미합니다. 일반적으로 CPU에서 역행렬을 미리 계산하는 것이 일반적으로 훨씬 빠릅니다.
대답 해 주실 수 있습니까? – debonair
@debonair : NDC 공간에서 보는 볼륨의 모서리 ('vec4 (clip_space.xyz/clip_space.w, 1.0/clip_space.w)')는 모두 ** - 1 **과 ** 1의 조합입니다 **. 3 차원의 경우 NDC의 모든 모서리를 찾는 데 필요한 ** 2 ** 1 = ** ** ** ** 2 = 3 = 8 조합이 있습니다. 일단 당신이 그것을 가지고 있다면 역 투영 행렬에 클립 공간을 얻기 위해 역행렬을 곱하고 반전 행렬을 월드 공간에 도달하도록 곱하십시오 (그것은 derhass 시연과 같이 단일 단계로 결합 될 수 있습니다). 그런데 'w'에 의한 나누기는 절두체 모양을 만드는 것입니다. –
@debonair : 그 주석에서 오타를 만들었지 만 생각은 같습니다 ... 역 투영 행렬은 (클립 공간에서) 뷰 공간으로 이동합니다. 실제로 좌표 공간을 건너 뛸 것이므로 실제로는 문제가되지 않지만 그 점을 바로 잡을 수도 있습니다 : P –
- 1. OpenGL에서 호를 그리는 방법
- 2. 이렇게 OpenGL에서 연결된 스트립 선을 그리는 방법
- 3. OpenGL에서 두 점을 연결하는 원통형을 그리는 방법
- 4. OpenGL에서 2D 불규칙한 곡선 모양을 그리는 방법
- 5. OpenGl에서 점선을 그리는 데 도움이
- 6. opengl에서 커브를 그리는 함수는 무엇입니까?
- 7. OpenGL에서 3D 벡터를 그리는 방법은 무엇입니까?
- 8. 안드로이드 OpenGL에서 손가락으로 선을 그리는 법
- 9. OpenGL에서 뷰포트 외부로 그리는 비용이 비쌉니까?
- 10. OpenGL에서 동일 평면상의 다각형을 그리는 기술
- 11. 쉐이더를 사용하여 OpenGL에서 스프라이트 시트를 그리는 기술
- 12. OpenGL에서 텍스트를 그리는 중 텍스처가 약간 오프셋되었습니다.
- 13. OpenGL에서 원을 그리는 데 필요한면의 수
- 14. OpenGL에서 y 축 또는 x 축으로 원통을 그리는 방법
- 15. OpenGL에서 여러 개의 쿼드를 그리는 가장 효율적인 방법
- 16. OpenGL에서 두께가있는 부드러운 선을 그리는 방법 [ES 2]
- 17. 변형을 큐브에 적용하여 3D 정사각형 절두체를 만드시겠습니까?
- 18. GLUT을 사용하여 OpenGL에서 콘처럼 채워진 봉투를 그리는 방법은 무엇입니까?
- 19. Android OpenGL에서 불투명도가있는 텍스처를 올바르게 그리는 방법은 무엇입니까?
- 20. OpenGl에서 텍스처링
- 21. OpenGL에서 서브 윈도우를 사용하는 방법
- 22. OpenGL에서 정점을 이동하는 방법
- 23. OpenGL에서 머리카락을 추가하는 방법
- 24. OpenGL에서 원으로 클립하는 방법
- 25. OpenGL에서 큐브를 만드는 방법
- 26. OpenGL에서 횡단면을 렌더링하는 방법
- 27. OpenGL에서 이미지를로드하는 방법
- 28. GLUT를 사용하지 않고 OpenGL에서 텍스처 토러스를 그리는 방법은 무엇입니까?
- 29. OpenGL에서 객체를 선택할 수있는 로봇 팔을 그리는 방법은 무엇입니까?
- 30. OpenGL에서 복셀 (큐브)을 그리는 가장 효율적인 방법은 무엇입니까?
어떤 공간에서 절두체를 그리시겠습니까? 어떤 종류의 개요/레이더인가? – derhass
@derhass 세계 공간. – debonair