![]() ![]() ![]() |
제목 | [Gamasutra]GPU 메타프로그래밍 툴킷 Sh | ||||||
---|---|---|---|---|---|---|---|
분류 | 게임 | 등록일 | 04.09.13 | ||||
출처 | 한국콘텐츠진흥원 | 조회수 | 0
|
||||
본 칼럼은 CMP Media와 제휴를 통해 번역하여 제공합니다.
The Sh GPU Metaprogramming Toolkit
By Michael McCool
Sh는 GPU를 C++로 프로그래밍할 수 있도록 해주는 툴로, 워털루 대학(University of Waterloo)에서 개발한 공개 오픈소스 시스템이다. 이것은 기본적으로 GPU 쉐이더 프로그램을 컴파일하고 런타임 환경설정을 지원하는 C++ 라이브러리로 구성되어 있다. 이 라이브러리는 연산자 오버로딩을 이용하여 명쾌한 고급 레벨 API를 구축한다. 그러므로 Sh 프로그램에서의 정의 방법은 C++에서와 같이 간단하면서, 전용 쉐이딩 랭귀지에서 쉐이더를 쓰는 것과 같이 풍부한 표현을 할 수 있다. 여기에 덧붙여 Sh는 C++의 범위 규칙을 적용할 수 있어, C++의 클래스, 템플릿, 함수, 사용자 정의 타입 등 모든 기능을 이용하여 GPU코드를 모듈화하고 조작할 수 있다. 또 Sh 프로그램을 호스트 응용프로그램에 결합하기 위해 따로 접합 코드를 사용할 필요가 없다: 이들은 그냥 응용프로그램의 확장기능인 것처럼 활용된다. 예를 들어, 쉐이더 파라미터들과 텍스처들을 변수로 선언하면 쉐이더 정의 시 바로 이용할 수 있도록 Sh에서 나머지 내부적인 처리를 수행한다. Sh는 복잡한 멀티패스 렌더링 알고리즘에서 쉐이딩 언어로 사용할 수 있고, 또 다른 한편으로는 (시뮬레이션과 같은) 범용 스트림 계산을 구현하는 데 사용할 수도 있다...중략...
※ 자세한 내용은 첨부문서(pdf) 를 참고하시기 바랍니다.
|
|||||||
첨부파일 |