[comp.sys.amiga] Questions about 3-D glasses.

haitex@pnet01.cts.com (Wade Bickel) (01/29/88)

In a letter crash!eniac.seas.upenn.edu!ranjit (Ranjit Bhatnagar) writes me:

> A couple of questions about your 3d package...
> 
> 	- any estimates on approximate cost of package w/one set of glasses?
> 

	       I'm not really sure what the price will be but they should 
	    be under $100 with software.  How much under will depend partly
            on how U.S. customs classifies them.
	    
> 	- why no intuition or multitasking?  Speed isn't really a factor
> here, because the fastest possible swap between eyes is 30 swaps/second.
> I'm no expert, but I can think of several ways to do this under multitasking
> and intuition that at least seem feasible.  For instance...
> 
		Essentially, speed is the factor.  In order to create reason-
	   able 3-D the highest possible switching rate must be maintained.
	   On most (but not all) Amiga's this is constrained to 60 switches
	   per second.  Since Intuition's screen update options all require
	   re-merging of the copper lists, they are out of the question be-
	   cause they take too long.
	   
	   	I have experimented with finding the ViewPort intuition is
	   using and using it for my LoadView() call to no avail.  It may
	   be possible to get around this, but intuition doesn't have enough
	   to offer to make it worthwhile.  Needed intuition functions are
	   always available by opening a window underneath a graphics screen.

> 	+ install a VBI interrupt, modeled after the one used on interlace
> 	screens, which changes the bitmap location of your stereo screen
> 	at every frame, and also (probably writing straight to hardware,
> 	for speed - I concede this intuition-stopper) sends the "change-eyes"
> 	signal to the glasses.
> 

		Actually, I have a little bit more complicated system sitting
	on the VBlank chain.  I also tried using the copper to generate the
	interrupt with some strange results (though it generally worked).
	Basically you have the right idea.  As noted above, intuition's
	screen re-draw functions are indeed too slow.	

	     Multi-tasking is stopped here because if another task tries to
	take the screen this server (VBlank) will try to take it back.  I
	think I see a work around to this problem.  I sent C= and a few others
	a suggestion that an addition be made to the Task Block structure
	to eliminate this problem but have gotten no response.

