SlideShare a Scribd company logo
1 of 21
Computer Viewing
1
Objectives
• Introduce the mathematics of projection
• Introduce OpenGL viewing functions
• Look at alternate viewing APIs
2
Computer Viewing
• There are three aspects of the viewing process, all of which are
implemented in the pipeline,
• Positioning the camera
• Setting the model-view matrix
• Selecting a lens
• Setting the projection matrix
• Clipping
• Setting the view volume
3
The OpenGL Camera
• In OpenGL, initially the object and camera frames are the same
• Default model-view matrix is an identity
• The camera is located at origin and points in the negative z direction
• OpenGL also specifies a default view volume that is a cube with sides
of length 2 centered at the origin
• Default projection matrix is an identity
4
Default Projection
Default projection is orthogonal
5
clipped out
z=0
2
Moving the Camera Frame
•If we want to visualize object with both positive and
negative z values we can either
• Move the camera in the positive z direction
• Translate the camera frame
• Move the objects in the negative z direction
• Translate the world frame
• Both of these views are equivalent and are determined by the model-
view matrix
• Want a translation (glTranslatef(0.0,0.0,-d);)
• d > 0
6
Moving Camera back from Origin
default frames
7
frames after translation by –d
d > 0
Moving the Camera
• We can move the camera to any desired position by a sequence of
rotations and translations
• Example: side view
• Rotate the camera
• Move it away from origin
• Model-view matrix C = TR
8
OpenGL code
• Remember that last transformation specified is first to be applied
9
glMatrixMode(GL_MODELVIEW)
glLoadIdentity();
glTranslatef(0.0, 0.0, -d);
glRotatef(90.0, 0.0, 1.0, 0.0);
The LookAt Function
•The GLU library contains the function gluLookAt to
form the required modelview matrix through a simple
interface
•Note the need for setting an up direction
•Still need to initialize
• Can concatenate with modeling transformations
•Example: isometric view of cube aligned with axes
10
glMatrixMode(GL_MODELVIEW):
glLoadIdentity();
gluLookAt(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0., 1.0. 0.0);
gluLookAt
glLookAt(eyex, eyey, eyez, atx, aty, atz, upx, upy, upz)
11
Other Viewing APIs
• The LookAt function is only one possible API for positioning the
camera
• Others include
• View reference point, view plane normal, view up (PHIGS, GKS-3D)
• Yaw, pitch, roll
• Elevation, azimuth, twist
• Direction angles
12
Projections and
Normalization
• The default projection in the eye (camera) frame is orthogonal
• For points within the default view volume
• Most graphics systems use view normalization
• All other views are converted to the default view by transformations that determine
the projection matrix
• Allows use of the same pipeline for all views
13
xp = x
yp = y
zp = 0
Homogeneous Coordinate
Representation
xp = x
yp = y
zp = 0
wp = 1
14
pp = Mp
M =












1000
0000
0010
0001
In practice, we can let M = I and set
the z term to zero later
default orthographic projection
Simple Perspective
• Center of projection at the origin
• Projection plane z = d, d < 0
15
Perspective Equations
Consider top and side views
16
xp =
dz
x
/
dz
x
/
yp =
dz
y
/
zp = d
Homogeneous Coordinate Form
consider q = Mp where
17
M =












0/100
0100
0010
0001
d












1
z
y
x












dz
z
y
x
/
q = ⇒ p =
Perspective Division
• However w ≠ 1, so we must divide by w to return from homogeneous
coordinates
• This perspective division yields
the desired perspective equations
• We will consider the corresponding clipping volume with the OpenGL
functions
18
xp =
dz
x
/
yp =
dz
y
/
zp = d
OpenGL Orthogonal Viewing
glOrtho(left,right,bottom,top,near,far)
19
near and far measured from camera
OpenGL Perspective
glFrustum(left,right,bottom,top,near,far)
20
Using Field of View
• With glFrustum it is often difficult to get the desired view
•gluPerpective(fovy, aspect, near, far)
often provides a better interface
21
aspect = w/h
front plane

More Related Content

Similar to Computer Viewing: Introduce Projection and OpenGL Functions

Lecture3.orig.ppt
Lecture3.orig.pptLecture3.orig.ppt
Lecture3.orig.pptAnishMonTS
 
Chapter02 graphics-programming
Chapter02 graphics-programmingChapter02 graphics-programming
Chapter02 graphics-programmingMohammed Romi
 
