C/C++ 에서 GLSL 코드를 쉽게 포함해 보자.

By | June 19, 2015

C/C++ 에서 GLSL 코드를 삽입하려면 “” 와 \n의 남발로 코드가 아래처럼 지져분해 진다.

매크로를 정의해서 아래처럼 쉽고 예쁘게 넣어보자. 물론 버전은 사용하는 GLSL 버전에 알맞게 수정한다.

코드편집기가 문법 하일라이팅을 지원하면 GLSL 코드에도 적용되어 읽기가 편하고 수정하기도 쉽다.

한 가지 문제점이 있는데 바로 GLSL코드 내에서 매크로를 사용해야 할 경우이다. 안드로이드 카메라를 개발할 경우 카메라 프리뷰에 GLSL코드를 적용하기 위해서 GL_OES_EGL_image_external 확장을 사용할 필요가 있다. 또한 같은 GLSL코드로 오프스크린 렌더링으로 GLSL코드가 적용된 이미지를 얻고자 사용할 때는 GL_TEXTURE_2D를 사용해야 한다. 이럴 경우에는 전처리문을 사용해야 하는데 위의 GLSL 매크로를 그대로 이용하면 원하는 결과가 나오지 않는다. 이럴 경우 어떻게 해결해야 할까?

위처럼 전처리문을 \n … \n 으로 감싸주면 된다.

출처 : http://youku.io/questions/287709/gcc-stringification-and-inline-glsl

Share on FacebookTweet about this on TwitterShare on Google+Share on RedditEmail this to someone