Outline for Today
Geometry and Transformations
Administration
Today
For Next Meeting
Wiki
Link to the UR Courses wiki page for this meeting
Media
Transcript
Audio Transcript
-
Okay. Here we are At
meeting five of 26
-
Okay,
-
so the first thing I Put for
today, any questions or concerns
-
I
-
let me
-
see if one of These markers is
going to do a little
-
better. I i paid for a while.
-
So questions or concerns so far.
Okay, so in looking at chapter
-
three, I found a link to
immersive linear algebra, which
-
maybe is of interest. Would you
like to explore? Can you wait? I
-
anyway, so that it seems to have
lots of examples, lots of
-
animation, so you can let me
know what you think. So then I
-
have been working on pbrt for
Windows.
-
How the people here who's had
success with pbrt for Windows,
-
okay, that's good. Good. Were
you able to try the sample?
-
Didn't work. Okay?
-
So we Need C, make, I,
-
CS, and then this script is
designed to compile said lib
-
from source and then build PBR T
so I
-
when I'm allowed in the lab for
135 when there's not a lab
-
section going on and I'm not
otherwise occupied, I've been
-
trying To get this set up On on
the lab computers. I
-
so what I'm trying what I gotten
to so far? These are the path
-
names I
-
so I think root folder is where
you've got, where you have the
-
repository with PBR, TV, four.
And then, so in the lab
-
computers, it's actually on the
C drive, users, Hepting D, for
-
example, GitHub. Actually, I
don't think it's got GitHub
-
there. It just, it's pprt Four
anyway, modify the path to your
-
source directory, and then the
output it's going to create some
-
information in third party, MS,
VC, so the first part should
-
match the root folder
information, and then we're just
-
adding a few more directories in
the tree. And then here's where
-
the source is located, and it's
in source extension Z lib. So
-
we're going to
-
make a build ms V c, directory,
and CD into that.
-
Then we're going to call the
Microsoft Visual Studio
-
batch file, V c bar is 64 dot
bat. I don't know what that does
-
exactly, but I found on my lab,
on the lab computer. I found
-
Microsoft Visual Studio, and
then I found a path that matched
-
the C auxiliary build. So I just
did some pattern matching there
-
to get to that. Then I I took
out the minus g for generator
-
option here,
-
since I wasn't quite sure Which
generator to use. So we're going
-
to generate Z
-
lib. Okay, so we've got, I'm
-
I'm not sure why we have two
calls to C make? I guess the
-
first one is setting some
parameters, and then the second
-
one is doing the build.
-
And then we're going to clean up
the build directory, and we're
-
going to add
-
mSv clib into our path, and then
we're going back to the root
-
folder. So first of all, we
we've
-
changed directory to the zip,
lift source, And then we're
-
going back to the root
directory. We're
-
so here's the same i a strategy
about matching the version we
-
have for under Microsoft Visual
Studio, and then we're going to
-
do C make so I think
-
so C Make didn't find the optics
or the CUDA
-
files on lab computer, so I have
to check those paths.
-
But anyway, so the idea is we
build Z lib, and then we build
-
the project.
-
So I got part way through before
I got kicked out of the lab
-
yesterday, but it was building
source, so I'm hopeful this is a
-
good approach. So our Tai Lin
posted a link. His last entry
-
was, try the strategy here. I
-
so that direct link was about
changing the C make list, dot
-
text file, I think, but I, I
couldn't. I see where the
-
changes were needed to be made.
So I went back to the issue in
-
which is to which this was
reply, to which this was a
-
reply. And I found the script,
and I think that's maybe a
-
little more straightforward. I
if
-
you want to find exactly where
it's changed, you can always do
-
like a text comparison tool,
where you load up the one file
-
and you load up the other one,
and it'll tell you if there's
-
any differences. Yeah,
-
yeah, I know I can do a diff.
-
I was looking at at the diff, I
thought that's what I was
-
looking at on GitHub, and when I
searched for P techs and zlib, I
-
didn't find anything that
matched. So, yeah, I
-
had a friend try to find said
love, and he couldn't find it.
-
Either. He was looking for it
for me, and he just couldn't
-
find it. Yeah,
-
so I
-
the source is included in the
PBR TV for repository. If you've
-
downloaded it With the recursive
option that's
-
anyway, There it is. I
-
so I
-
any so I've noticed that there
hasn't been a flurry of
-
discussion in the class
discussion lists or the wiki. I
-
so
-
who still needs to get the
software running on their own
-
computer there?
-
It's just a matter of knowing
the commands and stuff for
-
okay, if you're having issues,
you can send me an email
-
directly if you don't want To
-
put your issue into the class
discussion list, I
-
so I'm hopeful that When we get
this, when I get this bill, I
-
so I'll be available on some lab
computers.
-
So I just want to mention the
wiki and
-
so under meetings.
-
So meeting three is red, so that
means that the link has been
-
marked after but the half page
hasn't been created and meeting
-
four hasn't been made into a
link, so Let's just edit that I
-
do you want to start Fine while
you're in there too?
-
That's today's sure you
-
so the issue with the scheduler
is because it wouldn't let I set
-
up after the first class and
because the first class was
-
already finished.
-
David, I were just saying, I'll
do three, I'll finish three.
-
I'll do meeting three, and then
he'll do four and five. Okay, so
-
it's just six through 26 that we
need to figure
-
out. Yeah, okay, did everyone
get a reminder?
-
Okay, so,
-
so here I've created a file for
the input to generate the simple
-
I supposed to Be pbrt, yeah,
-
okay, so I've cracked it. I'll
correct the link. It'll Still
-
want to download it. You
-
I'll just Text it. I
-
There we go. So the first part
of the file specifies the
-
camera, sampler, the integrator
and the film. And then, from
-
world begin I
-
onwards, then rescribing The
scene. So this is the 400 by 400
-
This is the one that comes in
the file format section of the
-
web page. So if you've installed
pbrt, you'll get that picture of
-
the glass ball floating over the
checkerboard.
-
So where can we find the
commands to actually like run
-
the PBR team program. So if we
wanted to run the checkerboard,
-
where would we find the commands
to do? So
-
what are the command lines that
we need to be inputting here?
-
That's where I'm at is don't
understand where the those
-
commands are, how am I supposed
to open the command line? Where
-
am I running
-
this so I have pbrt installed in
user local bin. I
-
What? Let's see equivalent
Windows command to find out
-
which executable is being
accessed.
-
Can you key principle drive?
-
I'm sorry I didn't hear the
path. Okay? So this is I could,
-
I could do. I
-
i So this is my path setting.
-
So which tells me which there's
multiple versions of pbrt, which
-
one is going to be executed.
-
I That's print environment.
Print,
-
yeah, this is on
-
MacBook Air, so we just got to
find the equivalent command on
-
Windows. As long as I know what
the Mac is, we can find the
-
windows one if I find them on
the wiki, okay.
-
So doing the which tells me that
it's installed, so if I just did
-
pbrt.
-
This is going to look at
standard input for the scene
-
description, so we don't want to
do that.
-
So end of file before world
Begin. Fatal errors during scene
-
construction and
-
example of
-
PDR teams, yeah, but that's I I
-
think I moved this instead of
copying
-
the Downloads folder to
-
Oh, yeah, Sure, too.
-
Does that make sense?
-
So you just write the name of
the file after you take a pbrt,
-
and you'll find it and then
start to generate enough folder,
-
yes, and if we have
-
the open X er Image Viewer set
up, like we did in class that
-
first day, you can see the image
fill in and see the progress of
-
the image. What was that
-
called? That's how was that?
Called X tab or
-
XCR, imager. So that is, I,
-
up right there.
-
Yeah, so, p, V, R, T, I, pbrt
display server, local host.
-
So it's on the GitHub tree
master page and
-
it's so To read Me, I
-
if you played, You might miss
it. You Oh,
-
sanitation, Yes, I
-
i So I think there were some
error messages when I started up
-
to have four. I'm
-
going
-
to guess that's what causes
segmentation fault. But the
-
image generated properly, and
you can use whatever viewer you
-
want to look at the images.
-
So it's just using that little
bit of text in that file to
-
generate this image, like it has
all the things with like the
-
sphere and the reflective
property and the color and all
-
that. Yes, I
-
that's pretty cool. What other
textures do we have like
-
available to us? Do we have
like? Can we make it a gold
-
sphere, for instance, just like
a slightly shiny golden sphere?
-
Yes. I
-
i will show an example of a
shite, slightly shiny golden
-
sphere on Thursday, okay,
-
and then I'll compare the source
code to figure out how you did
-
it. Okay? I
-
do you feel good About I
Running?
-
Okay, I'm
-
so these are, this is about the
building blocks and
-
of Doing the ray tracing, The
path tracing And
-
so Chapter Six is going to deal
With spheres and triangles and
-
so forth. So
-
So we talk about the coordinate
system as A frame. It has an
-
origin and
-
I so If we have the frame. What
do we get? The
-
I would like to buy a vow,
-
C, A,
-
let's go with our F. Go with the
-
I, guess. How about E?
-
Sorry, there's no more mapping
soft N.
-
Can I guess the word? And he
guesses n, I guess the word. I
-
guess
-
he said, N, yeah,
-
I heard at the end, but you
wanted to guess
-
the word. Can I guess affine
space.
-
Affine space?
-
So that means we can describe
points in the space as a linear
-
combination of
-
this vector. These vectors.
-
So in 2d, we have x and y. In
3d. We have a choice.
-
What's the choice for z, whether
-
it goes inward or outward? Yeah,
I
-
so it says left handed. So would
that be? Would that be inward
-
X, cross Y, and your thumb
points in the direction of
-
positive z, I,
-
that's how I remember it. But
-
it was something like like this,
since my left hand, so left
-
handed. Method, yeah,
-
so the way they say x, cross y
and positive Z points out as my
-
right hand and if I use my left
hand, X, cross, y, positive, z
-
goes into the board and
-
So positive goes inward.
-
Okay, That's the left hand. I
-
anyone appreciate my third
option? Yeah, and the dexterous
-
Is that a thing anywhere, ever?
-
No, I don't think so. I
-
so PPR keys using a left hand. I
-
So
-
product uses, co sign, yeah, I
-
It would be nice if cross
product was cosine, because they
-
both Begin with C, but not
everything can be nice. I
-
this is also known as an inner
product i
-
i was thinking about the origin
of cosine and sine and tangent
-
and
-
I'm wondering.
-
Well, What the background of
Those terms Are? You?
-
So this is a 2d example of
current system.
-
So this is our original system.
So origin is at zero, and here p
-
is three units in x and three
units in y.
-
And then our new coordinate
system, the dashed lines, so we
-
have two units in x and minus
four units in y. So
-
does that make sense? So the
point doesn't change, but we
-
have a new frame,
-
and having The new frame makes
it easier to transform things
-
and
-
it so we can pick up different
frames. I
-
so if we think About a camera,
let's get a
-
so Our camera specification is
we're looking at. I
-
so look at is a popular way to
specify a camera position. So we
-
need the eye point where the
camera is, point where we're
-
looking at. And then the up
vector.
-
So the eye to the lookout point.
So
-
so this is one of the vectors we
need to describe the frame.
-
How can we get the other vectors
we need to describe the frame? I
-
what other vector is defined in
that look At specification,
-
yeah, so up
-
there's also right, up, right,
forward. Sometimes you can use
-
left instead. I
-
guess that really depends on
whether or not your camera is
-
moving at all.
-
So we want to specify an up
vector. So when we take a
-
picture, if this is the up
vector, well say here's up
-
vector this way, and then if we
rotate the camera, the up vector
-
is this way.
-
So it's not about up, down,
left, right, top, bottom. It's
-
saying this is the direction
that's up in the image.
-
The reason I specified the right
is because you can actually make
-
it so that through
transformations, you can have it
-
so that all of a sudden your
right is left, and everything in
-
your picture just gets inverted.
So it's not that it's not that
-
it rotated, it's that it gets
completely inverted. Your left
-
becomes your right, your right
becomes your left. I don't know
-
if this system can do it. I know
that's just a common thing that
-
they use when you're doing a lot
of camera transformations, so
-
that you don't have that
mistake. But you just calculate
-
it with your forward and you're
up if you just do like, a
-
relative calculation, if you
always have your rights on hand,
-
just makes future calculations
easier to do transformations. We
-
use that a lot in, I think, the
one video game class with
-
Professor Hamilton.
-
Okay,
-
so I better use that one here. I
guess it's not necessary,
-
especially if the camera is
stationary.
-
If you can give me a bit more
information, I'll
-
put it into context for for us,
I
-
so we have the eye point and the
look point, that's one vector,
-
then the up vector specify,
that's another vector we can use
-
to specify the camera frame. And
then how do we get the third
-
vector
-
wasn't the eye look at point
different?
-
Do you mean like the position
vector? Because
-
isn't the eye more like the
actual camera what you're
-
looking like? Yeah. And then
look at point as where you're
-
looking
-
Yes. So by doing the difference
between them, we define a
-
vector. So I point, and then
we're pointing at the look at
-
point. So that's one vector of
the frame. Then the question is,
-
so we have the vector between
the I point and the lookout
-
point and the up vector.
-
So we can spin the camera around
this vector between from the I
-
point to the look at point once
we pick the F vector that gives
-
us the second vector for the
coordinates. Does that make
-
sense? I?
-
I'm sorry, yeah, okay, then, how
do we get a third vector that's
-
perpendicular to these two
vectors? I
-
You're saying, how do you get
like this vector? Like this is
-
your look at this is your up.
And you're asking this one,
-
right? Yes, that's, that's what
I call the right the right
-
vector. You
-
so how do we derive it?
-
Is it not the cross product of
-
the Yes, so we do the cross
product of these two vectors,
-
and then we get a third vector
that defines our core, our
-
camera coordinate system,
-
and it should be normal because
the other two are normal, right?
-
Well, we didn't specify that
this is going to be normal if
-
if these two, if these two are
normalized, then you should get
-
a normal vector.
-
Does that make sense? Do
-
so that's talking about The
implementation of tuples and
-
so vectors are based on tuples
and
-
so here's example of what we can
do with vectors.
-
We can add v plus w, and we can
see the sum is the diagonal of
-
the
-
parallelogram.
-
So the addition commutes, we can
get the same place if We do v
-
plus w or w plus V i.
-
This is w minus V, but if we did
v minus w, we get The other
-
other diagonal? So those results
are different. I
-
we're out of time now, so any
questions or concerns well,
-
when will we have our first
assignment? Are you still just
-
trying to work on the PDR, G on
the lot computers before
-
you? Yeah, I want to make sure
that we're set up with the
-
software first. So
-
if you're still having issues,
communicate with me and I'll
-
update you on the lab situation.
I'll give out the assignments
-
starting next week. Okay,
-
thank you. Thank you very much
for today. Have a great rest of
-
your day and see you on Thursday
for some
-
slightly shiny gold balls. Is
that right? Yeah, if it was
-
overly shiny, it would be a
Polish gold
-
for Okay, thank
-
you for today.
Responses
No Responses