Curves and surfaces in OpenGL
Curves and surfaces in OpenGLCurves and surfaces in OpenGL
Curves and surfaces in OpenGLSyed Zaid Irshad
 
Better Interactive Programs
Better Interactive ProgramsBetter Interactive Programs
Better Interactive ProgramsSyed Zaid Irshad
 
Android webinar class_4
Android webinar class_4Android webinar class_4
Android webinar class_4Edureka!
 
Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGLGary Yeh
 
Lighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.pptLighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.pptCharlesMatu2
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESPrabindh Sundareson
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesBryan Duggan
 
Vision system for robotics and servo controller
Vision system for robotics and servo controllerVision system for robotics and servo controller
Vision system for robotics and servo controllerGowsick Subramaniam
 

Similar to Computer Viewing: Introduce Projection and OpenGL Functions (20)

Opengl (1)
Opengl (1)Opengl (1)
Opengl (1)
 
Lecture3.orig.ppt
Lecture3.orig.pptLecture3.orig.ppt
Lecture3.orig.ppt
 
Shading in OpenGL
Shading in OpenGLShading in OpenGL
Shading in OpenGL
 
Chapter02 graphics-programming
Chapter02 graphics-programmingChapter02 graphics-programming
Chapter02 graphics-programming
 
Curves and surfaces in OpenGL
Curves and surfaces in OpenGLCurves and surfaces in OpenGL
Curves and surfaces in OpenGL
 
Better Interactive Programs
Better Interactive ProgramsBetter Interactive Programs
Better Interactive Programs
 
Android webinar class_4
Android webinar class_4Android webinar class_4
Android webinar class_4
 
Core Animation
Core AnimationCore Animation
Core Animation
 
Introduction of openGL
Introduction  of openGLIntroduction  of openGL
Introduction of openGL
 
Angel6 e05
Angel6 e05Angel6 e05
Angel6 e05
 
CGLabLec6.pptx
CGLabLec6.pptxCGLabLec6.pptx
CGLabLec6.pptx
 
OpenGL basics
OpenGL basicsOpenGL basics
OpenGL basics
 
Lighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.pptLighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
Lighting & Shading in OpenGL Non-Photorealistic Rendering.ppt
 
2D graphics
2D graphics2D graphics
2D graphics
 
18csl67 vtu lab manual
18csl67 vtu lab manual18csl67 vtu lab manual
18csl67 vtu lab manual
 
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ESGFX Part 5 - Introduction to Object Transformations in OpenGL ES
GFX Part 5 - Introduction to Object Transformations in OpenGL ES
 
Projection Matrices
Projection MatricesProjection Matrices
Projection Matrices
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game Engines
 
ch4.pptx
ch4.pptxch4.pptx
ch4.pptx
 
Vision system for robotics and servo controller
Vision system for robotics and servo controllerVision system for robotics and servo controller
Vision system for robotics and servo controller
 

More from Syed Zaid Irshad

More from Syed Zaid Irshad (20)

Operating System.pdf
Operating System.pdfOperating System.pdf
Operating System.pdf
 
DBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_SolutionDBMS_Lab_Manual_&_Solution
DBMS_Lab_Manual_&_Solution
 
Data Structure and Algorithms.pptx
Data Structure and Algorithms.pptxData Structure and Algorithms.pptx
Data Structure and Algorithms.pptx
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptxDesign and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
 
Professional Issues in Computing
Professional Issues in ComputingProfessional Issues in Computing
Professional Issues in Computing
 
Reduce course notes class xi
Reduce course notes class xiReduce course notes class xi
Reduce course notes class xi
 
Reduce course notes class xii
Reduce course notes class xiiReduce course notes class xii
Reduce course notes class xii
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
C Language
C LanguageC Language
C Language
 
Flowchart
FlowchartFlowchart
Flowchart
 
Algorithm Pseudo
Algorithm PseudoAlgorithm Pseudo
Algorithm Pseudo
 
Computer Programming
Computer ProgrammingComputer Programming
Computer Programming
 
ICS 2nd Year Book Introduction
ICS 2nd Year Book IntroductionICS 2nd Year Book Introduction
ICS 2nd Year Book Introduction
 
Security, Copyright and the Law
Security, Copyright and the LawSecurity, Copyright and the Law
Security, Copyright and the Law
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Data Communication
Data CommunicationData Communication
Data Communication
 
