!!!GLAUX から OpenGL の使用例。 {{ref_image WS000000.JPG}} ::必要なファイル :::[ここ|http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/cbuilder/glut-3.7.static/bcc55/lib/]から、glaux.libとglaux.dllを取得。glaux.hがInclude/Glディレクトリにない場合は、[ここ|http://www.rimath.saitama-u.ac.jp/lab.jp/tsakurai/opengl/cbuilder/glut-3.7.static/bcc55/include/GL/]から取得。{{br}} :::glaux.libはC:\borland\bcc55\Lib\PSDKに配置。glaux.dllはC:\borland\bcc55\Binに配置。glaux.hはC:\borland\bcc55\Include\Glに配置。 ::参考サイト :::[OpenGL Win32 Tutorial|http://www.nullterminator.net/opengl32.html]{{br}} :::[OpenGL (3D グラフィックス)|http://mail2.nara-edu.ac.jp/~asait/open_gl/opengl.htm]{{br}} :::[Visual C TechTips|http://techtips.belution.com/ja/vc/0009/]{{br}} :::http://64.233.179.104/search?q=cache:wMA0FX_fN2UJ:miso.ice.ous.ac.jp/~oka/opengl/section05.html+AUX_DOUBLE&hl=ja&gl=jp&ct=clnk&cd=1&lr=lang_ja&client=firefox ::ソースコード -main.h #include #include #include #include #define SCREEN_WIDTH 640 #define SCREEN_HEIGHT 480 #define WINDOW_TITLE "OpenGL with GLAUX." -main.cpp #include "main.h" #include "CGlUtil.h" int main(int argc, char ** argv) { CGlUtil *glUtil = new CGlUtil(); glUtil->GlMainProc(); delete glUtil; return 0; } -CGlUtil.h #include "main.h" class CGlUtil { public: CGlUtil(); ~CGlUtil(); void GlMainProc(void); private: static GLfloat eye[]; void GlInit(void); static void CALLBACK GlDisplay(void); static void CALLBACK GlReshape(GLint, GLint); }; -CGlUtil.cpp #include "CGlUtil.h" GLfloat CGlUtil::eye[] = {40.0, 10.0, 20.0}; CGlUtil::CGlUtil() { } CGlUtil::~CGlUtil() { } void CGlUtil::GlMainProc(void) { auxInitDisplayMode(AUX_DOUBLE | AUX_RGBA | AUX_DEPTH); auxInitPosition(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); auxInitWindow(WINDOW_TITLE); GlInit(); auxReshapeFunc(GlReshape); auxMainLoop(GlDisplay); } void CGlUtil::GlInit(void) { GLfloat light_position[] = {100.0, 100.0, 100.0, 0.0}; glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); } void CALLBACK CGlUtil::GlDisplay(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(eye[0], eye[1], eye[2], 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); auxSolidCylinder(1.0, 2.0); glFlush(); auxSwapBuffers(); } void CALLBACK CGlUtil::GlReshape(GLint w, GLint h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(10.0, (GLfloat)w/(GLfloat)h, 1.0, 100.0); glMatrixMode(GL_MODELVIEW); }