> 	+ use a normal interlace screen, and write left-eye pictures on even
> 	lines and right-eye pictures on odd lines.  This has the two dis-
> 	advantages of not being able to use standard line/area calls to
> 	draw into the screen, and when you pull down this screen to expose
> 	the workbench, the workbench will be interlaced too - causing
> 	ugly effects if the user keeps the glasses on.  The first trick
> 	has the nice property that you can pull down the screen and see
> 	the workbench with both eyes (unless it's an interlaced workbench).
> 

	      This is out of the question for a number of reasons (some of
	 which you point out.  In particular, it messes up the vertical 
	 orientation of things just a bit, and of course the drawing functions
	 are non-functional.

> 	+ do whatever the people who make ANIM and MOVIE players do.  They
> 	reach 30 frames/sec easily, and compatibly, while doing horrendous
> 	huge decompression calculations too.
> 

	       What do they do?  I'm always open to suggestions.

> Though I am quite interested in the use of LCD glasses for 3D, I would 
> not buy a package with these limitations, and I suspect that many others
> 
> would feel the same way - preferring to wait for a competitor to do the
> same thing with multi-tasking and intuition compatibility.  Unless it can
> be shown to be impossible, which I doubt.
> 

	There comes a point of diminishing returns for trying to support
these features.  It is my hope that I will be able to perform a work around
for the multi-tasking problem that will be almost transparent, or maybe
someone will offer a solution I've not seen?

	I hope people can live without intuition as it carries too much 
inappropriate overhead to really use.   I've seen a suprising number of
graphics aplications and games which do not use intuition.

> By the way, it would be nice if you could post this to comp.sys.amiga,
> if what I said isn't completely stupid, so I can hear what others think.
> (I can't post from here.)
> 

	OK.  I'm posting it with my responses to avoid redundancy.
	
	
	
						Thanks for your intrest,
						
						
							     Wade W. Bickel
							     Haitex Resources.

						
	


UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex
ARPA: crash!pnet01!haitex@nosc.mil
INET: haitex@pnet01.CTS.COM

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (01/31/88)

In article <2444@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes:
>In a letter crash!eniac.seas.upenn.edu!ranjit (Ranjit Bhatnagar) writes me:
>> 	- why no intuition or multitasking?  Speed isn't really a factor
>> here, because the fastest possible swap between eyes is 30 swaps/second.
>> I'm no expert, but I can think of several ways to do this under multitasking
>> and intuition that at least seem feasible.  For instance...
>> 
>		Essentially, speed is the factor.  In order to create reason-
>	   able 3-D the highest possible switching rate must be maintained.
>	   On most (but not all) Amiga's this is constrained to 60 switches
>	   per second.  Since Intuition's screen update options all require
>	   re-merging of the copper lists, they are out of the question be-
>	   cause they take too long.
>	   
	Sez you!						:-)

> but intuition doesn't have enough to offer to make it worthwhile.  [ ... ]

	Oh, I dunno.  Screen dragging is pretty nice...

>	     Multi-tasking is stopped here because if another task tries to
>	take the screen this server (VBlank) will try to take it back.  [ ... ]

	There is no, repeat, NO excuse for disabling multitasking for this
application.

>> 	+ use a normal interlace screen, and write left-eye pictures on even
>> 	lines and right-eye pictures on odd lines.  [ ... ]
>
>	      This is out of the question for a number of reasons (some of
>	 which you point out.  In particular, it messes up the vertical 
>	 orientation of things just a bit, and of course the drawing functions
>	 are non-functional.
>
	They ARE???  Gee, I guess my 'box' program is working by black magic
then....

>> Though I am quite interested in the use of LCD glasses for 3D, I would 
>> not buy a package with these limitations, and I'm sure others
>> would feel the same way - preferring to wait for a competitor to do the
>> same thing with multi-tasking and intuition compatibility.  [ ... ]

	I guess we have a sale right here....

>	There comes a point of diminishing returns for trying to support
>these features.  [ ... ]

	On the other hand, if you don't support multitasking or Intuition,
you're going to get flamed to a crisp on the Net and elsewhere for it.

	I've written a number of programs utilizing our 3D technology.  The
most esoteric I've gotten is to use raw ViewPorts and pingpong between them
using an interrupt routine.  This in no way impedes multitasking; you
simply can't bring the workbench to the front in this case.

	I've written a program that bounces a ball around in a 3D box.  It
uses an Intuition screen that can be dragged, and uses standard graphics
calls.

	I've written a 3D viewer for Videoscape 3D objects.  It uses
Intuition screens, windows, gadgets, layers, and standard graphics calls.
If the application demanded it, I could have used menus, too.  It multitasks.
It works.

	Mind you, you have to pull some coordinated tricks, but it's
doable.

	We'll be using the Sega glasses, but I'm very interested to see
yours.  Ours should be out Real Soon Now.

	See you on the shelves....			:-)

	(Consider this article the friendly posting that it is.  I'm not
attacking you.  I'm sure you do stuff we don't.)

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_		Recumbent Bikes:	      dual ---> !{well,unicom}!ewhac
O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor

blgardne@esunix.UUCP (Blaine Gardner) (02/01/88)

in article <2444@crash.cts.com>, haitex@pnet01.cts.com (Wade Bickel) says:
> In a letter crash!eniac.seas.upenn.edu!ranjit (Ranjit Bhatnagar) writes me:
>> A couple of questions about your 3d package...
>> 	- any estimates on approximate cost of package w/one set of glasses?
 
> 	       I'm not really sure what the price will be but they should 
> 	    be under $100 with software.  How much under will depend partly
>             on how U.S. customs classifies them.

Just curious, are you using Tektronix glasses, Stereo Graphics visors,
or... ?



-- 
Blaine Gardner @ Evans & Sutherland    540 Arapeen Drive, SLC, Utah 84108
UUCP Addresses:  {ihnp4,ucbvax,allegra,decvax}!decwrl!esunix!blgardne
        	 ihnp4!utah-cs!esunix!blgardne        usna!esunix!blgardne
"Nobody will ever need more than 64K."    "Nobody needs multitasking on a PC."

haitex@pnet01.cts.com (Wade Bickel) (02/02/88)

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
[ > = Leo,  >> = my earlier posting. >>> = Ranjit Bhatnager) ]
>
>>	     Multi-tasking is stopped here because if another task tries to
>>	take the screen this server (VBlank) will try to take it back.  [ ... ]
>
>	There is no, repeat, NO excuse for disabling multitasking for this
>application.
>

	I'm not "disabling" multi-tasking, and if the user wishes to bring a
     task forward, I can deal with that.  The problem occures if some unknown
     task takes the console.  Short of examining the EXEC lists prior to 
     a screen flip, which I may try to do, I can see no reasonable way around
     this.  I could go to an interlace screen but this would cause problems
     should people which to pop back to CLI, which would then be in interlace.

>>> 	+ use a normal interlace screen, and write left-eye pictures on even
>>> 	lines and right-eye pictures on odd lines.  [ ... ]
>>
>>	      This is out of the question for a number of reasons (some of
>>	 which you point out.  In particular, it messes up the vertical 
>>	 orientation of things just a bit, and of course the drawing functions
>>	 are non-functional.
>>
>	They ARE???  Gee, I guess my 'box' program is working by black magic
>then....
>
	Thanks Leo, I guess it is worth a bit more experimentation.  I've seen	
      your box demo.  Have you seen mine?  I have a program which spins 3-D
      objects (wire frames, soon filled polygons) in 3-space with parallax.
      Just how calculation intesive are your real-time demo's?  We are also
      working on a game which uses tabulated data as opposed to calculated
      perspectives, which is how I suspect your 'box' program works (which
      I have, by the way).

>
>>	There comes a point of diminishing returns for trying to support
>>these features.  [ ... ]
>
>	On the other hand, if you don't support multitasking or Intuition,
>you're going to get flamed to a crisp on the Net and elsewhere for it.
>

	Do people on the Net buy games?  I suppose some do.  I don't intend
      to use intuition simply because I don't need it.  Eventually I may re-
      consider, but for now the graphics system works well enough.  Most
      multi-tasking applications will work, but some user attention may be
      required. 

>	I've written a number of programs utilizing our 3D technology.  The
>most esoteric I've gotten is to use raw ViewPorts and pingpong between them
>using an interrupt routine.  This in no way impedes multitasking; you
>simply can't bring the workbench to the front in this case.
>
	How do you keep your interrupt routine from interfereing with other
      tasks which might also want to claim the sceen?

>	I've written a program that bounces a ball around in a 3D box.  It
>uses an Intuition screen that can be dragged, and uses standard graphics
>calls.
>
>	I've written a 3D viewer for Videoscape 3D objects.  It uses
>Intuition screens, windows, gadgets, layers, and standard graphics calls.
>If the application demanded it, I could have used menus, too.  It multitasks.
>It works.
>
>	Mind you, you have to pull some coordinated tricks, but it's
>doable.

	Care to be a bit more enlightening?

>
>	We'll be using the Sega glasses, but I'm very interested to see
>yours.  Ours should be out Real Soon Now.
>
>	See you on the shelves....			:-)
>

	Good.  Our glasses are much better than the Sega glasses.  We had
      looked at buying 4 different types of glasses, including the Sega
      glasses and decided on the ones we're releasing because they're better.

	If you'd like a pair let me know.  I can (probably) send you a pair
      for free.      
      
>	(Consider this article the friendly posting that it is.  I'm not
>attacking you.  I'm sure you do stuff we don't.)
>

	On the contrary Leo, because of your posting, I will re-examine the
      possiblity of using interlace screens again.  When I did this before
      I had much less Amiga experiance than I now do, so I may have a bit 
      better luck this time.  Clearly if I can do this then supporting both
      intuition and Multi-tasking becomes trivial.  Any clues as to how you
      use the draw() function to draw lines into only half an interlace 
      screen?

	Leo, when you say "We" do you mean UmiCorp or someone else?  As
      I understood it you'd taken the "activision" (??) contract to convert
      some programs.  Are these 3-D?

	Also, I heard a rumor that Nintendo's 3-D glasses products were to
      be indefinitly delayed, particularly due to a lack of good software.
      Have you or anyone else heard anything along these lines?


							Thanks,


								Wade.



UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex
ARPA: crash!pnet01!haitex@nosc.mil
INET: haitex@pnet01.CTS.COM

yuan@uhccux.UUCP (Yuan Chang) (02/03/88)

In article <2467@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes:
>
>	Also, I heard a rumor that Nintendo's 3-D glasses products were to
>      be indefinitly delayed, particularly due to a lack of good software.
>      Have you or anyone else heard anything along these lines?

	I'm not too sure about American version of the Nintendo game 
machines, but the Japanese version has 3-D glasses for quite a while
now.  Several games that I've seen in my friend's collection has a
3-D logo on them, so I'm pretty sure they're still being produced
(in Japan, that is.  According to my friend, softwares for American
version of the Nintendo still lags the Japanese version by about
two years [the Japanese version uses a cartridge about half as 
small as the American version]).  

	Anyway, the glasses that my friend has use those ancient 
blue/red filters to accomplish the 3-D effects.  And the results
are abysmal, understandably.  I remember hearing my friend
mentioning that there's LCD-shutter type glasses out now, but I'll
ask him more about that before I make a fool of myself...  8)

