API ? ???? ?? - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

API ? ???? ??

Description:

( ) (3 19 ) API (Graphics Atchitecture) OpenGL API Sierpinski Gasket program – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 44
Provided by: webHally5
Category:
Tags: api

less

Transcript and Presenter's Notes

Title: API ? ???? ??


1
?? ??(???)
  • ?? ?? ?? (3? 19?)
  • API ? ???? ??
  • ???? ??(Graphics Atchitecture)
  • OpenGL API
  • Sierpinski Gasket program
  • ?? (3? 26?)
  • Reading Assignment
  • 2?. ???? ????? ?? (P57-P74)
  • ??
  • ??
  • ??
  • SIGGRAPH? Tutorial?? ??? OpenGL ??(pdf)

2
1.7 ????? ?????
?? 1.21 ??? ????? ?? ?????
3
1.7.1 ?? ????? ????? (API)
?? 1.22 ?? ?????? ???? ?? ??
4
API (Application Programmers Interface)
  • ?? ????? ??? ??? ??? ?????? ???? ??? ??? ???
  • ?? ?????? ?? API? ?? ??.
  • ????? ?? ?? API
  • OpenGL, PHIGS, GKS-3D, Direct3D, VRML, Java-3D

5
API? ??
  • ??? ?? ??? ???? ??? ????
  • ???
  • ????
  • ???
  • ??? ???

6
???(Objects)
  • ???? ??(vertex)? ???? ????.
  • ?? ?? ?, ??, ???, ???
  • ?) ?? ???? ??? ?? ??? ??
  • 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()
  • GL_LINE_STRIP, GL_POINTS
  • ??? ??? ??? ???? ??? ??? ???? ????.
  • OpenGL??? frame buffer? ?? ????(??? read / write)
    ??? ????, ???? ??? ??? ??? ???? ?? ??? ????.

7
???? ???
  • ???? ??
  • ??(position) ???? ??, ??? ??? ??
  • ??(orientation) ???? ???? ??,
  • ??? ??? ??(??? ??? ??)
  • ????(focal length) ???? ??? ???? ??
  • ???(film plane) ???? ??? ??? ??

8
???(???)
  • ?? OpenGL API
  • gluLookAT(cop_x, cop_y, cop_z, at_x, at_y, at_z,
    up_x, up_y, up_z)
  • / ???? ??(cop_x,y,z), ???? ??(at_x,y,z) , ????
    ???(up_x,y,z) /
  • gluPerspective(FOV, )
  • / ??? ?? /

9
?? 1.23 ???? ??
10
?? 1.24 ???? 2? ??
11
??? ?? ??
  • ??(light source)
  • ??, ??, ? ? ???? ??
  • ??(material property)
  • ??? ?? ?,??
  • ?-?? ?? ??? ??? ????.

12
1.7.2 ??? ???(?? ??)
  • Wire frame ??? ???? ???. ? ??? 1
  • Raster system ??
  • 2?, 3?
  • Solid Model ? ??? 3
  • ?? ?? (Hidden Surface Removal)
  • ? ??? ??, 3?? ?? ??? ???, ?? raster system
  • 4?, 5?
  • Shading Model(?? ??)
  • ??? ?? ?? ? ??? 4, 3????
  • ??? ?? ?? ? ??? 5
  • 6?
  • Texture 9?
  • Fractal ? ??? 7, 11?
  • Fog ? ??? 8, 9?

13
1.7.3 ???-??? ????
?????(?????, ???)
?? 1.25 ???-??? ?????
14
???-??? ????
  • ??? ???? ??? ???? ??
  • ?? ??? (?????, ??? ???)
  • Renderer (???? ??)
  • Pixar ? Renderman Interface

15
1.8 ???? ??
?? 1.26 ??? ???? ???
16
1.8.1 ????? ???(DP)
?? 1.27 ????? ??? ??
17
Display Processor(DP)
  • ? ??? ? DP
  • ???? ???? ???? ?????? ?? ????? Display
    Processor(DP) ? ??? ??.
  • Display Processor(DP)? ?? ????? display list (or
    display file)? ????.
  • DP? ????? ?? ??? ?? ??? display list? ???? ????.
  • ? ???? ?????. (Client Server ??)
  • Display list Display File

18
1.8.2 ????? ??
?? 1.28 ?? ??? ??
  • a ( b c )
  • ?? ?? a,b,c ?? ??? ?? ?? ??? ????? ??? ?, ???
    (throughput)? ??? ??? ? ??.
  • ?? ???? ?? ???? ???.

19
?? Pipeline
  • ??? ????? ???? ???? ??,??? ??? ?? ??? ??? ????
    ????.
  • ??(Transformation)
  • ??(Clipping)
  • ??(Projection)
  • ???? (Rasterization)

?? 1.29 ?? ??? ??
20
Pipeline
  • 1.8.3 ??(Transformation)
  • ??? ??? ?????? ??? ??? ??? ?? ???? ???? ?
  • 1.8.4 ??(Clipping)
  • ???? ???? ???? ???? ????. ??? ?? ???? ??? ????
    ???? ?? ????.
  • ??(??? ?? 90?)? ???? ?? ???.
  • 1.8.5 ??(Projection)
  • 1.8.6 ????(Rasterization)
  • ??? ???? ??? ?? ?? ???? ????? ??.

21
???? ???? ??
  • ??? Rasterization ??? pipeline
  • ?? ???
  • ?? chip? VLSI? ???.
  • ??? Frame Buffer ?? ??? ?? ???. ?? bit
    block(??)? ??? ????? ??
  • Parallel processing
  • ??? ???? workstation? pipeline? ???? ?? bit
    processor? ?? ???.

