- 3D ??? ???? ?? - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

- 3D ??? ???? ??

Description:

Title: 1 Author: Last modified by: Created Date: 3/6/1998 5:40:58 AM Document presentation format – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 42
Provided by: 4518
Category:
Tags: clipping | polygon

less

Transcript and Presenter's Notes

Title: - 3D ??? ???? ??


1
Lecture 3
  • ? 1 ?. ??? ???? ???? ??
  • - 3D ??? ???? ??
  • - OpenGL API ??

2
?? ??
  • 3D ??? ???? ??? ?????
  • 3D ??? ???? ??? ??
  • OpenGL API ?? ??
  • 2?? ??? ???? ??
  • 3?? ????? ??? ??? ?? ??
  • 2?? ??? ???? ? 1
  • ??? ??? ?? ???
  • 2?? ??? ???? ? 2
  • ??? ?? ?????

3
????? ?????
  • ???? ????? ?? ??
  • ??? ????? ??? ????? GUI ?????

??? ????? ?????
4
?? ????? ?????(API)
  • ??? ????? ?? ??
  • API? ?? ?????

??? ???? ?? ?? ?????? ??
5
?? ????? ?????(API)
  • ?????? ????? ?? ???? ??? ? ??? ??? ???
  • ?? ??? ??? OpenGL, PHIGS, GKS-3D ?? API ?? ??? ??
  • ??, ???, ??, ?? ???? ?? ?? ??? ??

6
???? ??
7
De facto (industry) ???
  • QuickDraw (Apple)
  • Xlib (X-window)
  • GL (SGI), OpenGL
  • DirectDraw, Direct3D (MS)
  • Renderman (Pixar)
  • Java3D

8
API? ???
  • 3D ???? ???? ????? ?? ??? ??? ???? ?? ??? ?? API
    ??? ????
  • ??
  • ?? ???? ??? ?? ??(??? ??? ??)? ??
  • ???
  • ???? ???? ??, ??, ????, ???
  • ??
  • ??, ??, ?, ???? ??
  • ??? ??
  • ?? ??, ?? ??, ?? ?? ?

9
? ?
  • API?? ???? ?? ??
  • ?, ??, ???, ???, ??? ?
  • API? ?? ??, ?? ????? ??
  • OpenGL? ??? ??

glBegin(GL_POLYGON) glVertex3f(0.0, 0.0,
0.0) glVertex3f(0.0, 1.0, 0.0)
glVertex3f(0.0, 0.0, 1.0) glEnd()
10
??? ??
  • ????? ??? ??
  • ??
  • ?? ??? ??? ??
  • ??
  • ?? ??? ???? ?? ?????? ??
  • ?? ??
  • ???? ?? ??? ?? ??
  • ?? ?
  • ???? ??? ??
  • ??? ???? ?? ??

11
??? ?? ? ?? ??? ??
  • ??? ??
  • ??? ????? ??? ?? pp. 35 ?? ??
  • ?? ??? ??
  • ??? ???? ??? ??

???? ?? ??
12
OpenGL? ??? ??
  • glOrtho(.)
  • gluLookAt(cop_x,cop_y,cop_z, at_x,
    at_y, at_z, ...)
  • gluPerspective(field_of_view, )

13
?? ?? ??
  • ??
  • ??, ??, ? ? ??? ?? ??
  • ???? ???? ?? ??(pointer light)? ?? ?? (monochrome
    light)? ??
  • ?? ??
  • ??? ??(??)? ??
  • ?? ??, ?? ??, ?? ?? ?
  • ??? ?? ??? API? ???? ?-?? ????? ??? ???

14
??? ????
  • ? ??? pp 219 ?? ??
  • OpenGL? ???? ??? ??? ?? ??? ???? ??
  • 3D ????? ???? ??? ? ??? ???? ????? ??
  • 1 ? ?? ??? (wire frame image)
  • 3 ?? ??? (?? ?? ????? ???)
  • 4 ?? ??, ?? ???(flat shading) ??
  • 5 ??? ??? ??(smooth shading)
  • 6 ?? ??(texture mapping) ??
  • 7 ???(fractals)
  • 8 ?? ?? ??

15
??? ???
?? ??? (2???? ??)
16
  • ??? ??? ??

??, ?? ??? ??
17
???
?? ??
18
????
19
3D ??? ?? ????
  • ?? ??? ??
  • ?? ??(Ray-tracing) ??
  • ???-??? ??

20
???-??? ????
  • ???-??? ????
  • ???? ???? ??? ? ??
  • ??? ??? ???, ??? ??? ?? ???
  • ??? ???????? ??
  • ??? ??? ????, ?? ?????? ??

????
???
???
The modeling-rendering pipeline
21
??? ??? ??
  • ?? ??? ???
  • Von Neumann ??? ?? ??? ??
  • ?? ?????? ??
  • ???? ??? ? ?? ??

?? ???? ???
22
????? ???
  • ????? ???
  • ?? ?? ??
  • ??? ?? ??? ???? ?? ??
  • ????? ???? ???? ??? ???? ????? ???? ??

Display-processor ??
23
????? ??
  • ?? ??? ?????
  • ??? ?? ??? ????? ??? ??
  • ?? ??? ??? ???? ??

