libAmanithVG.lib, opengl32.lib, glu32.lib를 의존합니다.
샘플은 VS2010으로 작성되어있으므로, 이전 버전으로 열려고 할때는 일반 프로젝트로 연 후에 위 3개 라이브러리파일을 지정해줄 필요가 있습니다.
샘플을 살펴보면서 대체적인 처리의 흐름
initOpenVG
vgPrivContextCreatMZT=> release with
vgPrivSurfaceCreateMZT
vgPrivMakeCurrentMZT
vgPrivSurfaceDestroyMZT
vgPrivContextDestroyMZT
PS_CONSTRUCT라는 로컬함수에서 각종 파라메터 설정을 명령배열에 따라서 처리하고 있습니다. 향후 3D->2D변환 과정에서는 일련의 3D정점을 일괄적으로 투영한 후에, 그 배열을 VG로 넘겨주는 식으로 처리가 되어야할것으로 보입니다.
이 과정에서는 행렬 처리가 가능할것으로 예상되니 OpenML같은 처리를 할수있으면 해두는게 좋을듯 해보입니다. 투영처리 관련쪽으로는 관련 오픈 라이브러리의 코드를 참고해서 만들까 생각하고 있습니다.
drawScene (in main loop)
* get width&height by vgGetSurfaceWidth(or Height)MZT(); vgSeti(VG_RENDERING_QUALITY, ...);
vgSeti(...);
vgClear();
vgLoadIdentity
vgTranslate...
vgScale...
...
...
PS_RENDER() {
vgSeti(VS_FILL_RULE,rule of array);
setting styles.. by vgSeti
vgSetPaint
}
vgDrawPath
}
댓글 없음:
댓글 쓰기