This preview shows pages 1–3. Sign up to view the full content.
6.837
Introduction
to
Computer
Graphics
Assignment
4:
Grid
Acceleration
Due
Wednesday
October
15,
2003
at
11:59pm
This
week,
you
will
make
your
ray
tracer
faster
using
a
spatialacceleration
data
structure.
You
will
implement
grid
acceleration,
using
fast
ray
marching.
To
convince
yourself
of
the
eﬃciency
of
your
acceleration,
you
will
analyze
a
set
of
statistics
about
your
computation.
In
order
to
test
your
grid
structure
before
using
it
for
acceleration,
you
will
implement
the
grid
as
a
modeling
primitive.
Volumetric
modeling
can
be
implemented
by
aﬀecting
a
binary
opaqueness
value
for
each
grid
cell.
This
is
the
equivalent
of
the
discrete
pixel
representation
of
2D
images.
Each
volume
element
(or
voxel)
will
be
rendered
as
a
solid
cube.
You
can
very
easily
rasterize
simple
primitives
in
a
grid;
for
example,
to
rasterize
a
sphere,
simply
test
the
distance
between
the
center
of
a
voxel
and
the
sphere
center.
After
your
grid
modeling
primitive
is
implemented
and
debugged,
you
will
use
it
for
acceleration.
As
a
preprocess,
you
will
insert
all
scene
objects
in
the
cells
of
the
grid
that
they
span.
In
order
to
test
your
object
insertion
code,
you
will
render
cells
that
contain
one
more
more
objects
as
opaque.
Then,
you
will
modify
your
ray
tracer
to
use
the
grid
for
fast
ray
casting.
You
will
use
your
ray
marching
code
and
intersect
all
the
objects
stored
in
each
traversed
cell.
You
must
pay
attention
to
intersections
outside
the
cell
and
implement
early
rejection
to
stop
marching
when
you
have
found
an
appropriate
intersection.
For
this
assignment,
you
may
assume
that
no
transformations
are
used.
This
way
you
may
eﬀectively
ignore
the
group
hierarchy
and
insert
all
primitives
by
scanning
the
scene
in
a
depth±rst
manner.
1
Ray
Tracing
Statistics
Use
the
provided
RayTracingStats
class
to
compute
various
statistics
including
the
number
of
pixels,
the
number
of
rays
cast,
the
number
of
ray/primitive
intersections,
the
number
of
cells
in
the
grid,
the
number
of
grid
cells
traversed
with
the
ray
marching
technique,
and
the
total
running
time.
Add
the
following
timing
and
counter
increment
functions
provided
in
the
RayTracerStatistics
class
to
your
code:
1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document •
Call
RayTracingStats::Initialize(int
This is the end of the preview. Sign up
to
access the rest of the document.
This note was uploaded on 12/14/2011 for the course EECS 6.837 taught by Professor Durand during the Fall '03 term at MIT.
 Fall '03
 Durand
 Computer Graphics

Click to edit the document details