OpenGL ES 2.0 : 품질 쉐이더 리포지토리 [닫기]


10

저에게 고품질 OpenGL (OpenGL ES 2.0) 버텍스 및 프래그먼트 셰이더 의 저장소를 제안 해 주 시겠습니까?

픽셀 기반 리그 팅 쉐이더 (예 : phong ) 및 simmilar를 찾고 있습니다. 품질 대 셰이더 성능 중에서 선택할 수 있도록 더 많은 것을 보는 것이 좋을 것입니다.

답변:


16

복잡한 셰이더는 일반적으로 교환 가능한 톱니와 같이 프로젝트에 다운로드하여 사용할 수있는 종류의 것이 아닙니다. 일반적으로 더 흥미로운 효과를 얻으려면 결과를 얻기 위해 CPU 측 렌더링 서브 시스템에 약간의 결합이 필요합니다. 일반적으로 성능도 마찬가지입니다. 명령어 수 또는 파이프 라이닝에 대한 정확성 및 품질과 관련한 성능 균형은 응용 프로그램 별 요구 사항에 기인하는 경향이 있습니다.

결과적으로 당신이 생각하는 종류의 저장소에는 많은 것이 없습니다. GPU Gems 서적은 게임 및 음영 처리 된 코드 예제가 포함 된 다양한 요리 책 스타일의 기술 설명 모음을 제공합니다. Shader X 책도 마찬가지입니다.


매우 소중한 댓글 +1 조쉬 답변 주셔서 감사합니다. 글쎄, 사람이 셰이더 개발의 시작에 있다면, 일부 표준 셰이더가 어떻게 구현되는지 보는 것이 정말 도움이됩니다. 예를 들어 Phong (매우 표준 알고리즘)이 수행되는 방법, 픽셀 조명 셰이더 등 포인트 및 제공 한 소스는 좋은 자료입니다. 나는 그들을 살펴볼 것이다. 지금까지 내가 찾은 최고의 리소스는 OpenGL Shading Language book 및 Lighthouse 3D 사이트입니다.
Bunkai.Satori

2
그러므로 저는 여전히 좋은 효과의 개발을 보여주는 양질의 쉐이더 저장소를 환영합니다 . 이 스크립트는 스크립트를 결합하고 새로운 매력적인 효과를 만드는 지하실로 사용될 수 있습니다.
Bunkai.Satori

@Bunkai Satori 저는 Josh가 이런 종류의 리포지토리가 거의 존재하지 않는 이유라고 생각합니다.
공산주의 오리

@ 공산당 오리 : 안녕하세요, 귀하의 의견에 감사드립니다. 나는 이해. 여기의 모든 답변과 Josh의 답변에 감사드립니다. 그러나 내 마음에 온 것은 인터넷이 너무 커서 조쉬 이외의 누군가가 특정 셰이더에서 영감을 얻을 수있는 곳을 보았던 것을 기억할 것입니다. 셰이더를 많이 사용하는 회사 / 개인이이를 수집하고 일부를 게시 할 수도 있다고 상상할 수 있습니다. 조쉬의 대답은 내 후보 허용 대답 아무도 기여 곧 경우,이 스레드가 내 자신의 대답을 표시 닫습니다, 어쨌든.
Bunkai.Satori

13

많지 않지만 시작하기 위해 최소한 두 가지 기본 쉐이더도 열려있는 sorce 엔진 파일 사이에서 찾을 수 있습니다.

.vsh 파일에는 꼭짓점 셰이더가 포함되어 있고 .fsh 파일에는 조각 셰이더가 포함되어 있지만 자체 설명하는 것 같습니다.

