AR Toolkit Investigation Log
6.15.05 - Began investigating compiling the AR tools for
tutorial -- 39 build errors related to "#include" framework files
(location). PM - Song fixed file
locations; builds ok!
6.16.05 - Ran SimpleTest; built with no errors but ran
w/errors associated w/OpenGL & GLUT.
Downloaded and installed GLUT 3.8 to the Frameworks directory per Song's
discovery. Got same errors upon
running SimpleTest again--#1 = object non-aligned pointers being freed (various
6) and #2 = GLUTInit being called a second time. SimpleLite ran fine.
6.17.05 - Looked at code to try to determine difference
between running SimpleLite and buggy, non-running SimpleTest code. Discovered different "gsub"
includes used. Got AR cube in
SimpleLite to spin.
6.21.05 - Learned proper way to include Mac OS X GLUT
Frameworks. Learned difference
between gsub.h & gsub_Lite.h and why SimpleLite runs and SimpleTest doesn't
(kind of). It's related to two GLUTInit
functions being called--one in gsub.h (used by SimpleTest) kicks the program
out. Completed an XCode/GLUT
tutorial to learn how to properly develop Carbon C applications for Mac OS X in
XCode and how to compile and use GLUT to produce simple graphics,
manipulations, and animations.
6.23.05 - Went through the code for the C AR program
"SimpleTest" line-by-line, researched the functions, figured out what
it did and how, and analyzed its structure for possible reasons for its not
working. The main procedure ends
with "return (0)" and includes a call to a procedure called
"init" which contains the function "GLUTInit". This could be the cause of our error
where GLUTInit is called a second time.
However, Song pointed out that the video paths did not seem to be
opening the same as they do in the program "simpleLite" so even if
the GLUTInit problem is solved, there may be other reasons preventing
"SimpleTest" from running correctly.
6.24.05 - Worked on analyzing the difference in the
procedures between "SimpleTest" and "SimpleLite". SimpleLite looks like original code for
the ARToolkit; SimpleTest's documentation notes it has been modified and also
lacks some of the standard ARToolkit comments, indicating it may have simply
been added to the kit by third party.
Altered code for SimpleTest and got it to actually run and open up the
video camera settings window correctly and open up a graphics
window/context. However, the
graphics window was dark and did not relay video signal. We believe the code may just not work
on the Mac or may be incomplete (some functions seem to be missing and would
require inclusion of three long procedures from SimpleLite which would make the
two programs practically the same.
However, a possibility struck me that differences in the include OpenGL
libraries may be preventing the programming from being able to draw the video
in the graphics window (will mod these lines of code next time to test). Also planning on compiling SimpleTest
on a Windows machine to test if it's simply a Mac Unix issue or if it simply
won't work on either machine because it's buggy and incomplete. Interestingly, an AR demo downloaded
off the internet for Mac that produces a virtual fireworks display runs with
the title "SimpleLite" appearing on the Program Menu Bar. We also realized that by making the necessary changes to
SimpleTest to make it work and making it practically the same as SimpleLite
then the only difference between them is the inclusion of
"gsub_lite.h" instead of "gsub.h". gsub_lite.h adds some simplified
functions but at the loss of several functionalities including stereoscopic HMD
and GLUT event monitors. However,
tests showed that both gsub.h and gsub_lite.h could run simultaneously without
problems so SimpleLite could still access the stereoscopic HMD and GLUT event
functions by simply adding the inclusion of the gsub.h file in addition to
gsub_lite.h and calling the appropriate functions. Also, by noting that the drawing procedures for the cube was
different in SimpleTest vs. SimpleLite we stumbled across the OpenGL/GLUT
functions required to draw other shapes.
We were able to produce a hovering sphere off the marker instead of the
cube and got it to spin, etc. The
only thing missing is the understanding of how to apply textures and shading to
the objects in order to get Song's spinning planets. We found some tutorials to learn how to do this and will
look at these next session.
6.26.05 - The OpenGL library difference theory turned out to
not be the answer. The #include
code in "SimpleTest" is actually the same as in
"SimpleLite", just written in a convoluted way. We attempted to setup and compile
SimpleTest on a Windows machine but ran out of time due to the number of
pre-reqs that needed to be loaded first.
We will attempt to complete this next session as well as learning about
adding textures to our 3D virtual objects.
6.27.05 - Went through tutorials for coloring and texturing
objects with GLUT. Learned how to
do it but couldn't compile it to do so.
We think this is due to not adding/linking all the correct
libraries. The specific code
required is not long and we feel we could get it to go with time but agreed
that we can't allow ourselves to get behind dealing with these details instead
of investigating the other AR technology options first. If we decide that ARToolkit is going to
be our choice, then we will go back and spend the time to get this to work for
us. We didn't explore the
installation of ARToolkit on the Windows machine due to networking problems
that prevented us from installing the required pre-req's. This will be done in pm to prepare for
next session.
6.28.05 - While preparing pre-req's to run ARToolkit and MXR
Toolkit on Windows, the thought occured that perhaps the reason SimpleTest
won't run on Mac is because it is using commands accessing DirectShow drivers
(for PC). A DirectShow driver installation
is listed as a requirement for the PC installation of ARToolkit but not for
Mac. Downloaded/installed Visual
C++ Express 2005, DirectX 9 SDK, Direct Show video library, glut, and open gl
for windows.
6.29.05 - Tried to include missing frameworks and libraries
that were indicated when we tried to compile glut and DSVideo. Failed. Next we'll move on to DART under Song's
direction. We'll return to the last step of ARToolkit and MXRToolkit at a later
date once we can ascertain the problem with Windows.