100 likes | 285 Views
IE352 CAD/CAM 개론 Chap.3 Graphic programming - Overview. KAIST 산업공학과 신하용. 컴퓨터 그래픽스의 기본이론. 컴퓨터 그래픽스는 CAD 의 기본 도구 대화식 도형작업이 CAD 의 핵심요소이기 때문 _____________ High level graphic function 들을 모아 놓은 형태 각각의 function 들은 해당되는 Driver 루틴들에 의해 구현 Driver = Graphic card driver
E N D
IE352 CAD/CAM개론Chap.3 Graphic programming - Overview KAIST 산업공학과 신하용
컴퓨터 그래픽스의 기본이론 • 컴퓨터 그래픽스는 CAD의 기본 도구 • 대화식 도형작업이 CAD의 핵심요소이기 때문 • _____________ • High level graphic function들을 모아 놓은 형태 • 각각의 function들은 해당되는 Driver루틴들에 의해 구현 • Driver = Graphic card driver • Graphic card (chip set) specific • Low level graphic function들을 graphic card가 수행할 수 있는 형태로 전달
Basic 3D graphic functions of graphic lib. • View point (eye position), lighting, display region등 설정 • Entity attribute (color, point size, line thickness등) • Basic 3D element display • Points • Line • Polygon : wire frame (edge만 display), fill(shading) • Hidden line removal • … • Texture mapping • Entity picking • Display된 3D element들을 mouse pointer로 선택하는 일
Application에서 처리해야할 것들 • Initializing : window을 Graphic lib와 연결 • Drawing element에 대한 geometry공급 • User interaction을 graphic lib. 명령어로 변환하여 call • Zoom In/Out • Rotation • Pan • Select된 element를 highlight • And so on, and so forth.
Graphic Library • Graphic lib. 선정은 CAD/CAM개발에 대단히 중요 • Application program : Graphic Lib. Function 직접 호출 • Graphic Lib.이 바뀌면 ___________________________________ • Graphic lib.의 성능이 CAD/CAM의 response time에 큰 영향 • Graphic programming의 편리성도 SW개발에 중요 • 선정 기준 • 여러 OS에서 available할 것 : 특히 MS windows • 많은 종류의 Graphic card들이 지원할 것 • Graphic program작성이 쉬울 것 • Graphic 성능이 좋을 것 (Hardware acceleration availability)
History of Graphic Libraries • CORE • 1977년 ACM SIGGRAPH • Association for Computing Machinery • Special Interest Group on Computer Graphics • Raster Graphic System에 대한 배려 미약 • GKS • 비슷한 시기에 ISO에 의해 표준으로 제안/개발됨 • 근본적으로 2차원 그래픽을 위한 표준으로 출발 • 후에 GKS–3D로 발전 • CORE, GKS 모두 Dynamic graphics / user interaction지원에 미흡 • 사장됨
History of Graphic Libraries • PHIGS (Programmer’s Hierarchical Interactive Graphics System) • 역시 ISO에서 제안 : ‘85 • 여러 Engineering Workstation에 구현되었으나 대중화에는 실패 • PEX (PHIGS Extension to X) • PHIGS의 graphic 기능을 X-window상에 구현 : ‘87 • Network 환경상에서 workstation 기종에 무관하게 사용 • 얼마후에 나온 _______과의 경쟁에서 참패 • 비표준 Vendor specific graphic libraries • Compiler 개발사들이 제공하던 graphic library : 주로 2D, 주로 PC • 3D 2D 변환을 application program이 수행해야 함 • Engineering workstation개발사가 제공하던 graphic library • SGI : Iris GL 훗날 OpenGL의 전신 • 기타 수도 없이 많은 graphic lib가 개발되었으나 모두 수평선 너머로…
OpenGL • 80년대 후반 SGI의 workstation이 CAD/CAM과 같은 Graphic intensive application에 인기를 얻으며, IRIS GL이 popular해짐 • 1990 SGI와 MS가 공동으로 새로운 graphic lib. 개발 시작 OpenGL • OpenGL trademark : SGI 소유 • 1991 OpenGL ARB (Architecture Review Board) 설립 : 발전방향 결정 • SGI, MS, IBM, Intel, Compaq 참여 • 후에 많은 회사들이 ARB에 참여 • Computer makers : HP, Sun, Apple • __________________ : nVidia, ATI • __________ standard in graphic lib. • OS, Window system independent • 많은 Graphic card w/ OpenGL accelerator • nVidia, ELSA, …
More on OpenGL • ______ ? • Unofficial implementation of OpenGL • Free and Open Source • www.mesa3d.org • Currently 4.0.1 • _________ • MS learned about graphics from the cooperation w/ SGI on OpenGL • OpenGL is not very well suited for game development • MS and SGI tried to make a joint venture Fahrenheit • MS killed it • MS set forth to develop its own graphic lib : ________ • Future of OpenGL? No easy answer. • OpenGL is being used in quite wide variety of application areas, including most of CAD/CAM SW’s. • Game industry is using Direct3D, which is hard to use.
________ • High level graphic programming interface for Java • Runs on OpenGL or Direct3D • Easier contents creation • Can load and display a variety of 3D file formats, including : VRML and SLD(SolidWorks file) • Slow (Java is slow) • HW #1 : a short report on VRML • A4용지 1쪽 (neither half, nor 2) • Due date : 3/19 • Contents may include (but not limited to) : • VRML이란? • 간단한 역사 • 용도 • VRML browsers • Copied reports will get no points at all !!