22
?? 1.30 ???? ??
23
? 2 ? ???? ?????
  • OpenGL ???
  • OpenGL ?????? OpenGL Library?? ??
  • Compiling/Linking

24
2.1 Sierpinski Gasket
?? 2.1 ???? ???? ??(2??)
25
?? ??
  • ??? ???? ???? ? ?? ???? ???.
  • ???? 3?? ?? ?? ? ?? ????.
  • ???? ???? ??? ??? ???? ???.
  • ? ??? ?? ?? ?? ??? ???? ??? ?? ????.
  • ? ??? ?? ????? ????.
  • ?? 2? ????.

26
???? ????
  • Main()
  • initialize_the_system
  • for (some_number_of_points)
  • generate_a_point()
  • display_the_point()
  • cleanup()

27
2.1.1 Pen-Plotter Model
?? 2.2 ? ???
28
Pen-Plotter Model
  • ?? ???? ???? 2????. ?-??? ??
  • ??? ?? ??? ??? ??? ? ???.
  • LOGO, GKS, Postscript ?? ??? API? ??? ?.
  • ? ?? ??? ??? ?? ???? ???
  • moveto(x,y) ??? ???? ?? ?? (x,y)? ?? ??
  • lineto(x,y) ??? ???? ???? (x,y)? ??
  • ?) moveto(0,0)
  • lineto(1,0)
  • lineto(1,1)
  • lineto(0,1)
  • lineto(0,0)

29
?? 2.3 Pen-Plotter Model? ??
?? 2.3 ? ??? ????? ??
30
??? OpenGL ???
  • ???? ? P(x,y,z)
  • ?(point) ??? ??(vertex)?? ??
  • ?? 2?? ??
  • ??? 3?? ??
  • ??? 4?? ??

31
OpenGL Data Type
  • GLfloat ? float (C ??)? ??.
  • GLint ? int (C ??)? ??.
  • define GLfloat float

32
??? OpenGL ???
  • 2??? ??
  • glVertex2i(GLint xi, GLint yi)
  • ?? ???? ??? 3?? ?
  • glVertex3f(GLfloat x, GLfloat y, GLfloat z)
  • ??? ??? ?
  • GLfloat vertex3
  • glVertex3fv(vertex)

33
??? OpenGL ???
  • ???? ???? ??? ??
  • ??
  • glBegin? glEnd ??? ???? ?????.
  • glBegin (GL_LINES)
  • glVertex2f(x1, y1)
  • glVertex2f(x2, y2)
  • glEnd()
  • ??? ?? ??? ??? GL_POINTS ??

34
Gasket Program
  • void display(void)
  • point2 vertices3 0.0, 0.0, 250.0,
    500.0, 500.0, 0.0
  • static point2 p75.0, 50.0
  • int i, k
  • long rand()
  • for (k0 klt5000 k)
  • i rand() 3
  • p0(p0 trianglei0)/2
  • p1(p1 trianglei1)/2
  • glBegin (GL_POINTS)
  • glVertex2fv(p)
  • glEnd()
  • glFlush()
  • ?? Typedef GLfloat point22

35
Sierpinski Gasket (2??) ??
?? 2.4 ????? ???
36
??? ???? ? ???
  • ?? ??? ?? ????
  • ???? ??? ??? ??? ????
  • ???? ????
  • ???? ?? ???? ? ??(???)? ??? ???? ????
  • ???? ??? ??(z0? ??) ?? ?? ??? ???? ??? ????
  • ??? ???? ???? ?? ? ????

37
2.1.2 ???(Coordinate System)
?? 2.5 ???
  • ? ??? ?????? ???? ???? ?? (Viewing) ???? ?????
    ????.

38
???
  • ???? ???
  • ?? ???(world coordinate system)
  • ?? ???(problem coordinate system)
  • ??? ?????? ??
  • ?? ?? ?? ???
  • ??? ??(physical device ) ???, ??
  • ?? (device) ???
  • CRT? ?? ??? (raster) ?? ?? (screen) ???
  • ??? ??? ???

39
2.2 OpenGL API
  • OpenGL??? PHIGS, GKS? ?? API ?? ??? ????.
  • OpenGL? ??? ???? ??? ??? ???? ????.
  • - ?? OpenGL ????? ????? ???.
  • - ???? ??? ??? ?????? ??? ??? ???? ?? ?? ????
  • 2??? 6???? ??? 2,3?? ????
  • 8??? 12???? ??? ??? ??

40
2.2.1 ???? ??
?? 2.6 Black Box??? ???? ???
41
2.2.1 ???? ??? ??
  • ???? ??? ?? 6?? ???? ?? ? ??
  • ?? ?? ?? (primitive function)
  • - ?, ??, ???, ??, ???, ?? ??? ??, ??
  • ?? ?? (attribute function)
  • - ??? ?, ??? ??? ??, ??? ??? ???
  • ???? (viewing function)
  • - ???? ?? ? ??, ??? ??
  • ???? (transformation function)
  • - ??, ??, ?? ?? ?? ??? ??
  • ???? (input function)
  • - ???, ???, ??? ???
  • ???? (control function)
  • - ??? ????? ??, ???? ???, ???? ?? ??

42
2.2.2 OpenGL ?????
?? 2.7 ????? ??(X windows)
43
2.2.2 OpenGL ?????
  • GL (Graphics Library)
  • ???? gl? ????.
  • ?? ?? ?? ??
  • GLU (Graphics Library Utility)
  • ?? ???? ?? ??? ?? ??, glu? ??
  • ?? ???????? ??? ??? ??
  • GLUT (GL Utility Toolkit)
  • - ??? ????? ?????
  • - ???? glut? ??

OpenGL Program Compiling / Linking
Write a Comment
User Comments (0)
About PowerShow.com