OpenGL 프로그래밍에서 좀더 C++를 잘 지원해주는 라이브러리는 없나요?
글쓴이: popuri / 작성시간: 금, 2014/12/12 - 9:10오후
현재 수치시뮬레이션을 하면서 그래프를 GLUT으로 그리고 있습니다.
수십만개나 되는 입자를 빠르게 플롯하는건 gnuplot 등을 사용하는것 보다는 GLUT등을 사용해서 내보내는게 월등히 빨라서 만족중입니다.
다만 프로그래밍 언어가 C++(정확히는 CUDA...지만)라서, GLUT을 사용하면서 boost와 같은 라이브러리와 함께 사용하려고하면 제대로 사용이 안됩니다.
예를들어서
void display(FooClass); ... glutDisplayFunc(boost::bind(display, some_objects)); // error!
와 같은 식으로 bind를 사용해서 함수를 넘겨줄려고 해도 제대로 되질 않습니다.(operator()를 사용해 함자를 만들어서 넘겨줘도 마찬가지고요)
결국 저렇게 되면 some_objects를 display에 넘겨주기 위해서는 전역변수를 쓰는수 밖에 없게되고, 수치계산부분과 출력부분을 완전히 모듈화 해서 나눠서 쓰는게 어려워집니다.
이부분에서 C 라이브러리가 아닌 C++ 라이브러리로써 GLUT같은 OpenGL 툴킷이 있었으면 좋겠다고 생각했습니다.
OGLplus 라는걸 찾긴 했는데 그 외에 다른(GLUT같이 간편하게 사용할수 있는...) 라이브러리는 없을까요?
Forums:
OpenGL은 어차피 스레드당 동시에 하나의
OpenGL은 어차피 스레드당 동시에 하나의 컨텍스트만 current 상태로 만들 수 있기때문에, 전역변수를 쓰는것이새로운 제약을 더하지 않습니다. 프로그램내에서 유일한 객체라면 그것이 전역변수가되어도 문제가될일이 없지요. 이게 모듈화를 저해한다고 하셨는데 전역 컨텍스트때문에 모듈화가 불가능하다면 설계가 잘못되었을 가능성이 있습니다. 애초에 그리는창은한개니까요.
댓글 달기