내가 응용 프로그램을 가지고 있다고 가정 해 보겠습니다. (응용 프로그램의 세부 사항은 문제를 해결할 때 무의미해야합니다). 화면에 렌더링하는 대신, 어떻게 든 응용 프로그램을 화면에 렌더링하는 대신 프레임 버퍼 객체에 렌더링하도록 강제 할 수 있습니다 (glew로 엉망으로 처리하거나 dll에서 호출을 가로 채기).프레임 버퍼 객체에 쉐이더를 적용하여 어안 효과 얻기
일단 응용 프로그램이 FBO에 내용을 렌더링하면 FB의 내용에 쉐이더를 적용 할 수 있습니까? 내 지식은 여기에 제한되어 있으므로이 단계에서 이해할 수있는 것부터 정점에 대한 모든 정보는 더 이상 사용할 수없고 필요한 모든 테스트가 적용되었으므로 버퍼에 남아있는 것은 픽셀 데이터뿐입니다. 이 올바른지?
쉐이더를 FBO에 적용 할 수 있다면 어안 효과를 얻을 수 있습니까? (예 : http://idea.hosting.lv/a/gfx/quakeshots.html)
위의 linke에서 사용 된 기술은 6 개의 다른 뷰포트를 만들고 각 뷰포트를 큐브 맵면에 렌더링 한 다음 텍스처를 메쉬에 적용하는 것입니다.
덕분에 몇 가지 관련 정보를 원하시면 여기를
그래, 렌더링 버퍼 객체를 생성하고, 응용 프로그램의 렌더링 된 출력을 텍스처로 사용하도록 캡처 한 후에는 조각 쉐이더의 목적이 무엇입니까? 프래그먼트 셰이더는 샘플링 할 위치를 프로그래밍 방식으로 결정할 수 있다고 언급했습니다. 이 문제의 맥락에서이 말의 의미를 설명해 주시겠습니까? – Adham
당신이 할 수있는 일은 물고기 눈 렌즈가 들어있는 단일 쿼드를 그립니다.각 조각은 입력 (x, y)을 얻지 만 원본 이미지에서 (x, y)에있는 픽셀을 검색하고 출력 색상으로 설정하는 대신 계산할 위치를 얻는 데 필요한 계산을 수행합니다. 이미지를 어안 (어쩌면 극좌표로 전환하고 거리에서 코사인을 던지는 것과 같은 것)으로 보이게하려면 입력 색상을 입력하십시오. 정확하게 포토샵과 같습니다. 그런 다음 한 개의 쿼드 만 제출하고 완벽한 픽셀을 얻으려고합니다. – Tommy