0% found this document useful (0 votes)
157 views19 pages

Wireframe Modeling in Computer Graphics

The document discusses wireframe modeling and 3D projection. It explains that wireframe models depict 3D objects using vertices and connecting edges. Vertices are projected onto a 2D viewplane using perspective projection equations. This allows animating the wireframe model by redrawing it from different angles. Advanced techniques like page-flipping can eliminate flickering during animation by taking advantage of extra graphics memory. However, inconsistent graphics hardware standards created challenges for portable software. The VESA standard aimed to address this by defining a common programming interface.

Uploaded by

anadinath sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
157 views19 pages

Wireframe Modeling in Computer Graphics

The document discusses wireframe modeling and 3D projection. It explains that wireframe models depict 3D objects using vertices and connecting edges. Vertices are projected onto a 2D viewplane using perspective projection equations. This allows animating the wireframe model by redrawing it from different angles. Advanced techniques like page-flipping can eliminate flickering during animation by taking advantage of extra graphics memory. However, inconsistent graphics hardware standards created challenges for portable software. The VESA standard aimed to address this by defining a common programming interface.

Uploaded by

anadinath sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Wire-frame Modeling

An application of Bresenham’s
line-drawing algorithm
3D models
• Simple objects from the world around us
can be depicted as “wire-frame models”
• We make a list of the “key” points (usually
corners) on the object’s outer surface and
a list of all the lines that connect them
• The “key” points are called “vertices”
• The connecting lines are called “edges”
• We create a file that contains this “data”
Example: the basic barn
10 corner-points (“vertices”)
15 line-segments (“edges”)
3D-coordinates
Front vertices Back vertices
V0=( 0.5, 0.5, 0.5 ) V1=( 0.5, 0.5, -0.5 )
V2=( 0.5, -0.5, 0.5 ) V3=( 0.5, -0.5, -0.5 )
V4=( -0.5, -0.5, 0.5 ) V5=( -0.5, -0.5, -0.5 )
V6=( -0.5, 0.5, 0.5 ) V7=( -0.5, 0.5, -0.5 )
V8=( 0.0, 1.0, 0.5 ) V9=( 0.0, 1.0, -0.5 )
Perspective Projection
• We imagine the computer display screen
is located between the wireframe model
and the eye of someone who’s viewing it
• Each vertex is “projected” onto the screen
• We use Bresenham’s algorithm to draw
line-segments that connect the projections
• A “demo program” will show this effect
The projection
Y-axis P(x,y,z)

P*(x*,y*,0)

X-axis
View-plane
Eye of viewer
(0,0,D)
Z-axis D = distance of eye from view-plane
Similar Triangles
Corresponding sides have proportional lengths

C
c A
a

b B

a/A = b/B = c/C


Projection: side-view
By similar triangles:
y* / y = D / (D – z)
P(x,y,z)
So y* = y / ( 1 – z / D )

P*(x*,y*,0) y

y*

Eye

Z-axis
D z
View-plane
Projection: top-view
D z

Z-axis
x*
x

P*( x*, y*, 0 )


By similar triangles:
x* / x = D / ( D – z )
P( x, y, z )
So: x* = x / ( 1 – z / D )
The projection equations
• Point P( x, y, z ) in 3D-world is “mapped”
to pixel P*( x*, y* ) in the 2D-viewplane:

x* = x / ( 1 – z / D )
y* = y / ( 1 – z / D )

• Here D is distance of eye from viewplane


Any fixups needed?
• If the projected image is too small or too
big, it can be “rescaled”:
x’ = x*(scaleX); y’ = y*(scaleY);

• If the projected image is “off-center”, it can


be “shifted” (left or right, up or down):
x” = x’+shiftX; y” = y’+shiftY;
animation
• The wire-frame model can be moved (or
the viewer’s eye can be moved) to show
an object from different viewing angles
• By redrawing a series of different views in
rapid succession, the illusion of animation
can be achieved
• But erasing and then redrawing a complex
object can produce “flickering” that spoils
the impression of smooth movements
smooth wire-frame animations
• Advanced hardware techniques can be
employed to eliminate any “flickering”
• One such technique is “page-flipping”
• It makes use of the extra graphics VRAM
• But it may require us to learn more about
the Super VGA hardware designs
• And here we must confront the issue of
graphics “standards” (or the lack thereof)
SuperVGA

The problem of “standards” for


enhanced PC graphics hardware
Limitations of VGA
• VGA’s architecture was designed by IBM
• It was targeted for IBM’s PC/AT machines
• These used Intel’s 8086/8088/80286 cpus
• Operating system was PC-DOS/MS-DOS
• DOS was built to execute in “real-mode”
• So address-space was limited to 1MB
• VRAM was confined to 0xA0000-0xBFFFF
• Graphics-mode VRAM was only 64KB
VGA Modes 18 and 19
• Design-goals of VGA mode 18:
higher screen-resolution (640x480, 4bpp)
and “square” pixels (16 colors)
• Design-goals of VGA mode 19:
higher color-depth (320x200, 8bpp)
and “linear” addressing (256 colors)
• Also “backward compatibility” with CGA/EGA:
– CGA mode 6: 640x200, 1bpp (2-colors)
– CGA mode 5: 320x200, 2bpp (4-colors)
– EGA mode 16: 640x350, 4bpp (16-colors0
IBM competitors
• Others sought a marketing advantage
• Their engineers devised ways to get more
colors and/or higher screen-resolutions
• Example: 800x600 with 4bpp (16-colors)
• Offers “square” pixels and 64K addressing
• 800x600=480000 pixels (“planar” memory)
• But every competitor did it their own way!
• So PC graphics software wasn’t “portable”
VESA
• Video Electronics Standards Association
• An industry consortium to setup standards
• Their idea: provide a uniform programming
interface for Super VGAs via the firmware
• Applications would not directly program
the incompatible graphics hardware, but
would call standard ROM-BIOS functions
supplied in firmware by each manufacturer
VESA Bios Extensions v3.0
• Copy of the standards document is online
• It defines a programming interface for the
essential and the most-needed functions
• Examples: setting various display-modes,
querying the hardware’s capabilities,
and enabling SuperVGA functionalities
• Reading assignment: study ‘[Link]’

You might also like