24
?? ?????(Geometry Pipeline)
Geometric pipeline
25
? ?(Transformation)
  • ?? ?? ??? ??? ??? ??
  • ??? ??? gt ???? ??? gt ??? ???
  • ??? ??
  • ??? ??? ??? ???? ??

26
? ?(Clipping)
  • ?? ??? ?? ???? ?? ??? ??? ? ? ??
  • ?? ??? 90? ??
  • ??? ??? ??? ???? ??? ??
  • ?? ??? ?? ?? ???(Clipping Retangle)
  • ???? ???? ?? ??? ????? ????? ?? ?????? ???? ? ??
  • ?? ??? ??? ????? ???? ?? ??

27
? ?(Projection)
  • 3?? ?? ? 2?? ??? ??
  • ?? ??? ??? ????? ??
  • ??? ??? ??? ??
  • ?? ??? ???? ?? ? ???

28
????(Rasterization)
  • ??? ???? ??? ?? ?? ????? ??
  • ???? ??? 7??? ??

29
??? ?? ??
  • ? ?? ??? ??
  • ???? ??
  • ????? ??? ??
  • ??? ??(back-end processing)
  • ??? ?? ?? ???? ?? ??
  • ?? ??? ?? ?? ??
  • ??
  • ????? ???? ??? ?? ???? ??? ??
  • ??? ???? ??? 1?? ??? ?? ??

30
OpenGL API (1)
  • ??? ???? ???
  • ?? ???????? ?? ??? ??
  • ???? ????? ???? ????? ?????
  • ??? ????? ????? ??

31
OpenGL API (2)
  • OpenGL API
  • ???? ????? ?? ????? ?????
  • SGI?? ??? GL API? ?? ????? ????? ???? ??? ???
    ???(open) API
  • ????????? OpenGL API? ??? ???? ?????
    ?????(library)? ???? ??
  • SGI???? windows? OpenGL Library ??
  • Mesa 3D Library
  • 300 ? ?? API ???? ??
  • ?????-?? ??(??-??)
  • ???? ???
  • ????? ???? ???? ???

32
OpenGL API (3)
  • OpenGL ?? ?? ??(Generic Implementation)
  • ??????? ??

33
OpenGL API (4)
  • OpenGL ?? ???? ??(H/W Implementation)

34
OpenGL API (5)
  • OpenGL ????? ??
  • GL ?? ?????
  • GLU GL ?? ?? ??, ?? ?? (U utility)
  • GLUT ??? ????? ????? (UT utility toolkit)

X-??? ??? ????? OpenGL ????? ??
35
OpenGL API (6)
  • ??? ???
  • ??? ??, ?? ???, ????? ???? ? ????? ????? ???? ???
    ?? API? ???? ???
  • GLUT(OpenGL Utility Toolkit)
  • ??? ????? ?????
  • ????? ????? ??? ??? ???? ?????
  • ??? ?? ? ??, ?? ?? ??, ???? ?? ?
  • ?? SGI?? GLUT version 3.7? ??
  • (http//reality.sgi.com/opengl/glut3/glut3.html
    )

36
OpenGL API (7)
  • ???(Data Type)
  • ?? ????? ??? OpenGL ??? ?? ????? ?? ???? ??
    OpenGL ??? ???? ??

OpenGL?? ??? ?? ?? ?? C ?? ??? ??? ???
Glbytes 8-bit integer Signed char b
Glshort 16-bit integer Short s
Glint, Glsizei 32-bit integer long l
Glfloat, Glclampf 32-bit floating point float f
Gldouble, Glclampd 64-bit floating point double d
Glubyte, Glboolean 8-bit unsigned integer unsigned char ub
Glushort 16-bit unsigned integer unsigned short us
Gluint, Glenum 32-bit unsigned integer unsigned long ui
GLbitfield
37
OpenGL API (8)
  • ???(Data Type)
  • ??? ? ??? C ???? ???? ?? ????
  • e.g
  • GLshort shorts10
  • GLdouble doubles10

38
OpenGL API (9)
  • ?? ?? ??(Naming Convention)
  • OpenGL API ???? ??? ??? ?? ??? ????
  • lt?????? ???? ???gt ltcommand? ???? ??gtlt???
    ??-??gtlt??? ??-??gt
  • ???? ?? ??? ????? ??, ??? ??, ???? ??? ?? ? ??? ?
    ? ??
  • ? glColor3f(0.5f, 0.5f, 0.5f)
  • glRectf(100.0f, 150.0f, 150.0f, 100.0f)
  • glCreateWindow(Sample)
  • OpenGL??? ????? ??? ???? float? (single-precision
    floating point type)? ????
  • Windows C/C ????? ??? ???? double??? ????

39
OpenGL API (10)
  • OpenGL API ??? ??
  • ?? ?? ?? ?, ??, ???, ??? ?
  • ?? ?? ?, ?? ??, ??? ?
  • ???? ?? ??? ??
  • ?? ?? ??, ??, ?? ?? ? ?? ??
  • ?? ?? ???, ??? ?? ?? ??
  • ?? ?? ??? ????? ??, ???, ?? ?? ?

40
2D CG ???? 1
  • ??? ??? ?? ???

41
2D CG ???? 2
  • ??? ????? ???
Write a Comment
User Comments (0)
About PowerShow.com