답변:
복잡한 셰이더는 일반적으로 교환 가능한 톱니와 같이 프로젝트에 다운로드하여 사용할 수있는 종류의 것이 아닙니다. 일반적으로 더 흥미로운 효과를 얻으려면 결과를 얻기 위해 CPU 측 렌더링 서브 시스템에 약간의 결합이 필요합니다. 일반적으로 성능도 마찬가지입니다. 명령어 수 또는 파이프 라이닝에 대한 정확성 및 품질과 관련한 성능 균형은 응용 프로그램 별 요구 사항에 기인하는 경향이 있습니다.
결과적으로 당신이 생각하는 종류의 저장소에는 많은 것이 없습니다. GPU Gems 서적은 게임 및 음영 처리 된 코드 예제가 포함 된 다양한 요리 책 스타일의 기술 설명 모음을 제공합니다. Shader X 책도 마찬가지입니다.
많지 않지만 시작하기 위해 최소한 두 가지 기본 쉐이더도 열려있는 sorce 엔진 파일 사이에서 찾을 수 있습니다.
.vsh 파일에는 꼭짓점 셰이더가 포함되어 있고 .fsh 파일에는 조각 셰이더가 포함되어 있지만 자체 설명하는 것 같습니다.
현재 모바일 하드웨어에서는 가능한 한 정점 셰이더 내에서 최대한 많은 작업을 수행해야합니다. 멋진 모양의 빠른 게임을위한 요령은 항상 무언가를 의도 한대로 보이게 만드는 데 필요한 것을 정확하게 수행하는 매우 전문화 된 많은 셰이더를 작성하는 것입니다. 적어도 iPhone 4와 동일한 GPU를 사용하지만 데이터를 전달할 픽셀이 적은 iPhone 3GS에 대한 나의 경험입니다. 이것은 아마도 tegra 2에서 아마도 훨씬 더 좋으며 사과 A5 칩에서는 훨씬 좋습니다. 그러나 지금은 데스크탑 gpus의 쉐이더를 휴대 전화로 이식하려고 시도하지 않아야하며 훌륭한 성능을 기 대해서는 안됩니다 .P 이것은 전체 화면을 의미합니다 특히 고해상도 디스플레이를 사용하는 장치에서 효과가 느려집니다.
희망이 조금 도움이되기를 바랍니다 :).
http://glslsandbox.com/ 에서 비전 지식을 얻을 수 있습니다.
OpenGL ES 2.0에서 포그를 구현하는 방법을 찾고 있었을 때 OpenGL ES 2.0 에는없는 기능을 구현 하는 OpenGL ES 2.0 이전 버전과 호환되는 프로젝트에 대한 링크를 찾았습니다 ( 예 : 포그, 버텍스, 조각 (픽셀) 음영). 셰이더 소스를 직접 볼 수 있습니다 .
ClockworkCoders (OpenGL ES 2.0이 아님)로 만든이 예제를 수정하여 조각 당 조명도 구현했습니다 .
lighthouse3D 로이 훌륭한 튜토리얼을 살펴볼 수도 있습니다.
AMD RenderMonkey 패키지에는 샘플 파일 중 OpenGL ES 2.0을위한 고급 쉐이더가 포함되어 있습니다.
특히 GLES 샘플 디렉토리의 Renderman 셰이더 샘플을 살펴보십시오. 이는 좋은 시작점으로 작용할 수있는 다소 복잡한 베어 본 OpenGL ES 2.0 셰이더를 제공합니다. 또한 훌륭한 셰이더에 대한 잘라 내기 및 붙여 넣기 예제가 많지 않은 이유에 대한 좋은 아이디어를 제공 할 수도 있습니다. 기본적인 문제 : 셰이더는 OpenGL ES 서버 구성 및 해당 모델에 렌더링되는 모델과 밀접하게 연결되어 있습니다. 아직도. 렌더맨 셰이더는 REnderMonkey 툴에서 느슨하게 들어 올릴 수있는 훌륭한 출발점입니다.
지금까지 웹에서 찾은 가장 완벽한 셰이더 컬렉션 인 GPUImage ( https://github.com/BradLarson/GPUImage )를 살펴보십시오 . 그것들은 모두 GPUImage와 작동하도록 설계되었으므로 모두 동일한 구조를 공유하므로 응용 프로그램 / 게임에서 동일한 구조를 적용하면 여러 가지 다른 효과를 빠르게 가져올 수 있습니다.
건배!