두 개의 픽셀 쉐이더가 필요합니다. 첫 번째 것은 한 가지 일을하고 다음은 다른 일을하는 것입니다. 이것이 가능합니까 아니면 하나의 쉐이더에 모든 것을 담아 야합니까?동일한 프로그램에서 여러 픽셀 (조각) 쉐이더를 사용할 수 있습니까?
답변
이렇게 할 수 있습니다 (예 : 주 진입 점에서 여러 쉐이더 객체에 구현 된 함수에 대한 함수 호출을 수행합니다.
main() {
callToShaderObject1()
callToShaderObject2()
}
그 callToShaderObject 기능의 각각 다른 쉐이더 객체에 살 수 있지만, 모든 객체는 사용하기 전에 같은 프로그램에 연결하고 연결해야합니다.
동시에 실행할 수는 없지만 다른 지오메트리에 대해 다른 셰이더를 사용하거나 다른 셰이더를 사용하여 여러 패스로 렌더링 할 수는 있습니다.
그래서 다른 프로그램이 필요합니까? 각 패스마다 다른 프로그램이 있습니까? 에서와 같이 하나의 프로그램에서 정점과 조각 쉐이더를 가질 수 있고 다른 프로그램에서 정점과 조각 쉐이더를 가질 수 있습니까? 기분이 좋을 때 glUseProgram()을 바꿀 수 있습니까? 근본적으로 장면을 두 번 렌더링하고 있습니다 ...? – Harry
정확히 맞습니다. 고정 파이프 라인의 다중 패스 렌더링과 비슷하지만 패스간에 OpenGL 설정을 변경하는 대신 다른 프로그램을로드하고 있습니다. –
- 1. 스프라이트 안에 픽셀 쉐이더를 사용할 수 있습니까?
- 2. YUV 조각 쉐이더를 통한 변환
- 3. 픽셀 쉐이더를 제어하기위한 키보드 입력
- 4. ActiveRecord와 DataMapper가 동일한 응용 프로그램에서 동일한 데이터베이스를 사용할 수 있습니까?
- 5. 여러 텍스처를 샘플링하고 동일한 픽셀 쉐이더에서 여러 텍스처로 렌더링
- 6. iPhone OpenGL ES 템플릿의 쉐이더를 수정하여 어떻게 만들 수 있습니까?
- 7. 회전 변환을 사용하는 픽셀 쉐이더를 사용할 때 Silverlight에서 픽셀/필터링 문제 발생
- 8. 페이지에서 동일한 사용자 컨트롤을 여러 번 사용할 수 있습니까?
- 9. MVC3에서 동일한 유형의 EditorTemplates를 여러 개 사용할 수 있습니까?
- 10. 여러 개의 등록간에 동일한 전자 메일 주소를 사용할 수 있습니까?
- 11. Lucene.Net에서 IndexSearcher의 동일한 인스턴스를 여러 스레드가 동시에 사용할 수 있습니까?
- 12. 여러 탭 화면에서 동일한 편집 텍스트 상자를 사용할 수 있습니까?
- 13. 단일 데스크톱 응용 프로그램에서 여러 SQL CE를 사용할 수 있습니까?
- 14. 동일한 TextView에 여러 서체가있을 수 있습니까?
- 15. CPU에서 Cg 버텍스/조각 쉐이더를 실행하는 방법은 무엇입니까?
- 16. 여러 개의 OpenGL 조각 쉐이더 결합
- 17. 플러그인 용 조각 프로젝트를 어떻게 사용할 수 있습니까?
- 18. 패치 프로그램에서 사용할 수 있도록 포맷 패치를 사용할 수 있습니까?
- 19. 고해상도 오프 스크린 프래그먼트 쉐이더를 만드는 방법은 무엇입니까?
- 20. 두 개의 동일한 조각 다르게
- 21. 여러 개의 출력이있는 픽셀 벤더 쉐이더?
- 22. 쉐이더를 사용할 때 QGLWidget에서 QGLWidget의 QPainter 사용하기
- 23. 서버와 클라이언트에 동일한 소켓을 사용할 수 있습니까?
- 24. StringIO와 동일한 cStringIO를 사용할 수 있습니까?
- 25. SQL의 별칭을 동일한 테이블에서 사용할 수 있습니까?
- 26. VB.net 프로그램에서 Java 라이브러리를 사용할 수 있습니까?
- 27. C 프로그램에서 C++ 라이브러리를 사용할 수 있습니까?
- 28. GeoServer를 상용 응용 프로그램에서 사용할 수 있습니까?
- 29. ASP.NET 응용 프로그램에서 XBAP를 사용할 수 있습니까?
- 30. C 프로그램에서 cstdio를 사용할 수 있습니까?
면세점에서 왜 단순히 조각 쉐이더의 모든 기능을 사용하는 것과는 달리이 작업을 수행할까요? 코드를 다른 셰이더 프로그램과 공유 할 수 있도록하려면 중복이 필요하지 않습니까? –
@ 닉 : 나는 그것이 자신을 사용하는 것을 보지 못했습니다. 셰이더 객체에서 셰이더 프로그램을 빌드하려는 아이디어에서 처음 스펙을 읽었을 때 놀랐습니다. 그것은 표준 컴파일 모델을 기반으로 제작되었습니다 ... – Bahbar
업데이트 : modine 된 MineCraft 쉐이더를 연구하면서 이것을 지금 보았습니다. 이 경우, 각 셰이더는 다양한 옵션을 사용하여 여러 가지 다른 효과와 함께 작동하거나 해제 할 수 있습니다. 이와 같은 시나리오에서 여러 작성자가 참여하는 경우 함수를 별도의 파일로 분리하는 것이 훨씬 더 유용합니다. –