From: owner-3dui@hitl.washington.edu on behalf of Wolfgang Stuerzlinger [wolfgang@cs.yorku.ca] Sent: Tuesday, September 19, 2000 4:14 PM To: Matthew Pilgrim Cc: '3d-ui@hitl.washington.edu' Subject: Re: ARToolKit - Input/output questions > Matthew Pilgrim wrote: > > Dear all, > > I have been using the ARToolkit for windows with a USB camera and a standard > graphics card/monitor for sometime now but would like to move on to use a > HMD to develop AR applications similar to that shown by Mark Billinghurst > and co. at SIGGRAPH2000. We have converted a lot of the toolkit to run in a > MFC window under Windows 95/NT/2000 (I maybe able to supply this to > interested parties!) and would like some advise on the following: > > 1) Most of the applications I have seen have been running on an SG where a > small view of the AR scene is shown in a window on the monitor and a full > screen version piped to the Glasstron HMD. Is this a function of the > graphics card/driver or is it done via software? We have a Hercules graphics > card with s-video out but are only capable of viewing the image either via > the HMD or the monitor but not both together. There are 2 answers to this: - On high-end SGI's you get multiple video outputs per graphics card. Each one of them can be configured to show all or a part of the screen at a user-defined resolution (yes, it filters the signal down). PC consumer graphics cards usually don't have this functionality. - The cheap solution is to buy a video splitter. In other words a box with one video in and two video outs. The quality of the outcoming signal is mainly determined by the quality of the electronics = price. > 2) ARToolkit documentation suggests that you can use (in theory) any camera > supported by Video for Windows. So if I buy a video capture card that has > an s-video in port and a tiny TV camera and connect them together I will > then be dependent on their being a correct driver available, is this > correct? Has anyone done this? Yes. If you get the right driver it should work, especially in Windows 2000. NOTE: For augmented reality make sure that your camera can output images at least at 20Hz at your desired resolution! Many cheap cameras output images at high enough resolutions with less than 20Hz (see next question). > 3) As mentioned earlier I have a USB camera (Logitech) working but this is > limited to 320*240 resolution and looks terrible when scaled to 800*600 for > s-video. Has anyone found a USB camera that gives suitable resolution and > refresh rates which is small enough to be head mounted? I suspect there is no USB camera, which fulfills your requirement. The fundamental problem is that the USB bus does not offer enough bandwidth. Consider 800*600*3(color)*20Hz =~ 30Mbyte/sec. Most cameras encode the color signal in NTSC fashion, that reduces these numbers significantly (around 3Mbyte/sec, depending on the details), but not to the level of the bandwidth available in the USB 1.0 spec (max 12Mbits = 1.5Mbytes/sec)! The next release of USB should go up to 48Mbits, that may solve this problem. > 4) Finally, the glDrawPixels OpenGL function is extremely slow on the PC > and infacts seems to conflict with the Hercules graphics card (symptoms > include - just won't render to screen!). Has anyone had similar experience > and/or tried any alternatives E.g. rendering the video image to a texture on > a 2D surface? There is only one real answer here: Get a better graphics card ;-)! Seriously, most probably the glDrawPixels call is emulated in software on your platform, because early graphics cards didn't support all OpenGL functionality in hardware. You may want to try defining a texture and rendering a quadrilateral with that textures. Maybe that's faster. Another limiting factor may be that you have a PCI bus based card. These are usually slow, due to the bandwidth limitation of the PCI bus. AGP (best AGPx4) is much better in this respect. My general advice is to switch to a graphics card based on the nVidia GeForceII chipset or something comparable. These are not that expensive and will provide you with enough power for your work. Just my CA$0.02 (about $0.013 US ;-) Wolfgang Stuerzlinger -- Wolfgang Stuerzlinger Dept. of Computer Science; York University CCB 256; 4700 Keele Street; Toronto, Ontario, M3J 1P3; Canada wolfgang@cs.yorku.ca http://www.cs.yorku.ca/~wolfgang