라인의 방향을 눈 좌표로 계산하고 정점 및 프래그먼트 셰이더를 사용하여 라인의 모든 픽셀에이 값을 저장할 수 있기를 원합니다. 내 생각은 각 쌍의 꼭지점에 대한 모델 뷰 변환 후 atan2 (Gy/Gx)를 사용하여 방향 그래디언트를 계산 한 다음이 값을 색상 강도로 퀀 타이즈하여 조각 쉐이더로 전달하는 것이 었습니다. 어떻게 이것을 달성하기 위해 꼭지점 쌍의 위치에 액세스 할 수 있습니까, 아니면 내가 사용해야 할 다른 방법이 있습니까?
감사버텍스 쉐이더를 사용하여 라인 방향 결정하기
3
A
답변
1
어떻게 위치 정점의 쌍 에 액세스 할 수 있습니다?
단지 정점과 조각 셰이더를 사용하는 것만으로는 불가능합니다. 쉬운 방법은 geometry shaders을 사용하는 것입니다. 이 쉐이더 스테이지에서는 선분을 구성하는 한 쌍의 정점에 액세스 할 수 있습니다. 그런 다음 라인 방향을 결정하고 조각 셰이더로 전달하는 것은 간단합니다.
(목표 대상으로 인해) 기하학 셰이더가 옵션이 아닌 경우 (각 꼭지점에 실제 꼭지점과 다음 꼭지점을 저장하는) 지오메트리를 복제 한 다음 정점 셰이더에서 계산을 수행 할 수 있습니다.
관련 문제
- 1. OpenGL : 버텍스 쉐이더를 사용하여 버텍스 추가하기
- 2. 버텍스 쉐이더를 사용하여 모델 법선을 표시 할 수 있습니까?
- 3. 안드로이드 폰을 사용하여 북쪽 결정하기
- 4. CPU에서 Cg 버텍스/조각 쉐이더를 실행하는 방법은 무엇입니까?
- 5. 버텍스 쉐이더 대 버텍스
- 6. directx 픽셀/버텍스 쉐이더 디버깅?
- 7. 버텍스 쉐이더의 버텍스 컬러 변경
- 8. XNA : 쉐이더를 사용하여 텍스처에 쓰는 방법
- 9. 기하학 쉐이더를 사용하여 새로운 프리미티브 유형 생성
- 10. 같은 프로그램에서 여러 버텍스 쉐이더 사용하기
- 11. OpenGL 2.1 버텍스 버퍼 객체
- 12. thumnail 만들기 방법 결정하기
- 13. glBlendFunc 쉐이더를 사용하지 않음
- 14. 이 버텍스 쉐이더는 무엇을하고 있습니까?
- 15. iPhone OpenGL ES 템플릿의 쉐이더를 수정하여 어떻게 만들 수 있습니까?
- 16. 버텍스 및 프래그먼트 쉐이더에서 법선을 제거하십시오.
- 17. OpengGL ES는 버텍스 버퍼
- 18. OpenGL에서 GPT로부터 버텍스 쉐이더로 변환 된 기하학을 되찾기
- 19. OpenGL의 버텍스 버퍼
- 20. YUV 조각 쉐이더를 통한 변환
- 21. 픽셀 쉐이더를 제어하기위한 키보드 입력
- 22. ImageMagick을 사용하여 그림 방향 감지
- 23. 방향 시트 방향
- 24. iPhone - 방향 찾기 방향 찾기
- 25. OCaml의 OOP 구조체에서 타입을 결정하기
- 26. 라만 (Lahman) 데이터베이스에서 신년을 결정하기
- 27. 바자에서 태그 생성 날짜 결정하기
- 28. OpenGL ES - 버텍스 배열 업데이트, 버텍스 추가/제거
- 29. 버텍스 쉐이더와 프래그먼트 쉐이더
- 30. OpenGL 버텍스 레이아웃
죄송합니다. OpenGL 2.1을 사용하여 지오메트리 셰이더에 액세스 할 수 없었어야합니다. 다음 버텍스를 쉐이더에 전달할 수 있다고 생각하지만, 렌더링되는 현재 버텍스를 어떻게 결정할 수 있습니까? 현재 drawElements 함수를 사용하고 있습니다. glBegin (GL_QUADS) 후에 glVertex3f를 사용하여 모든 꼭짓점을 나열하고, 각 호출 후에 다음 정점 위치와 함께 균일 한 vec3을 전달하는 것과 같은 작업을 수행해야합니까? – Brett
@Brett 추가 꼭지점 속성을 사용하고 싶습니다.이 속성은 항상 다음 꼭지점을 배치합니다. 그래서 여러분의 버텍스 배열은 현재의 두 배가 될 것이고 여러분의 버텍스 쉐이더는 두 값에 접근 할 수 있습니다. –