현재 모바일 하드웨어에서는 가능한 한 정점 셰이더 내에서 최대한 많은 작업을 수행해야합니다. 멋진 모양의 빠른 게임을위한 요령은 항상 무언가를 의도 한대로 보이게 만드는 데 필요한 것을 정확하게 수행하는 매우 전문화 된 많은 셰이더를 작성하는 것입니다. 적어도 iPhone 4와 동일한 GPU를 사용하지만 데이터를 전달할 픽셀이 적은 iPhone 3GS에 대한 나의 경험입니다. 이것은 아마도 tegra 2에서 아마도 훨씬 더 좋으며 사과 A5 칩에서는 훨씬 좋습니다. 그러나 지금은 데스크탑 gpus의 쉐이더를 휴대 전화로 이식하려고 시도하지 않아야하며 훌륭한 성능을 기 대해서는 안됩니다 .P 이것은 전체 화면을 의미합니다 특히 고해상도 디스플레이를 사용하는 장치에서 효과가 느려집니다.

희망이 조금 도움이되기를 바랍니다 :).


안녕하세요, GDSE에 오신 것을 환영합니다. 좋은 대답입니다!
Notabene

좋은 답변을 얻으려면 +1하십시오. Slin 님 안녕하세요. GDSE에 오신 것을 환영합니다. 이 좋은 답변과 예제에 감사드립니다. 모바일 플랫폼 용 셰이더 프로그래밍과 경험을 공유하게되어 기쁩니다. 지금은 PC로 모든 개발을하고 나중에 이식 할 계획입니다. 그럼 당신의 경험은 감사하겠습니다.
Bunkai.Satori

9

http://glslsandbox.com/ 에서 비전 지식을 얻을 수 있습니다.


안녕 울란 이 컬렉션은 좋아 보인다. 이 셰이더를 다운로드 할 수있는 방법을 알려주십시오. 크롬에서 셰이더 컬렉션을 열려고하면 "WebGL이 지원되지 않습니다"라는 오류가 발생합니다. 감사합니다.
Vinodtiru

죄송합니다. webgl 호환성에 대한 기술 지원을 제공 해드릴 수 없습니다. 아마도 webgl을 지원하지 않는 하드웨어 일 것입니다. 또한 Linux Chrome 빌드는 아직 지원하지 않습니다.
UlanB

4

OpenGL ES 2.0에서 포그를 구현하는 방법을 찾고 있었을 때 OpenGL ES 2.0 에는없는 기능을 구현 하는 OpenGL ES 2.0 이전 버전과 호환되는 프로젝트에 대한 링크를 찾았습니다 ( 예 : 포그, 버텍스, 조각 (픽셀) 음영). 셰이더 소스를 직접 볼 수 있습니다 .

ClockworkCoders (OpenGL ES 2.0이 아님)로 만든이 예제를 수정하여 조각 당 조명도 구현했습니다 .

lighthouse3D 로이 훌륭한 튜토리얼을 살펴볼 수도 있습니다.


좋은 댓글 +1 안녕하세요 마틴, 링크 주셔서 감사합니다. 예, Lighthouse3D를 찾았는데 품질 리소스처럼 보입니다.
Bunkai.Satori

1

AMD RenderMonkey 패키지에는 샘플 파일 중 OpenGL ES 2.0을위한 고급 쉐이더가 포함되어 있습니다.

특히 GLES 샘플 디렉토리의 Renderman 셰이더 샘플을 살펴보십시오. 이는 좋은 시작점으로 작용할 수있는 다소 복잡한 베어 본 OpenGL ES 2.0 셰이더를 제공합니다. 또한 훌륭한 셰이더에 대한 잘라 내기 및 붙여 넣기 예제가 많지 않은 이유에 대한 좋은 아이디어를 제공 할 수도 있습니다. 기본적인 문제 : 셰이더는 OpenGL ES 서버 구성 및 해당 모델에 렌더링되는 모델과 밀접하게 연결되어 있습니다. 아직도. 렌더맨 셰이더는 REnderMonkey 툴에서 느슨하게 들어 올릴 수있는 훌륭한 출발점입니다.


1

지금까지 웹에서 찾은 가장 완벽한 셰이더 컬렉션 인 GPUImage ( https://github.com/BradLarson/GPUImage )를 살펴보십시오 . 그것들은 모두 GPUImage와 작동하도록 설계되었으므로 모두 동일한 구조를 공유하므로 응용 프로그램 / 게임에서 동일한 구조를 적용하면 여러 가지 다른 효과를 빠르게 가져올 수 있습니다.

건배!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.