Information Networks
Information NetworksInformation Networks
Information Networks
 
Basic Concept of Information Technology
Basic Concept of Information TechnologyBasic Concept of Information Technology
Basic Concept of Information Technology
 
Introduction to ICS 1st Year Book
Introduction to ICS 1st Year BookIntroduction to ICS 1st Year Book
Introduction to ICS 1st Year Book
 
Using the set operators
Using the set operatorsUsing the set operators
Using the set operators
 

Recently uploaded

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 

Recently uploaded (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 

Computer Viewing: Introduce Projection and OpenGL Functions

  • 2. Objectives • Introduce the mathematics of projection • Introduce OpenGL viewing functions • Look at alternate viewing APIs 2
  • 3. Computer Viewing • There are three aspects of the viewing process, all of which are implemented in the pipeline, • Positioning the camera • Setting the model-view matrix • Selecting a lens • Setting the projection matrix • Clipping • Setting the view volume 3
  • 4. The OpenGL Camera • In OpenGL, initially the object and camera frames are the same • Default model-view matrix is an identity • The camera is located at origin and points in the negative z direction • OpenGL also specifies a default view volume that is a cube with sides of length 2 centered at the origin • Default projection matrix is an identity 4
  • 5. Default Projection Default projection is orthogonal 5 clipped out z=0 2
  • 6. Moving the Camera Frame •If we want to visualize object with both positive and negative z values we can either • Move the camera in the positive z direction • Translate the camera frame • Move the objects in the negative z direction • Translate the world frame • Both of these views are equivalent and are determined by the model- view matrix • Want a translation (glTranslatef(0.0,0.0,-d);) • d > 0 6
  • 7. Moving Camera back from Origin default frames 7 frames after translation by –d d > 0
  • 8. Moving the Camera • We can move the camera to any desired position by a sequence of rotations and translations • Example: side view • Rotate the camera • Move it away from origin • Model-view matrix C = TR 8
  • 9. OpenGL code • Remember that last transformation specified is first to be applied 9 glMatrixMode(GL_MODELVIEW) glLoadIdentity(); glTranslatef(0.0, 0.0, -d); glRotatef(90.0, 0.0, 1.0, 0.0);
  • 10. The LookAt Function •The GLU library contains the function gluLookAt to form the required modelview matrix through a simple interface •Note the need for setting an up direction •Still need to initialize • Can concatenate with modeling transformations •Example: isometric view of cube aligned with axes 10 glMatrixMode(GL_MODELVIEW): glLoadIdentity(); gluLookAt(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0., 1.0. 0.0);
  • 11. gluLookAt glLookAt(eyex, eyey, eyez, atx, aty, atz, upx, upy, upz) 11
  • 12. Other Viewing APIs • The LookAt function is only one possible API for positioning the camera • Others include • View reference point, view plane normal, view up (PHIGS, GKS-3D) • Yaw, pitch, roll • Elevation, azimuth, twist • Direction angles 12
  • 13. Projections and Normalization • The default projection in the eye (camera) frame is orthogonal • For points within the default view volume • Most graphics systems use view normalization • All other views are converted to the default view by transformations that determine the projection matrix • Allows use of the same pipeline for all views 13 xp = x yp = y zp = 0
  • 14. Homogeneous Coordinate Representation xp = x yp = y zp = 0 wp = 1 14 pp = Mp M =             1000 0000 0010 0001 In practice, we can let M = I and set the z term to zero later default orthographic projection
  • 15. Simple Perspective • Center of projection at the origin • Projection plane z = d, d < 0 15
  • 16. Perspective Equations Consider top and side views 16 xp = dz x / dz x / yp = dz y / zp = d
  • 17. Homogeneous Coordinate Form consider q = Mp where 17 M =             0/100 0100 0010 0001 d             1 z y x             dz z y x / q = ⇒ p =
  • 18. Perspective Division • However w ≠ 1, so we must divide by w to return from homogeneous coordinates • This perspective division yields the desired perspective equations • We will consider the corresponding clipping volume with the OpenGL functions 18 xp = dz x / yp = dz y / zp = d
  • 21. Using Field of View • With glFrustum it is often difficult to get the desired view •gluPerpective(fovy, aspect, near, far) often provides a better interface 21 aspect = w/h front plane