즉시 모드(컴퓨터 그래픽)

Immediate mode (computer graphics)

컴퓨터 그래픽의 즉시모드는 그래픽 라이브러리의 API 설계 패턴으로, 그 안에서

보유 자원에 대한 광범위한 양방향(즉, 즉각적인) 사용 없이.[1]그것은 이중 버퍼를 사용하는 것을 배제하지 않는다.

유지 모드는 대안적 접근방식이다.역사적으로, 보존 모드는 GUI 라이브러리에서 지배적인 스타일이었다.[2] 그러나 둘 다 동일한 라이브러리에 공존할 수 있고 실제로 반드시 배제되는 것은 아니다.

개요

즉시 모드 그래픽 API의 개략적인 설명

즉시 모드에서는 씬(scene)(Rendering primitics)이 그래픽 라이브러리 대신 클라이언트메모리 공간에 유지된다.즉석 모드 애플리케이션에서 렌더링할 그래픽 객체 목록은 클라이언트에 의해 보관되며 그래픽 라이브러리 API에 의해 저장되지 않음을 의미한다.신청서는 실제 변경에 관계없이 새로운 프레임이 필요할 때마다 장면 전체를 설명하는 데 필요한 모든 도면 명령을 재발행해야 한다.이 방법은 한편으로 애플리케이션 프로그램에 대한 최대 제어와 유연성을 제공하지만, 다른 한편으로 CPU에 지속적인 작업 부하를 발생시킨다.

대조적으로 보존 모드 그래픽 API에 대한 개략적인 설명

즉시 모드 렌더링 시스템의 예로는 Direct2D,[1] OpenGL[3]Quartz가 있다.[4]즉시 모드 렌더링 시스템과 함께 사용할 때 특히 적합한 일부 즉시 모드 GUI가 있다.

즉시 모드 원시 렌더링

원시 정점 속성 데이터렌더링 API에 의해 프레임별명령 버퍼에 삽입될 수 있다.여기에는 상당한 대역폭과 프로세서 시간(특히 그래픽 처리 장치가 별도의 버스에 있는 경우)이 수반되지만 CPU에 의해 동적으로 생성되는 데이터에는 유리할 수 있다.그것은 점점 더 다재다능한 셰이더의 출현 이후 덜 흔하다. 그래픽 처리 장치는 CPU 개입 없이 점점 더 복잡한 효과를 발생시킬 수 있다.

정점 버퍼를 사용한 즉시 모드 렌더링

도면 명령은 새 프레임마다 다시 발행해야 하지만, 일반적으로 이 방법을 사용하는 현대 시스템은 도면 명령에서 (방향으로) 변경되지 않는 데이터(예: 텍스처정점 버퍼)를 참조함으로써 더 메모리 집약적인 표시 데이터의 불필요한 중복을 피할 수 있다.

참고 항목

참조

  1. ^ a b Quinn Radich (May 30, 2018). "Retained Mode Versus Immediate Mode". Win32 apps. Microsoft. Retrieved 21 December 2019.
  2. ^ Feldmeier, Alex (October 12, 2013). "GUI Programming". UWP Computer Science and Software Engineering Technical Report. Retrieved 22 December 2019. Retained mode has been the standard for years. Just about every GUI is in retained mode.
  3. ^ "OpenGL". Retrieved 4 May 2020.
  4. ^ Weiher, Marcel (Feb 24, 2017). iOS and macOS Performance Tuning: Cocoa, Cocoa Touch, Objective-C, and Swift. Addison-Wesley Professional. ISBN 9780133085532. Retrieved 22 December 2019. The primary graphics API Quartz and OpenGL are both immediate-mode APIs