>
>
>							Thanks,
>
>
>								Wade.
>
>
>
>UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex
>ARPA: crash!pnet01!haitex@nosc.mil
>INET: haitex@pnet01.CTS.COM


-- 
Yuan Chang 
UUCP:      {ihnp4,uunet,ucbvax,dcdwest}!sdcsvax!nosc!uhccux!yuan
ARPA:	   uhccux!yuan@nosc.MIL               "Wouldn't you like to 
INTERNET:  yuan@uhccux.UHCC.HAWAII.EDU         be an _A_m_i_g_o_i_d too?!?"

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (02/04/88)

In article <2467@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes:
>     I could go to an interlace screen but this would cause problems
>     should people which to pop back to CLI, which would then be in interlace.
>
	Why is this a problem?  The CLI will only be interlaced if one of
the screens is dragged to reveal the other one.  If the CLI has the screen
all to itself, it won't be interlaced.  Apart from making the CLI screen
jitter, there are no other adverse effects.

	There are other compelling (somewhat esoteric) reasons for using
interlace, too...

>>>	 ...the drawing functions are non-functional.
>>>
>>	They ARE???  Gee, I guess my 'box' program is working by black magic
>>then....
>>
>	Thanks Leo, I guess it is worth a bit more experimentation.  I've seen	
>      your box demo.  Have you seen mine?  [ ... ]

	'Fraid not.

