WWDC1997 Session 304

Transcript

Kind: captions
Language: en
good morning this is the first QuickTime
VR session and today we're going to talk
about KPI stuff my name is David Palermo
and I can't see anybody out there
I'm the QuickTime VR evangelist so if
you want to be seated with new stuff to
test and everything go through me my
emails Palermo and Apple comm like I
said we're going to focus on API
specific issues today
it was another session at about 150 in
room B that will talk about tools
third-party tools excuse me Apple tools
web kind of stuff and whatnot so be sure
to join that one as well
last night got my new Mac World magazine
it's always nice to see another
application supporting QuickTime VR this
is July is anyone here from electric
cafe clap if you are ok no one's here
anyway a program called model shop 3.0
supporting QuickTime VR 2.0 so I thought
that was pretty good news
for those of you who don't have the API
and would like it it's on this CD and
every one of you should have this CD
it's also on the technology speed which
you have to request this was April's we
started putting that on in April it will
also be on the main CD so anyway I'm not
going to talk too much here because I
know you want to get into it
Tim Monroe is going to bring you through
a bunch of steps that you can do today
using the API that was released a few
months ago we will have the Windows
version coming out as soon as QuickTime
3.0 for Windows comes out as well so the
stuff that you see today will be
cross-platform in a couple months ok Tim
it's like take it come on can you hear
me good that's the way to say yes I
can't see out there so when I ask a
question who does what clap to let me
know you agree I really want to take
only 50 minutes of talking I want
leave I fully intend to leave 10 minutes
for you guys to get into some Q&A with
us to hear your feedback and get some
get some reactions of what we're going
to show you I have three goals today in
the next hour the first thing I want to
do is make it clear to you what the qtvr
API will let you do now the trouble is -
to do that I can just talk about the API
I've got to do a little bit of
groundwork to let you know what
QuickTime VR without the API can let you
do so that then you can see what added
value the API gives you so the first
thing I want to do is explain what value
you get from the API that you don't get
just from pure authoring the second
thing I want to do is to motivate you to
use the API I want to get you excited
with the stuff we're going to show you I
want to make you want to do that and
give me your applications third thing I
want to do is convince you that this
isn't rocket science it's real easy to
do so this is the complete API
documentation in fact to bulk this book
up we had to stick in the file format
and the information on the movie
controller to get a enough pages to
print so the API is extremely powerful
but it's not like the QuickTime
documentation where you need to
three-inch books to get through it ok
let's talk about QuickTime itself for a
minute or QuickTime VR this is a
complete lie
things have changed don't believe that
slide that's not a lie and that's that's
pretty close so what I'm going to do
first is explain where VR what it
provides you then talk about the API
show you talk about media integration
with the API
and then get on to what I'd love to go
to straight off which is the demos
because I really think I really think
they're fun thanks mom
QuickTime VR is two technologies in one
package one technology is the imaging of
panoramas that's where you're standing
at a point and you can look around you
360 degrees hopefully so that's the what
we call a panorama movie or for short
just panorama the other technology that
VR gives you is object movies that's
where you have an object in front of you
and you can turn the object in various
ways zoom in on it manipulate the object
so these are just two separate things
that you can do with VR a panorama is
what you see in a panorama is uniquely
determined by three factors your pan
angle that is to say your horizontal
displacement in the circle your tilt
angle your vertical displacement up and
down and your zoom factor or field of
view those three things give you the
image that you see on the screen in a
panorama an object is a little bit more
complicated it's got a pan it's got a
tilt it's got a zoom or field of view it
also has another feature called a View
Center where you can take the object and
just translate it right and left it's
all my notes right here
it's compressed quite heavily okay let's
talk about 2.0 the current release of
the VR technology is QuickTime VR 2.0
actually that's a lie but I'll talk
about that in a second
this was released in February we really
wanted to get it there for the January
Macworld but the testing the quality
wasn't there we delayed it so you would
have a quality workable product and I
have to say just from using the API
extensively it's really solid I have yet
to find a really bad bug that won't let
me do what I want it's a very solid API
I pound on it every day and it does what
I want it's really cool okay so we have
panorama movies we have object movies
and we have one other thing that I'm
going to call a scene a scene is just a
bunch of movies or nodes so each node
can be either a panorama or an object
when you link them together into a
navigable doohickey you get what I want
to call a scene so a scene is what you
standardly think of is a QuickTime VR
file it contains one or more nodes each
node is either a panorama or an object
and you can mix and match you can have
objects and panoramas in a scene okay a
lot of what I'm doing here is just
laying the groundwork giving you some
vocabulary that when I start talking
about views or seams you'll know what
I'm talking about okay see what we have
here
I won't be able to tell you everything I
know today so or everything you need to
know the program for further information
you should get this book and I say that
not simply because I wrote it but
because you need it to do virtual
reality programming the QuickTime VR
also we are going to have articles
forthcoming in mac tech magazine which
expand a little bit on the book and
actually overlap a little bit with what
I'm going to talk about today and we
also have source code that is on the CD
that's in the back of the book that's a
virtual CD and we will have the same
source code and additional source code
up on the the web and the URL indicated
ok I don't want to get to that yet
because I I need to talk more about just
VR itself yeah maybe I don't what can
you do with the QuickTime yes I do I'm
going to backup a panorama is really the
easiest to come to grips with a panorama
is that like I said is just a 360 or
last degree view of some location in
space an object is and that's all there
is to it really nothing more than that
very simple making a panorama you just
go out to some pictures stitch them
together do a few magic tricks and
you've got a panoramic movie object
nodes are a little trickier in what they
are an object really to shoot an object
movie if you've done this you just go
out and you take shots of the object
from all the possible pan and tilt
angles and then you organize those
appropriately and when you organize them
you come out logically with essentially
a two-dimensional matrix
you've got your differing tilt angles
this way your different pen
but just imagine you have a whole bunch
of photographs of that object now a cool
thing that you can do with objects
imagine you just picked one of those
photographs at random and replaced it
with a series of photographs shapes
suppose possibly showing that object
doing something from that particular pan
and tilt angle when you do that and when
you play the movie you will get an
animation effect which consists of
playing those different frames at that
pan and tilt angle that's what's called
an animated object but that's also
called frame animation so a given view
that is to say a given pan tilt angle
may have one or more frames that are
played in order when you go to that pen
until diagonal now there is no analog of
frame animation with panoramas that's
why I say they're easier to get your
mind around there's one other kind of
animation or one other thing that I have
to mention which is so we've got this
2-dimensional grid of movie frames some
of which may be multiple frames giving
you frame animation now imagine that
behind some or all of these frames you
stick some more frames which again may
be the frame animated those are
different view states of the object so
you can have several hundred view States
at a given pan and tilt angle the the
most popular view States for an object
our button up view States that is to say
that's the picture or the image that is
displayed when the button is up and you
also have a button down view state which
may be different and they you've
probably seen demos of clicking and you
get different image when the mouse is
down we'll see an example of that later
okay I think that's most of the the
groundwork that I need to do to get into
talking about the the VR manager what
can you do with a VR manager well you
can play with the view angles the pan
tilt field of view programmatically in
your program you can say set the pan
angle to 180 degrees and zoom you'll go
right over there you can play with the
hotspots that may exist in the panorama
or the object now hotspots are really
one of the hidden features of VR and one
of the reason they don't get a lot of
airplay is that the VR movie controller
that is to say the current playback
mechanism does special things to only
one kind of hotspots namely link
hotspots if you click on a link hotspot
you will magically go to the node that
is linked to that hotspot now that isn't
the only thing you can do with hotspots
with the API and I just make a plea to
you content developers the people that
are going to the grunt work of taking
the photographs stitching them all
together putting in the link hotspots
please when you're doing that put in
lots of other hotspots because the
programmer can use those other hotspots
to do cool things
the added data that's put into the file
to have 10 hotspots in it in a node as
opposed to - it's negligible and it's
really hard to go back in and add
hotspots to a movie that that I get off
the net or something so please when
you're doing your link hotspots outline
lots of things in the indie pano or in
the object and your programmer will be
very happy that you did you can use the
API to trigger hotspots programmatically
enable or disable them dynamically lots
of other things you can use the
QuickTime VR manager
to change or query characteristics of
the object for instance if a pan tilt
angle does have a frame animation you
can make that faster or slower turn it
on turn it off do all sorts of things
with the object you can modify the image
characteristics the quality of the image
that's being displayed you can get
information about the entire scene or
about a particular node you can find out
if there are any hotspots in that node
you can do all sorts of node related
things you can tweak the memory usage if
need be you can request for instance
that the entire panoramic image be read
into memory if that's crucial to you and
the last thing and I think the most
important feature that the VR API or the
QuickTime viewer manager gives you is
the ability to hook into its operations
at selected times I use these hooks all
the time and they're they're just great
so what are your hooks you can have
mouse over hotspot procedures so for
instance when I move the mouse over a
hotspot you could have a procedure get
called at that time what you do and that
procedure is up to you you could do some
cool things you could play a sound you
could run a video and this thing is
actually quite smart you can configure
it so that your procedure is called
only when the mouse is first moved on to
that hotspot or you could be called for
as long as the Mouse's over that hotspot
or you could be called only when the
mouse leaves the hotspot so there's a
lot of functionality here that you can
play off of another important hook is
are the note entering and node leaving
procedures when I go from node a to node
B I could have something happen as part
of that transition from node to node and
the node entering and leaving you're
thinking why not could you roll those
into one you can do different things
depending on whether you
entering the node or leaving it one
important thing feature the node leaving
procedure is you can say no I'm not
leaving this node you can cancel the
users request to go to node B not very
nice perhaps but there would be cases
which that would be a cool thing to do
you can draw into the back buffer I'll
explain that in a second okay let's back
up remember I said panoramas you go take
some pictures you run them through some
magic software and you get this usually
long horizontal picture that looks funny
because it's warped it's it's warped
because that's what the VR movie
controller needs in order to take that
data and display correctly on the screen
these that image that you get is the
output of your authoring process it's
sort in the file what they do is you go
in and you slice it up into some pieces
and you take those pieces and store them
in a video track in the VR movie file
now you may not need all of those pieces
at any one time so the VR controller
goes out to the file brings in the
pieces that it needs into what's called
the back buffer so the back buffer is
all or part of that warped source image
of the panorama now you can if you want
draw into the back buffer you can have a
callback procedure that the controller
will call you and say yo I've just got
them back buffer would you like to do
anything at this time you can draw into
there there's a couple of gotchas that
I'll talk about in a few minutes for
doing that but that may be something
that you want to do now once the back
buffer is finished the that image which
is warped it's corrected so that it can
be displayed on the user's screen before
that happens too
ethically the corrected image the one
that looks right is copied into a buffer
called the pre-screen buffer if you want
at that time you can draw into the
pre-screen buffer now the basic
difference this isn't entirely correct
but the basic difference is if you want
to draw something into the movie that
depends on the current pan tilt angles
and needs to be prospectively correct
then you should draw into the back
buffer if you want to overlay something
like a heads-up display or a logo in the
corner something that doesn't depend on
the pan tilt or zoom settings of the
view then you'll draw into the
pre-screen buffer it's not entirely
correct that I'm going to come back to
that issue in a second to make it fully
correct the final hook that is worth
noting our intercept procedures if you
don't like the way QuickTime VR does
something you can intercept a call and
change it or even cancel it for instance
you might want to do something special
every time the pan angle changes that's
one of the functions that we allow you
to intercept and so when the pan angle
changes you get called you can do some
work and then let VR do its thing now my
job in the VR team so far has been to
write sample code to play with the API
one of the things I did was pick the
low-hanging fruit that is to say I went
out looked at the QuickTime media layer
and said this stuff is cool I like
sounds I like pictures I like QuickTime
movies but else what we got up there I
love 3d let's put that stuff into a vr
scene let's put it into a panorama no
let's put into an object node let's
bring these movies alive so let's take
all this wonderful multimedia content
and make it usable within the VR sphere
of operations so these were the things
that I looked at first like I say these
are the obvious
things that you'd want to play with and
I will talk about the first four of
those the last two actually speech
recognition was the first little sample
I wrote it seemed to me just too cool
are too boring actually to have to
manipulate this thing with the mouse so
I went in and used the speech
recognition manager to let you give it
directions like let's pan 90 degrees
left and it worked like a charm it's
really cool
I won't demo that here today but the
source code for that app is in the book
or on the web and another medium is time
you may want to do some things in your
panorama after a certain amount of time
has elapsed so that's another medium
that we can integrate into our VR world
so I'm going to talk a little bit about
how I went about integrating these
various features and I will get to a
demo I promise you sounds are easy to
overlook that they add so much to the
virtual experience that we can provide
here I've just sort of categorized some
of the things I wanted to achieve when I
started working I definitely wanted
ambient sounds if I'm in traffic I want
to hear traffic if I'm inside a museum
I want to hear footsteps clapping away
okay so those ambient sounds I want
localized sounds if I've got a faucet
and it's dripping I want to hear it
louder when I turn to that faucet and I
want it to be softer when I turn away
now localize sounds was a no-brainer and
I have the brains to make that decision
I'm going to use sound sprockets so I
went in very easily hooked sounds
Rockets up to VR and got localized
sounds now I didn't go to the gain
sprocket session the other day what is
the word on sprocket this is going to be
cross-platform did anybody go what did
they say
okay that's the trouble it's a Mac thing
and worse yet it's a PowerPC thing okay
you can't run some sprockets on the 68 a
for a while that didn't bother me and
then it started to bother me so I said
look I don't need all of sound sprockets
to get localized sound I know the sound
manager I can use its volume command to
pan right and left and do the right
thing so that's what sound sprocket is
it's my mini version of sound sprockets
that is perfectly good for VR uses
another thing another med container you
may find your sounds in you may want to
play QuickTime soundtracks or QuickTime
MIDI files and it was surprisingly easy
to integrate those into a VR shell
sounds is I've discovered I haven't
really prototype this a lot sounds are
almost free they don't take any CPU
overhead when I get to the demo I'm
going to have four or five sounds going
at once along with lots of other stuff
and it's just for free so go out there
and add some noise to your panoramas
pictures and movies ok VR is cool but
it's too statics and once you've gone
and offered it and put it get put
together the whole file it's hard to
change so there's really a couple of
ways that I have integrated pictures and
movies really it's the same thing into a
vr panorama the first thing is to draw
into the back buffer okay now if you do
that remember I said that the back
buffer the data in there is warped it
needs to be warped because it's a
cylindrical projection and I don't know
all the math but I do know that if I
just go in and my back buffer prop and
draw a square when that makes it to the
screen it doesn't look like a square
it's sort of like a pregnant square it's
we've got sort of bowed out well that
may be okay for you and if that's what
you want then draw squares in the back
offer and you'll get pregnant squares on
the screen so you may need to warp the
image yourself if you want it to look
right on the screen and the algorithm to
do that I believe is available is very
simple however you might not need to do
that I'm going to show you at least
three movies that are accomplished by
drawing into the back buffer that I
didn't do any warping too and if I
hadn't told you that you wouldn't be
able to tell now you're going to say oh
yeah it looks funny to me but no it
doesn't look funny to you
so you you probably don't need to warp
it before you draw onto the back buffer
the other thing you might need to do
actually today you do need to do is the
back buffer by accident really is you've
got that image we did that to it it's
rotated so if you want to draw some text
you need to rotate it and then draw it
it's not a big step it's not a big
problem in fact I have a couple movies
that I didn't even bother to rotate and
you won't be able to tell okay that is a
really good way to get movies or
pictures into your VR content another
way and this has advantages at times is
to text your map the movie or the video
onto a 3d object that you're embedding
into the node
this has event I won't go into them now
if you want to talk about it later we
can I do have some examples in the demo
of where the video is achieved by
texture mapping onto a 3d object
oh good 3d objects how did I get 3d
object why did I want to get 3d objects
in the mine scene well again going out
and photographing what's there is fine
you may want to add stuff to it you may
want to add objects that look 3d so one
way you can do those is to use a 3d
package such as quick-draw 3d and then
put that into your scene and because of
course you can move the object around if
you want you can then get a 3d object in
your
Arsene that changes location or does all
sorts of other things that's the basic
idea there again it was hideously simple
to do this you'll see the idea is that
when the QuickTime VR view angles that
it's a pan tilt and zoom change you
change your quick-draw 3d camera
settings you then render the image into
a draw context you then copy what's in
that draw context into the pre-screen
buffer Y if you copy it into the back
buffer bad things happen because it will
be prospectively corrected again and you
don't want that so you draw them into
the pre-screen buffer and you're done
you now have a 3d object could be say a
3d m-f model that you've read in in your
panorama now you might be asking and
this is a good question why didn't I
just render the darn thing into the
pre-screen buffer why do I need the
extra copy bit step very simple quick
draw 3d nowadays erases the back the
draw context before you draw into it and
if you are drawing into the pre-screen
buffer and you erase that buffer you are
out of luck because your panorama is
gone your 3d objects are there but your
panorama is gone so you need currently
you need the extra step of drawing to a
buffer and then copying to the
pre-screen buffer isn't hard there is a
performance penalty but that's life
finally the last thing you need to do is
a little bit of housekeeping if the user
resizes the window you need to resize
your draw context
[Applause]
applause are much appreciated okay yeah
yeah yeah all right let's get the demo
machine up here hello oh there we go
okay I'm going to do this demo in two
steps I'm not going to show you the good
stuff first
why because you would take it for
granted if I did that you wouldn't
respect me in the morning what I need to
do is give you a before and an after
look at what I've done okay so the first
thing I'm going to do is walk you
through a scene the way it is now and
then I'm going to close it open it again
and walk you through it in a little bit
nicer manner one thing that I get for
free here is there actually are some
really cool things you can do just from
an authoring point of view and we'll see
a couple of those so what I'm about to
launch is what's called WWDC demo this
is the exact file that is on the
QuickTime 2.0 authoring tool suite CD
with one change made which goes back to
hotspots I had to go in and add some
hotspots so that I could get some cool
behaviors when I click those hotspots
but aside from that this is exactly the
V seam the file that is available on the
CD in the book I haven't done anything
else now notice I just went and I double
click the file and what application that
I get I got movie player' wonderful
alright so here I am we are in San
Francisco outside a photographer's
studio okay sure is quiet out here on
the street okay now here's something
cool okay don't don't close your eyes
I'm going to click on this door you can
see that when I over the
door I get a little arrow showing that
there's a hot spot there I can come down
here and actually show the hot spots
there that the original file had only
one hot squat the door itself I've gone
in and added hot spots I'll just twirl
around here you can see that I've added
some hot spots there in the scene that
we'll use later
okay so let's hide the hot spots now
watch what happens when I click the door
it opened
I got dynamic behavior without using the
API how did that happen what you saw
first was a panorama you saw me spin
around when I click the door I went to
an object node it's an animated object
node and the frame animation consisted
of the door opening so right now we're
looking at an object node we are not in
a panorama anymore I'll prove it to you
I can't pan around no matter how hard I
try I'm stuck on this view oh darn okay
notice can you read that out there just
click on door way to enter so I clicked
on the doorway it opened up and now I
have to click on it again to enter let's
do that and now we're inside the studio
in a little reception area now let me
turn back around here there's the door
it's open there's the outside that we
just saw and when I came in I wasn't
looking straight ahead like that I was
looking off like that I find that kind
of disorienting when I go in the door I
don't go in like this I go in straight
and I expect to see what's straight
ahead of me so I'm going to fix that
problem I don't want a problem I'm not
dissing the file format I'm going to
enhance the user experience going in
that door let me show you one I
shouldn't do this but I will if I go
back out the door I'm in my panorama
again okay so here's what happened
I'm in node one I go to the object node
which actually is number 49 for those
who are interested then when I click the
door I go to node two from node two
clicking the door I go back to node 1 so
I've skipped the object out in between
the only reason that object node is
there is to give you that wonderful
experience of the door opening let me
show you a quark though so I'll come
back here I'll open the door I'll go
inside now you see this little arrow
button right down here it says back that
takes me to the previous node where's it
going to take me 49 bingo whoops ah
there it is the object node okay that in
that that's the way it should do it
because you told me to go back to the
previous node and I went back to the
previous node a better experience would
be to go back to node 1 that's the kind
of thing you could use the API to fix up
all right let's go inside here I'm in
the hallway now I'm in a reception pan
oh I can look around there's a staircase
going up and there's some more stuff
over here let's go up first now we'll
look around up here we're going to room
it's got a toilet ok we could do some
fun things with that and oh there's a TV
set let's zoom in on that it looks like
some people let's click there and
they're all around us
is a panorama of the QuickTime VR team
at the time that was taken
now notice this let's look at the
hotspots everybody's head is a hotspot
if I move the mouse over people's heads
what do I get I get their name the
default behavior of the quick time via
our movie controller is to display the
name of the hotspot in that little text
field so to get this behavior all you
have to do is name your hotspots
correctly so we can move around look at
the wonderful team there's only one
problem with its node and that is I'm
not in it I didn't make it to the
picture that day there's a problem that
could be solved okay let's go back out
this is going to take us back to that
room now did you notice that let's do
that again
I went in and looked at my TV I clicked
and I'm looking at my TV how many people
crawl out of their TVs backwards I crawl
out of my TV front words so this is
where I should be looking over there
that's what I want to see okay I'm
getting angry here this is really what
for what you're kidding
okay then let's quit this jeez I didn't
know it was taking so long up all right
let's fire this up I may have to bag the
Q&A because you don't want to miss this
but there is a feedback form later okay
I'm this is application that I wrote
that it's only job in life is to
integrate media into VR movies it's
going to take a second to load I
apologize
it hasn't crashed
there we are let's just hide the desktop
hey some ambient sounds okay
the windy day inside oh yeah there's a
car alarm if you get over here at the
wrong panel you set off a car alarm
edie people across the street are
playing some music the music is
directional if I say I don't like that
music I gotta turn my back on it
and it goes away or I can come back rip
it off I don't know about you but I have
never heard of graffiti left I click
there here is video in the panorama this
is a QuickTime movie being drawn into
the back buffer does the warping matter
no you can't tell that that's not pre
water it is rotated okay and qtvr rules
and what does it stay fluffy was here
okay
d alright now notice I can't get in the
door there's no hot spot there now I've
got to be poor I ring the doorbell now I
can go in the door
alright creaky door I go and I'm looking
straight ahead now when I turn nicely
okay thank you very much go up to the
room there's our TV
hey what happened at the team picture
Wow let's zoom in Wow oh we got some
video okay that's cool again directional
sound if I turn away I don't hear it
I hear it
let's click the channel okay let's
change channels
[Music]
change channel well there's what we want
let's go in
thank you we have an overlay logo
pre-screen buffers stuff we still have
the names but hi this is Matt Schaefer
hi I'm Richard man drive mouse over I'm
just moving the mouse over and I'm
getting good for reality digitized sound
this is a segment I call the deadheads
they don't do anything here here's
fluffy and finally there's somebody
looking down on the team from that
window up there the right person okay
let's get out of here okay now I did not
come out of the TV said backwards this
time gotta do that
come back down you should know that I
like model trains we'll go to the next
one this is my holographic model train
let's zoom in on that get a little good
look at how that's working again this is
straight drawing the QuickTime movie
into the back buffer and this is a
computer-controlled train if I click
here it stops I touch again it goes
every trains got a whistle okay now one
thing I didn't show you before because I
was talking too much with this great
stereo now just pure authoring they have
the ability to change the sound but if
you've ever played with this you know
that the sound shot was choppy as you
moved from volume level to volume levels
because it had to stop and start again
at the new volume level here I've got
total smoothness with my own sound hey
that's cool let that little pan and tilt
here got my own balance control okay
[Music]
I forgot to tell you
San Francisco is a seismically active
area anything could happen
that looks much better in smaller size
because I'm just changing pad and
shields angles this thing was actually
up on the shelf but it fell down I'm
going to put it back up there and I got
a hurry of what I could show you a lot
of stuff here but it's time to go to
Mars
just one second one oh man our fire
planned that whole transition was just a
QuickTime movie I went in took a
snapshot of before it took the snapshot
of after did some work actually I didn't
do it but somebody did some work in
Adobe something or other
did the nice cross fade and we get we
get that night look I got to do that
again that's too much fun okay let's go
back did I hit back let's go in the door
again and we're on Mars and we get to
hear neon Oh everybody Neal was in Ohio
and cars are right by our friend we have
any Buckeyes in the audience all right
okay now that before I didn't get this
far but that earth wasn't there before I
guarantee you and that is just a quick
draw 3d object with your little world
map from the scrapbook texture mapped
onto it
that's why we'll see in a second the
International Dateline is very prominent
because those are the edges of that
picture hold on a second do I need to
here we go see that International
Dateline you thought it was just
imaginary okay let's come back out here
we're just about done now again I went
in added some hotspot
I'll show you where they are uh-huh okay
you know what I'm thinking
you know what I'm thinking sorry guys
houston we have a problem okay let me
turn off my heads-up display this is the
last effect you're going to see there
you saw it we saw a QuickTime video we
saw sound we saw 3d objects hey a mini
track what's fun and here comes the
dancing logo that's what I've got to
show today and let's just see if it's
what is that is that a 3d object yeah
[Music]
there you got it QuickTime media layer
all-in-one package
3d VR video sound you name it we got it
okay let's put that do we have any time
left for QA I apologize okay let's do it
any questions let me bring up the
engineering team we have Ken Doyle John
Mirada is he here and Bryce Wilson are
the main people to blame for this fun
and let's get some questions John is not
here oh here it comes okay let's start
over here you're there first
hi Lauren paradeen from vide onyx do you
have any hooks for hardware acceleration
not yet is this thing working
yep okay not yet we don't that's
something we're looking at in the future
but for 2.0 hardware acceleration isn't
there yet but it's definitely our minds
hey okay over here have you mentioned
occasional number of times that windows
API won't be out so QuickTime 3.0 comes
out that's right QuickTime 3.0 comes out
it'll still use the QuickTime VR 2.0
same API calls the API will be the same
where you know there are some slight
slight updates between the 2.0 release
and the release will have when the
QuickTime VR for Windows comes out but
it essentially do the same and there
should be some performance enhancements
I think by that time so we can use the
quick time 2.0 API for Windows now to
start planning yes over here any chance
of having stereo perspective views
possible right we've done some work with
that I know that we're talking about
stereo panoramas
right Qaeda and I believe now sells a
capture rig for that and of course you
can render it and we've done some work I
can't necessarily say anything about
built-in support but we've certainly
done some work and I know you can do it
with the API because that's all we've
used to do it to play back those that
combining them at runtime for
whatever kind of a viewing device that
you have available to you should see
that a sample could some time and not
drill this in the future
great thanks great work for the whole
team nice work over here oh I thought he
had a question I'm sorry I forgot over
there yeah I'm over here um yeah I was
falling through that most cool demo and
I was I knew what was going on all the
time except for the Train now when
you're overlaying a QuickTime movie are
you doing like a background transparent
mode or did you cut out the part of the
QuickTime and then do your compositing
yourself I use brain-dead method because
that's all I know it's just a straight
chroma key drop out the background of
that video is black and I've just told
copy bits to forget black you could go
in and do an alpha channel or something
that anti-aliasing but look good to me
I'm wondering look I haven't managed to
get the layering or that or the graphics
modes to work and the over in the
overlay movies dead they didn't do
anything special I don't know how to do
anything special I mean right go ahead
i referring to how you have tracks with
different layers in a quick time in a
quick time movies all the data that i
added was external to the application it
was an i'm going out and opening a dot
MOV file at that time yeah i'm where
that does the dot MOV felt have a
background in it it's black the
background is black oh so the
transparent it's working okay yeah oh
yeah yeah well great so it's just
something I'm doing wrong
I think we're in the middle how do we
get this stuff into the game sprocket
back buffers that you know the the
frames of your VR movies I don't know I
mean I think what's a pun on that when
I'm not we're not real familiar with
that thank you fluffy
over here when will quick time they are
been moving from a cylindrical
projection of panoramas into a spherical
projection that's another important
future direction we're actually looking
at several different kinds of different
kinds of looking to panoramas is where
you can look all the way up and all the
way down and that's definitely aren't
able to be very important for 3d
packages yes I understand I agree over
here you've now got API access to the
pre walk to the pre warping back buffer
is there API access to the hotspot
channel to do live hotspots that is 9
and 2.0 but it's a very important issue
that's been brought up before and it's
definitely something we plan to do it
would not be very difficult to do and I
would imagine in the next release or two
you'll definitely see that I think we're
over here
yeah just wondering field leaving things
like compositing your 3d graphics and
revisits living in the VR scenes up to
third parties like animation with this
stitch that nodes to program and so on
or are you going to be producing
utilities that allow that sort of thing
yeah the end user to put those things
together nicely well there's going to be
a tool session coming up and later on I
don't think I mean beyond the what
you'll see at the next session I think a
lot of these things are what we would
call third-party opportunities cool no
other questions let me just say that the
ISM if you want that demo most of the
source code for that demo will be up on
the net there's nothing really
proprietary in there I am going to chop
out the parser segment of that that
reads the script file that I wrote just
because I don't want that script file to
any kind of standard but everything you
saw here today within about a week you
should be able to do yourself there's no
rocket science they could do it now if
they started from scratch but ok yeah
they could do it yeah ok
I mean everything that you showed is is
work you can do in 2.0 all off-the-shelf
api's there's no vapor we're here okay
is that it
alright thank you very much
[Applause]
[Music]