피그
PHIGS줄임말 | 피그 |
---|---|
상황 | 출판된 |
시작한 해 | 전 |
최신 버전 | ISO/IEC 9592 및 ISO/IEC 9593 1997년 및 1990년 1991년( |
조직 | ANSI, FIPS, ISO, IEC |
관련 기준 | ANSI X3.144-1988, FIPS 153 |
도메인 | 3D 컴퓨터 그래픽스 응용 프로그램 프로그래밍 인터페이스 |
PHIGS(Programmer's Hierarchical Interactive Graphics System)는 3D 컴퓨터 그래픽을 렌더링하기 위한 API(Application Programming Interface) 표준으로 1980년대부터 1990년대 초반까지 3D 그래픽 표준으로 간주되었습니다.이후 기능과 파워의 조합으로 1990년대 중후반 가장 인기 있는 3D 전문 API가 된 OpenGL이 등장했습니다.
일반적으로 대형 공급업체는 DEC PHIGS, IBM의 graPHIGS 및 Sun의 SunPHIGS를 포함한 자사 플랫폼에 대한 PHIGs 버전을 제공합니다.PEX를 [a]통해 지원되는 X Window 시스템 내에서 사용할 수도 있습니다.PEX는 X로의 확장으로 구성되었으며 렌더링을 위해 X 서버에서 PEX 시스템으로 전송되는 명령을 추가합니다.워크스테이션은 보통 윈도우에 배치되지만 화면 전체 또는 다양한 프린터 출력 장치로 전송할 수도 있습니다.
PHIGS는 1980년대에 설계되었으며 1970년대 후반의 그래픽 커널 시스템(GKS)에서 아이디어를 계승하여 1988년에 표준이 되었습니다. ANSI(ANSI X3.144-1988), FIPS(FIPS 153) 및 ISO(ISO/IEC 9592 및 ISO/IEC 9593)입니다.초기 임신으로 인해 이 표준은 기본 지오메트리 및 메시를 포함한 가장 기본적인 3D 그래픽만 지원하며 씬 렌더링에는 기본 Goraud, "Dot" 및 Phong 음영만 지원합니다.PHIGS는 궁극적으로 고급 기능(더 정확한 Phong 조명 모델 및 데이터 매핑 포함)을 포함하도록 확장되었지만, 1990년대 중반까지 표준으로 간주된 다른 기능(특히 텍스처 매핑)은 지원되지 않았고, 물리적으로 최적화하여 실시간으로 실행할 수 있는 많은 기계도 없었습니다.
기술적 세부사항
이름에 있는 "계층적"이라는 단어는 PHIGS의 주목할 만한 특징을 나타냅니다. 대부분의 그래픽 시스템과 달리 PHIGS는 씬 그래프 시스템을 기본 표준의 일부로 포함했습니다.모델은 도면 원점과 속성(색상, 선 스타일 등)을 모두 포함하는 "월드"를 포함하는 데이터베이스인 중앙 구조 저장소(CSS)에 구축되었습니다.CSS는 PHIGS에서는 워크스테이션으로 알려져 있는 다수의 가상 디바이스 간에 공유할 수 있습니다.각 디바이스에는 임의의 수의 뷰를 포함할 수 있습니다.
PHIGS에서 화면에 그래픽을 표시하는 과정은 3단계로 이루어졌습니다.처음에는 모델이 CSS에 내장되어 워크스테이션을 만들고 열고 마지막으로 모델을 워크스테이션에 연결합니다.이 시점에서 워크스테이션은 즉시 모델을 렌더링하고 이후 모델에 대한 변경은 모든 해당 워크스테이션 뷰에 즉시 반영됩니다.
PHIGS는 원래 조명 장면을 렌더링하는 기능이 부족하여 PHIGS+로 대체되었습니다. PHIGS+는 기본적으로 동일한 방식으로 작동하지만 3D 장면 내에서 표면을 채우고 채우는 방법이 추가되었습니다.또한 PHIGS+는 NURBS(Non-Uniform real B-spline) 표면과 같은 고급 그래픽 프리미티브를 도입했습니다.PHIGS에 대해 제안된 이러한 확장을 중심으로 ANSI 위원회가 구성되었으며, 그 이름을 좀 더 설명적이고 (낙관적으로) 확장 가능한 이름인 "PHIGS PLUS"로 변경하였다. "PLUS"는 "Plus Lumiere Und Surfaces"(기본 PHIGS 표준에 대한 발전의 두 가지 주요 영역)의 약간 혀인 "PLUS"이다.
OpenGL의 상승과 PHIGS의 하락
PHIGS와 달리 OpenGL은 "상태"가 없는 즉시 모드 렌더링 시스템이었다. 객체를 렌더링하기 위해 뷰로 전송하면 기본적으로 사라진다.모델에 대한 변경 사항을 시스템에 다시 전송하고 다시 렌더링해야 했습니다. 이는 완전히 다른 프로그래밍 사고방식입니다.단순한 프로젝트에서는 PHIGS를 사용하고 작업하기가 상당히 쉬웠습니다.
그러나 OpenGL의 "로우 레벨" API를 통해 프로그래머는 버스를 통해 그래픽 엔진으로 전송하기 전에 먼저 CPU 측의 데이터를 검사하여 렌더링 성능을 획기적으로 향상시킬 수 있었습니다.예를 들어, 프로그래머는 장면에서 실제로 볼 수 있는 물체를 검사하고 실제로 화면에 나타나는 물체만 전송함으로써 물체를 "굴릴" 수 있습니다.이는 PHIGs에서 비공개로 유지되어 성능 조정이 훨씬 더 어려워졌지만 PHIGS 구현 내에서 "무료"로 튜닝을 수행할 수 있습니다.
당시의 저성능 시스템과 고성능 렌더링의 필요성을 고려할 때 OpenGL은 일반적으로 3D 프로그래밍에 훨씬 더 강력한 것으로 간주되었습니다.PHIGS는 사용되지 않게 되었다.PEX 프로토콜 버전 6.0은 다른 3D 프로그래밍 모델도 지원하도록 설계되었지만 인기를 회복하지는 못했습니다.PEX는 XFree86 4.2.x(2002년)에서 대부분 제거되었으며, 마침내 X11R6.7.0([1]2004년 4월)에서 X Window 시스템에서 완전히 제거되었습니다.
표준
ISO
- ISO/IEC 9592 정보기술– 컴퓨터 그래픽스 및 이미지 처리– 프로그래머 계층형 인터랙티브 그래픽스 시스템 (PHIGS)
- ISO/IEC 9593 정보 테크놀로지– 컴퓨터 그래픽스– 프로그래머의 계층형 인터랙티브 그래픽스 시스템(PHIGS) 언어
「 」를 참조해 주세요.
메모들
- ^ PEX는 원래 "PHIGS Extension to X"로 알려졌으며, 이후 "X3d"로 불리며, 이 문자의 문자는 "P-E-X"에 회전 변형을 형성합니다.
레퍼런스
- comp.windows.x.pex FAQ (1994년 3월 28일)
- PHIGS의 개요(실제로는 PHIGS+)
- ^ "X.Org Foundation releases X Window System X11R6.7".
- ^ "ISO/IEC 9592-1:1997". ISO. Retrieved 2017-10-14.
- ^ "ISO/IEC 9592-2:1997". ISO. Retrieved 2017-10-14.
- ^ "ISO/IEC 9593-1:1997". ISO. Retrieved 2017-10-14.
- ^ "ISO/IEC 9593-1:1990". ISO. Retrieved 2017-10-14.
- ^ "ISO/IEC 9593-3:1990". ISO. Retrieved 2017-10-14.
- ^ "ISO/IEC 9593-4:1991". ISO. Retrieved 2017-10-14.