> We are also working on a game which uses tabulated data as opposed
> to calculated perspectives, which is how I suspect your 'box' program works

	Nope, I'm calculating everything on the fly.  Mind you, I'm cheating
a bit...

>	How do you keep your interrupt routine from interfereing with other
>      tasks which might also want to claim the sceen?
>
	Perhaps you're thinking farther ahead than I am, but what other task
might want to claim the screen?  My ViewPort-oriented program is used just
for viewing 3D stills.

>>	Mind you, you have to pull some coordinated tricks, but it's
>>doable.
>
>	Care to be a bit more enlightening?
>
	It'll all be in the manual, as part of the released kit.  So
everyone who buys one will find out how it's done.

>	Good.  Our glasses are much better than the Sega glasses.  We had
>      looked at buying 4 different types of glasses, including the Sega
>      glasses and decided on the ones we're releasing because they're better.
>
	We liked the Sega glasses because they have built-in neutral grey
filters, and they're relatively cheap.  Your glasses sound interesting; who
makes them?

> As I understood it you'd taken the "activision" (??) contract to convert
> some programs.  Are these 3-D?

My Official Employment Status
-----------------------------

	I am currently working with Reichart Von Wolfsheild (the author of
FirePower) on a project.  The official straight-line is that we're working
on a Superconducting Compact Disk Player :-).

	Actually, I'm working on something else, but I want it to be a
surprise...

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
 \_ -_		Recumbent Bikes:	      dual ---> !{well,unicom}!ewhac
O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor

harald@leo.UUCP ( Harald Milne) (02/05/88)

In article <5146@well.UUCP>, ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
> 	I am currently working with Reichart Von Wolfsheild (the author of
> FirePower) on a project.  The official straight-line is that we're working
> on a Superconducting Compact Disk Player :-).

	I hope you are not! I was thinking of Superconducting Blue Ether cables!

	You guessed my game, EtherToys!

	Oh well.

	But I do have a few in mind, one of which grew out of necessity. The
need to know machine status, before us gurus get harassed to death. Something
along the line of Star Trek klaxons going off before being inundated. Ping
status, etc. Toys.

	That, and the fastest vt100 on this side of the planet/Ether.

	I like it, EtherToys!

	So, how long before we see you on our shelves? 8^). I can't wait!

> Leo L. Schwab -- The Guy in The Cape	ihnp4!ptsfa -\
>  \_ -_		Recumbent Bikes:	      dual ---> !{well,unicom}!ewhac
> O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
> "Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor
-- 
Work: Computer Consoles Inc. (CCI), Advanced Development Group (ADG)
      Irvine, CA (RISCy business! Home of Regulus and hamiga)
UUCP: uunet!ccicpg!leo!harald

haitex@pnet01.cts.com (Wade Bickel) (02/07/88)

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes:
>In article <2467@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes:
>>	How do you keep your interrupt routine from interfereing with other
>>      tasks which might also want to claim the sceen?
>>
>	Perhaps you're thinking farther ahead than I am, but what other task
>might want to claim the screen?  My ViewPort-oriented program is used just
>for viewing 3D stills.
>

        I don't know either, but I have to assume that such a thing could
happen and accomodate it or I have to say my system does not multi-task!


                                                        Thanks,


                                                                Wade.

UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex
ARPA: crash!pnet01!haitex@nosc.mil
INET: haitex@pnet01.CTS.COM