Intro to Graphics 01 - Introduction
Summary
TLDRIn this introductory lecture for a computer graphics course, instructor Januxil sets the stage for the semester, highlighting the interactive nature of Zoom lectures and the supplementary YouTube live streams. The lecture focuses on the foundational pillars of computer graphics: modeling, rendering, and animation. Januxil emphasizes the course's aim to provide a broad overview of these topics, with an emphasis on algorithms and data structures rather than specific tools. The course will also touch on related fields like VR, AR, and computational photography. Projects will be conducted using JavaScript and WebGL, promoting platform independence and easy showcasing of student work.
Takeaways
- 👨🏫 The instructor's name is Januxil, and this is an introductory course to computer graphics.
- 🖥️ The course will be interactive, with lectures available on Zoom and live-streamed on YouTube for quality assurance.
- 📈 Januxil is redesigning the course, so the content might differ from previous years, focusing on computer science aspects.
- 🎨 The three pillars of computer graphics are modeling, rendering, and animation, which will be the main focus of the course.
- 🤖 The course will not cover specific tools but will concentrate on the underlying math, algorithms, and data structures.
- 🌐 Computer graphics is a broad field with applications in entertainment, simulations, medical imaging, and more.
- 📚 The textbook by Steve Marschner and Pete Shirley is recommended but not required, as the course will provide additional insights.
- 💻 Students will work on seven projects using JavaScript and WebGL, emphasizing platform independence and ease of showcasing work.
- 🛠️ JavaScript is chosen for its wide usage, ease of learning, and the ability to create interactive computer graphics directly in the browser.
- ⏰ The next lecture will cover math background, with some content from Chapter 2 of the textbook, though not exhaustively.
Q & A
Who is the instructor for the 'Introduction to Computer Graphics' course?
-The instructor for the 'Introduction to Computer Graphics' course is Januxil.
What are the three pillars of computer graphics mentioned in the lecture?
-The three pillars of computer graphics mentioned are modeling, rendering, and animation.
What does the instructor plan to focus on regarding the modeling aspect of computer graphics?
-The instructor plans to focus on the math, algorithms, and data structures of modeling, rather than the tools for using specific software.
How does the instructor plan to handle the live streaming of the lectures?
-The instructor is live streaming the lectures on YouTube as an alternative to Zoom for those who might experience quality issues.
What is the instructor's approach to teaching this course for the first time?
-The instructor is redesigning the course content rather than relying on existing materials, which may lead to adjustments in the course structure as the semester progresses.
What are some of the additional areas of computer graphics discussed in the lecture?
-Additional areas of computer graphics discussed include virtual reality, augmented reality, visualization, image processing, computational photography, 3D scanning, and fabrication.
What are some applications of computer graphics outside of entertainment mentioned in the script?
-Applications of computer graphics outside of entertainment include computer-aided design, medical imaging, and data visualization.
Why is JavaScript chosen as the programming language for the course projects?
-JavaScript is chosen for the course projects because it is platform-independent, works on any browser, and allows for easy showcasing of work through web pages.
What is the recommended textbook for the course, and is it required?
-The recommended textbook is by Steve Marschner and Pete Shirley, but it is not required. The instructor had discussions with the authors and recommends it for its clarity and depth.
How does the instructor suggest students should engage with the course material?
-The instructor suggests attending lectures live, asking questions, and then referring to the textbook for related chapters to enhance understanding.
What is the instructor's plan for the Thursday lecture?
-The instructor plans to cover some math background on Thursday, which is related to Chapter 2 of the textbook, but will only cover a part of it, with the rest being discussed as relevant to other topics.
Outlines
👨🏫 Introduction to the Course
The instructor, Januxil, welcomes students to the introductory course on computer graphics. He discusses the structure of the course, which includes a light lecture followed by a Q&A session. Januxil mentions that the course will be interactive and will be streamed on Zoom and YouTube to accommodate any quality issues. He explains that this is his first time teaching the course, which he has redesigned, and there may be adjustments throughout the semester as he refines the content. The lecture focuses on the three pillars of computer graphics: modeling, rendering, and animation. Modeling involves creating visual representations, rendering is the process of generating images from model data, and animation encompasses moving and deforming objects. The course will concentrate on the mathematical, algorithmic, and data structure aspects rather than the use of specific tools.
🎨 The Broader Scope of Computer Graphics
The lecture expands on the three pillars of computer graphics and introduces additional areas such as user interaction, virtual and augmented reality, visualization, image processing, computational photography, 3D scanning, and fabrication. These areas, while related to computer graphics, are not the primary focus of the course. The instructor emphasizes the wide range of applications for computer graphics, particularly in entertainment like video games, special effects, feature animation, and cartoons. The discussion also touches on non-entertainment applications such as computer-aided design, manufacturing, simulations, medical imaging, and data visualization, highlighting the pervasive influence of computer graphics in various industries.
📚 Course Structure and Textbook
Januxil outlines the course structure, emphasizing the importance of understanding the algorithms and data structures behind computer graphics. The course aims to provide a broad overview of the field, covering the basics of modeling, rendering, and animation. The instructor introduces the textbook, 'The Ray Traced Rose,' by Steve Marschner and Peter Shirley, which is recommended but not required. The book is praised for its clarity and depth, and the instructor suggests using it in conjunction with the lectures. The course will not cover every detail in the book but will highlight relevant chapters. The instructor also discusses the seven projects that students will undertake, which will be created using JavaScript and WebGL, chosen for their platform independence and ease of showcasing work.
🛠️ Programming Language and Tools
The instructor clarifies that the course will not use C++, which is commonly associated with computer graphics, but will instead use JavaScript and WebGL. This decision is made to ensure platform independence and to allow students to easily demonstrate their work. The instructor expresses his preference for JavaScript due to its ubiquity and the availability of good debugging tools, particularly in Chrome. He assures students that JavaScript is approachable and will facilitate the learning process by not being overly complex. The use of HTML for the user interface is also mentioned, which will simplify the development of projects. The lecture concludes with a reminder about the upcoming Thursday session, which will cover mathematical background, and the instructor encourages students to read the relevant chapter in the textbook, noting that the lecture will cover only a portion of the material.
🔚 Conclusion and Upcoming Sessions
In the final paragraph, the instructor thanks the students for attending and provides a brief overview of the next session, which will delve into mathematical foundations relevant to computer graphics. He acknowledges that the textbook's second chapter covers more extensive mathematical topics than what will be discussed in the upcoming lecture. The instructor plans to cover additional mathematical concepts as they become pertinent to the course material. The lecture concludes with a farewell, expressing anticipation for the next session and gratitude for the students' participation.
Mindmap
Keywords
💡Computer Graphics
💡Modeling
💡Rendering
💡Animation
💡Virtual Reality (VR)
💡Augmented Reality (AR)
💡Visualization
💡Computational Photography
💡3D Scanning
💡Fabrication
💡JavaScript and WebGL
Highlights
Introduction to the course 'Introduction to Computer Graphics' and its structure.
Instructor Januxil's introduction and his approach to teaching the course.
Use of Zoom and YouTube for interactive and high-quality lecture streaming.
Instructor's first-time teaching experience and redesigning the course content.
Emphasis on the computer science aspects of computer graphics over tools.
The three pillars of computer graphics: modeling, rendering, and animation.
Overview of the broader field of computer graphics beyond the three core areas.
Differences between virtual reality and augmented reality in computer graphics.
Applications of computer graphics in various fields including entertainment and engineering.
Course focus on providing a broad overview of important topics in computer graphics.
Recommendation of the textbook 'The Ray Tracer Challenge' for deeper understanding.
Use of JavaScript and WebGL for practical assignments instead of C++.
Advantages of JavaScript for platform independence and ease of showcasing work.
Plan for seven projects throughout the course to apply computer graphics concepts.
Instructor's advice on learning JavaScript for those unfamiliar with the language.
Course's approach to not requiring the textbook but recommending it for additional insights.
Details on accessing the online version of the textbook through the University of Utah.
Upcoming lecture on Thursday focusing on math background for computer graphics.
Transcripts
hi everyone well thanks for joining
um i i'm hoping that you guys can
see me now and and hear me as well
right i'm seeing some of you you're not
enhanced that that's great all right so
uh this is going to be 4 600
introduction to computer graphics
uh my name is januxil i'm going to be
your instructor for this course
um so today
my topic is
how this is going to go i'm going to
talk a little bit about computer
graphics
this is going to be a relatively light
lecture and um then i'm going to open it
up for
questions right so that's the that's the
idea from there just they have
so my camera is over here
you guys are over there so when i look
like i am not looking at you
that's when i'm going to be actually
looking at you so
don't feel good that i'm looking to
decide all right so
um first things first uh
so this course right now you're all
joined in zoom which is great this is
one place where you can
see this content and everything um it's
it's
it's nice i i like this i'll be able to
see you you can you guys can see me you
can
talk and i can hear this is all
interactive and i like that and i like
to keep my lectures interactive so it's
all good
um but sometimes you might have some
quality
issues so i'm not sure how
good the quality is on your hand like
when you look at these
these letters if they are looking sort
of pixelated sort of
blurry in some ways that means that
probably the quality of video that
you're receiving on your end
is not very good in zoom that's what it
means so
to alleviate this potential problem if
you're experiencing it
i'm also live streaming these lectures
on youtube
so that's the other option you can go to
youtube um
just go to my channel slash live
these lectures are publicly streamed
let me start by saying that i am
teaching this course for the very first
time
now i'm very familiar with computer
graphics but i haven't taught this
course
in the past uh so the problem for me
with that is that i just took over this
course couple of weeks ago
that means i need to prepare the whole
content for the
entire course now i didn't want to rely
on existing content i actually
uh wanted to sort of redesign this
course
uh so if you guys are familiar with how
this course
went in previous years this is going to
be slightly different of course there's
going to be a huge overlap in terms of
content
but it's not going to be 100 overlap
this is going to be um
my version of of this course and
how i think this course should be
thought um
but the caveat for me is that i'm going
to have to prepare these lectures
uh throughout the semester and that's
going to have some implications on you
that is
you know i'm not 100 sure exactly how
this course is going to go i think it's
going to go well
but that's not my point my point is that
i'm
you know i may need to shift things
around as we move forward
when i have better ideas about how this
course should be structured
right all right so let's um
jump right into computer graphics we
presumably
that's why we all are here so the three
pillars of computer graphics are
as i like to call them that it's that's
modeling
and rendering and animation right
modeling
is the the the process of
generating of the designing as some some
object some visual representation of
something this could be a 3d object it
could be something 2d doesn't have to be
3d
modeling is the the is the process where
we generate the data that we're going to
use for
all sorts of computer with us and there
are um
tools all sorts of tools out there for
modeling and there are also sort of
algorithms and data structures
out there for modeling in this course
we're going to concentrate on
the the math we're going to concentrate
on the algorithms we're going to
concentrate on the data structures of
modeling
we're not going to concentrate on the
tools how to use specific tools
we're not going to cover that part at
all we're just going to deal with the
computer science related part of it
right
the other pillar is rendering that's the
process of
generating images um that that
involves a whole bunch of things you get
the
data uh from from the model data and you
you generate an image a 2d image that
you look at at the end so that's the
final
output that you you wanted to use in
computer graphics
um rendering involves a lot of pieces in
this course we're going to cover some of
the basics
we're not going to go too deep on
every little detail but we're going to
cover the the main concepts behind
uh rendering right
the other one is of course is is
animation
and animation can be done in various
different ways uh
of course with with computer graphics
oftentimes we have
animating objects we have moving objects
we have deforming objects like
like in this example and they could be
generated in various different ways and
we're going to talk about those in a
little bit
so these are the the three pillars of
computer graphics
that we're mostly going to uh talk about
in this course
but this doesn't really this doesn't
really cover everything that's going on
in computer graphics computer graphics
is actually
a very wide and never expanding field
um and a whole bunch of other things
that can be considered
a part of compute graphics besides these
three core areas
for example using interaction is
oftentimes considered a part of cookie
graphics
and all sorts of user interaction tools
and
techniques uh visual reality obviously i
mean part of it is definitely computer
graphics so of course there are there
are parts
that may be arguably computer graphics
maybe not but you can think about
the whole concept of virtual reality as
a part of computer graphics
and of course if visual reality is
computer graphics then you know
augmented reality is computer graphics
too right
uh an organic value could be something
like this you're just
holding the enterprise or just you're
wearing some some goggles that
see-through bubbles
uh that's not visually augmented reality
is happening right
uh so you guys know the difference
between virtual reality and augmented
reality
in the visual reality you completely
lose
your connection with the actual reality
in augmented reality the
actual reality exists you just add stuff
to it you add some visuals to it so
that's why we're using
see-through glasses with augmented
reality or in the other example we're
using
a camera that's actually seeing the
actual scene
if we don't see anything at all if
everything is completely covered that
that will be visual reality
all right let's let's move on uh
visualization
is a field of its own but it's also
considered a part of computer graphics
while some people do
consider part of computer method
image processing is another um is
another
component of computer graphics in this
case you know you stop in an image and
you manipulate it with using all sorts
of algorithms
uh for this example if you're trying to
understand what's going on here there's
some cards
at the bottom here and the algorithm
sort automatically deletes those cards
and they don't exist anymore so this
doesn't
quite perfectly fit in our modeling
animation rendering paradigm but still
it's considered
image manipulation is considered a part
of computer graphics by most people
another one is a big one actually is
computational photography
so um this this is the
the process of uh generating photographs
so taking photographs
using computational tools so the actual
goal here is to take a photograph
but you don't want to just rely on a
good old
camera either analog or digital camera
but you want to
add some computational tools uh to to be
able to do things that you couldn't do
with with a regular camera
combining algorithms to enhance the
process
of capturing images uh
or being able to do stuff that you
couldn't do just by a
regular visual camera like this called
computational photography photography
3d scanning is definitely a big part of
computer graphics
this this can be considered a part of
modeling and
one way of generating model data could
be using 3d scanning tools
and if 3d scanning is a part of graphics
then
fabrication can also be considered a
part of graphics right
so in this case where taking some
bottles and we're converting them into
into
actual physical objects these examples
are done
uh through knitting actually these were
done
by hand knitting they could be done
using computer controlled
knitting machines as well of course we
could also have
additive manufacturing using 3d printers
there's a ton of work out there in
computer graphics
related to fabrication yeah so all this
stuff is considered
computer graphics by most people but
let's uh
briefly look at the applications of
computer graphics when i say computer
graphics most people think about
entertainment so let's start with that
the first one is
video games or one of my favorite video
games here
obviously video games are a huge part of
computer graphics and
and entertainment um there's really
i'm not gonna say anymore here
special effects also you start with some
live action and you
add some stuff to it either some
background or some some foreground
objects that's considered you know a big
consumer of computer graphics is also
the special effects industry
uh special effects can be um tools that
combine live action or could be just
purely compute graphics
without using any live action shots none
whatsoever right that's
also considered special effects and a
huge consumer of computer graphics as an
application
feature animation is another one so we
typically separate feature animation
and special effects because special
effects is typically connected to live
action
even if live action does not exist in
all scenes
it exists in some scenes right there
some actors
playing uh in some scenes with feature
animation we don't have any actors
and then the the ultimate goal does not
always have to be
generating realistic images
most often feature animation
would use uh more stylized images
uh and cartoonish looking characters not
completely 2d cartoons uh but
but you know 3d cartoonish-looking
characters is
what uh feature animation would
typically use
of course talking about cartoons
computer graphics is also used
in cartoons as well in this example uh
it's used for generating a background
i'm not exactly sure if this is a 3d
background
but it's definitely something that's
that's computer generated one way or
another
uh and then you can have some foreground
hand-drawn characters on top of that
this is actually a relatively widespread
use case of computer gap it's a
relatively widespread use case of
computer applications uh there are
applications that are outside of
entertainment as well of course
so this is an example that's using
computer aided design and computer
manufacturing uh this is very heavily
used in
all sorts of engineering applications as
you can imagine it's definitely a
big application of computer graphics uh
simulations uh simulations are used for
games they're used for special effects
but they're also used for the purpose of
simulation itself
in this case for example training
uh pilots right so this is another
big application of computer graphics
uh medical imaging is another big
application of computer graphics so
there are various ways that computer
graphics is used
uh in medical imaging as you can imagine
uh and visualization in general can also
be considered a
an application of computer graphics
either information visualization or data
visualization
can also be considered a big application
of computer graphics well basically
anything that involves some visual
component
is an application of computer graphics i
would even include
our cell phones right and the graphics
on those cell phones they
are a big application of computer
graphics
all right so enough about general talk
about computer graphics let's be a bit
more specific and get back to this
course and
talk about what we're going to cover in
this course uh so
mostly in this course we're going to
concentrate on these three builders
modeling
rendering and animation and about
these topics we're going to cover the
algorithms we're going to cover the data
structures
so the cg part of it we're not going to
talk about existing
tools uh obviously
what i would like to do in this course
is to give you a
broad overview of the important topics
in in these three pillars right
so we're going to cover a whole bunch of
topics here so for most of them
we're not for most of them we won't have
time to go into
too much detail and this is by design
because
in an introduction to computer graphics
course i would like you all to be
knowledgeable about all of these things
so this is not a modeling course it's
not a rendering course it's not an
animation course
this is an introduction to computer
graphics course that will cover
everything
to a certain extent right so if you find
yourself
interested in any of these topics any of
the topics that we covered
you'll find that in the university of
utah we have
all sorts of specialized computer
graphics courses
that dive much deeper into these topics
for example i teach uh
two rendering courses one of them is
about interactive graphics is about
interactive rendering
and shader programming the other one is
ray tracing for graphics is about
generating highly realistic images
uh starting from from scratch and we
also have
computer animation courses so if you
find yourself interested in these topics
you can find specialized courses in
these topics but in this course we're
gonna
have a sort of broad uh relatively
higher level overview and we're gonna
cover the basics of these topics right
so this is our textbook it is
recommended
but not required and there's a good
reason for that
while designing this course i actually
had an extensive
discussion with steve martin and pete
shirley those are the the main authors
of this book
and uh you know we talked about all
sorts of stuff and
how this book could be used i i got to
tell you that
both steve marshall and pete shirley are
two
very strong very well known graphics
researchers
but on top of that they are people who
are
really really good at explaining things
uh
so i'm i'm pretty sure you're gonna be
happy with
uh with this book and i i haven't read
the entire book just yet i've read
parts of it uh quite a bit of it
actually and
i've been very very happy with it um and
i'm pretty sure you guys will be happy
with it as well so we're gonna
follow this book let me actually zoom in
but i'm not saying that this is
required this is recommended uh so
my my recommended style for for this
course
for you guys to be able to get the most
out of this course would be
attending these lectures live uh if you
can
uh and listen to this listen to these
lectures
and ask your questions live and then go
back
and and go go to the book and read the
related chapter i'm going to highlight
the related chapter
so i'm not planning to cover everything
that's in the book
right and for the stuff that i cover in
the book i'm not planning to cover
every detail necessarily
but the book is not going to be a full
substitute for these lectures either
because i might actually provide more
information or additional information
that does not exist in the book uh so
that's why i would recommend that you
uh use both these lectures and the book
uh at the same time in connection with
each other so
this particular introduction uh lecture
is related to the very first chapter of
the book
it's not covering everything that's in
the very first chapter but it's covering
quite a bit it has a few additional
stuff in there as well um
but actually mostly i'm talking about
how this course is gonna go
right so you don't necessarily have to
purchase the book
uh if you don't want to we also
as university of utah students you
should have online access to this book
as well the details
are uh you can find the details on on
canvas
there's a fairly easy way of accessing
an online version of this book
using your uh university of utah
accounts
now let's talk about these seven
projects
uh the de facto language of compute
graphics
is c plus plus which we're not going to
use
so a lot of people and a lot of graphics
people
actually really don't like c plus plus
i'm not one of them i love c plus plus i
use c plus plus all the time all of my
other courses use c
plus plus but not this one in this
course we're going to use javascript
and we're going to use webgl uh now
i'm not a big fan of java but i love
javascript
um mainly because it works on the
browser it's
uh it's a your platform independent just
works on pretty much any browser now
it's reasonably fast in the past way
way back when it was kind of slow to
today you can do a lot of really
complicated stuff with javascript and it
works just fine
um so it's uh and and the debuggers
are okay uh not great but it's actually
pretty decent uh i would recommend uh
that you guys use chrome chrome actually
has a very good java debugger javascript
debugger
i i do use that extensively um
and i would i would recommend it um i'm
not sure if there are
other good debuggers for javascript as
well but we're going to be using
javascript
and the main reason for that is that
first of all i wanted this to be
sort of platform independent second of
all i would like you guys to be able to
showcase the stuff that you're doing
easily so this is going to be javascript
so you can just put it on your web pages
and it's going to work right
well i don't want you to be sort of uh
publicly uh publishing your
uh your your projects which is going to
be
a part of plagiarism so we're not going
to go there but you know
at the end of this course you will be
able to easily do stuff
with computer graphics and javascript
and that that's one of my intentions
that you guys will be able to
do this and if you're not familiar with
javascript
i would say don't worry too much about
it because i think you guys
can learn javascript fairly easily if
you're not familiar with it and you
really should be familiar with it it's a
very very
widely used language and and you guys
should know i think
so we're going to be using javascript
and that's going to make things
quite a bit easier uh because um
we're not going to be battling with the
programming language too much uh
doing simple stuff in um
relatively lower level languages like c
plus plus
uh can be can require a bit more effort
uh with javascript things are going to
be quite a bit easier and we can use
html as
our user interface so things are going
to be much easier
uh from user into interface perspective
right
all right guys um thank you all for
joining in
um we'll do the same on thursday so
thursday's topic is going to be some
math background and it's uh
the if you want to take a look at the
related chapter in the book uh just be
warned that the the book
is the chapter two of the book is more
extensive than what i'm planning to
cover it's covering
a lot more math than i am planning to
cover
on thursday so i'm just gonna talk about
a part of it
uh and i'm gonna talk about the rest
when it becomes relevant to the topics
that we're covering
all right thanks for coming in i'll um
i'll see you next time
thank you thank you thank you thank you
thanks
5.0 / 5 (0 votes)