Intel Visual Fortran と ARToolKit を LINK 出来ました。
とりあえず、最も簡単な方法として、Fortran 側は OpenGL での図形描画のみを行うこととして、描画サブルーチンを C 側のメインルーチンから呼ぶことにします。
Fortran のサブルーチン。
SUBROUTINE fcall() BIND(C) USE, INTRINSIC :: ISO_C_BINDING USE opengl_gl USE opengl_glu USE opengl_glut IMPLICIT NONE CALL glTranslatef(0.0_glfloat, 0.0_glfloat, 0.75_glfloat) CALL glutWireSphere(1.0_gldouble, 10_glcint, 10_glcint) RETURN END SUBROUTINE fcall
一方、ARToolKit 側は、一番簡単な simpleLite.c をいじくることにして、Display 関数の中の1行を書き換えます。
すなわち DrawCube(); を fcall(); へ。
// All other lighting and geometry goes here.
//DrawCube();
fcall();
あとはリンカーのパスを通してやれば(これがかなり面倒ですが)動きます。C のメインプログラム側に、F90GLxx.lib の類を登録し、パスも指定すれば良いようです。
また Fortran Program のプロジェクト形式は Static Library で良いようです。