쿼츠 작곡가

Quartz Composer
쿼츠 작곡가
Quartz Composer
The Quartz Composer interface and an interactive composition
Quartz Composer 4.0 인터페이스 및 구성
개발자애플 컴퓨터
안정적 해제
4.6.2 / 2016년 12월 12일
운영 체제Mac OS X v10.4(버전 2.0)
Mac OS X v10.5(버전 3.0)
Mac OS X v10.5 + iPhone SDK(버전 3.1)
Mac OS X v10.6(버전 4.0)
Mac OS X v10.12(버전 4.6.2)
다음에서 사용 가능영어
유형시각 프로그래밍 언어/소프트웨어 개발 도구
면허증소유권
웹사이트Apple - Quartz Composer(사용자 가이드)

Quartz Composer는 그래픽 데이터를 처리하고 렌더링하기 위해 MacOS에서 Xcode 개발 환경의 일부로 제공되는 노드 기반 시각 프로그래밍 언어다.

Quartz Composer는 OpenGL(GLSL 포함), OpenCL(Mac OS X 10.6 이상에만 해당), Core Image, Core Video, JavaScript 및 기타 기술을 사용하여 간단한 비주얼 프로그래밍 패러다임을 중심으로 API와 개발자 도구를 만든다.애플은 쿼츠 기술을 운영체제에 깊숙이 내장했다.Quartz Composer에서 생성된 구성은 QuickTime-aware 애플리케이션[1](Mac OS X 10.4 이상에서만 사용 가능)에서 독립적으로 재생할 수 있으며, Quartz Composer 애플리케이션 내부에서 iTunes Visualizer로 [2]시스템 화면 보호기로서 재생하거나, 제공된 사용자 인터페이스 위젯을 통해 코코아 또는 탄소 애플리케이션에 내장할 수 있다.Quartz Composer는 아이폰 SDK에 포함되어 있지만, 2015년 12월 현재 iOS 기기에서 Quartz Compositions를 실행할 수 있는 방법은 없다.MacOS 10.15 카탈리나에서 시작한 Quartz Composer 프레임워크는 호환성을 위해 존재하지만 더 이상 사용되지 않았다.[3]

패치

Quartz Composer를 통한 Quartz 프로그래밍은 패치를 구현하고 연결하는 작업을 한다.[4]전통적인 프로그래밍 언어의 루틴과 유사하게 패치는 기본 처리 단위다.그들은 실행해서 결과를 산출한다.더 나은 성능을 위해 패치 실행은 느리게 평가되는 접근방식을 따르는데, 이는 패치가 출력이 필요할 때만 실행된다는 것을 의미한다.패치는 마우스 클릭, 스크롤 및 이동을 수신 및 출력할 수 있는 Consumer, Processors 및 External Input 패치, MIDI 및 오디오, 키보드 또는 기타 이동의 세 종류가 있다.패치의 집합은 매크로라고 불리는 하나로 결합될 수 있다.매크로는 내포될 수 있고 그 서브루틴도 편집될 수 있다.

렌더링 순서를 제어하기 위해 각 렌더러에는 오른쪽 상단 모서리에 표시된 레이어가 할당된다.층은 가장 낮은 층에서 가장 높은 층으로 순차적으로 렌더링된다.렌더러를 활성화하거나 비활성화할 수 있으며, 기본적으로 특정 레이어를 켜거나 끌 수 있다.사용되지 않는 계층을 끄면 업스트림 패치를 더 적게 평가해야 하기 때문에 성능이 향상되는 경우가 많다.

일부 패치는 하위 패치를 가질 수 있으며, 이를 통해 포함된 하위 패치로만 전역 파라미터를 변경할 수 있다.이것은 무엇보다도 조명, 3D 변환, GLS 셰이더에 유용하다.서브패치 지지대는 일반적인 둥근 모서리가 아닌 패치의 사각 모서리로 표시된다.

버전 3.0을 통해 구성을 가상 패치로 전환하는 것이 가능해졌다.이를 통해 사용자는 각 구성에 중복 사본을 저장하지 않고도 기능을 재사용할 수 있다.Quartz Composer Editor는 사용자가 쉽게 배포할 수 있도록 "flattened" 복사본(가상 패치를 안으로 완전히 확장한 경우)을 저장할 수 있도록 한다.버전 4.0은 이 기능을 더욱 확장했으며, 원하는 가상 패치가 호스트 시스템에 설치되지 않은 경우 예비로 사용할 가상 패치의 "평면" 복사본을 자동으로 포함시킨다.이것은 구성 분배를 크게 간소화한다.

레오파드 출시로 네트워크 기능이 크게 향상되었다.네트워크 인터페이스를 통해 데이터 전송과 동기화가 가능해졌고, 오픈 사운드 컨트롤 전송과 수신에 대한 지원도 추가되었다.

플러그인

Quartz Composer 3.0 인터페이스.

또한 버전 3.0에서는 Xcode 템플릿을 사용하여 사용자 지정 패치 플러그인을 작성할 수 있는 가능성과 플러그인과 기타 안전하지 않은 패치가 로드되지 않는 "안전 모드"라는 개념이 새로워졌다.이것은 악의적인 구성이 위험하거나 안전하지 않은 작업을 수행하는 것을 방지한다.애플의 Xcode 템플릿을 사용하는 사용자 지정 패치는 항상 안전하지 않은 것으로 간주된다.

버전 2.0용 사용자 지정 패치 플러그인은 개발이 가능했지만 API는 문서화되지 않고 비공개여서 애플이 지원한 적이 없다.결국, 이 절차를 간소화하기 위해 템플릿이 출시되었다.[5]

숨김 옵션

Quartz Composer 편집기에서 옵션 키를 누른 상태에서 "기본 설정...메뉴에서 사용자가 구성할 수 있는 옵션 탭이 3개 추가된다.이러한 옵션에는 시스템 설정, 편집기 설정 및 QuickTime 통합 설정이 포함된다.주목할 만한 옵션으로는 확장된 툴팁, 소프트웨어 렌더링, 미개봉 렌더링 등이 있다.다중 샘플 안티앨리어싱(MSAA)은 버전 4.0에서 숨겨진 옵션으로 추가되어 MSAA를 지원하는 GPU에서만 작동하지만 QC 편집기 내부에서 안티앨리어싱을 허용했다.

네이티브 데이터 유형

QC 내부의 데이터는 다음 유형 중 하나가 될 수 있다.

  • 부울 - 부울 값, 0 또는 1
  • 색인 - 0과 2147483647 사이의 양의 정수
  • 번호 - 이중 정밀 부동 소수점 번호
  • 문자열 - 유니코드 문자열
  • 색상 - RGBA, CMYK 4중주 또는 그레이스케일
  • 이미지 - 임의(무한한) 치수의 2D 이미지
  • 구조물 - 중첩된 구조를 포함하여 명명되거나 순서가 지정된 객체 집합
  • 가상 - 위의 항목 중 하나

버전 4.0에는 다음과 같은 두 가지 추가 유형이 도입되었다.

  • 메쉬 - 3-공간 내 정점 및 버텍스당 정규 분포, 텍스처 좌표 및 색상의 집합
  • 상호 작용 - 사용자 입력을 구성의 사용자 상호 작용 요소와 연결하는 데 사용되는 무능력 유형

유형 변환

데이터는 대개 다른 유형으로 투명하게 변환될 수 있다.Quartz Composer 3.0에서 패치 사이의 연결부의 색상이 변경되어 현재 일어나고 있는 변환을 나타낸다.노란색 연결은 변환이 수행되지 않음을 의미하며, 주황색은 변환으로 인한 데이터 손실 가능성을 나타내며(숫자-색인으로), 빨간색은 심각한 변환을 나타낸다. 예를 들어 이미지-부울로.

구성

Quartz Composer 문서를 Compositions라고 부른다.구성은 파일 이름 확장명이 .qtz인 바이너리 속성 목록(XML 버전도 지원되지만)과 com.apple이다.쿼츠-복합체 구성 UTI.[6] 패치, 연결 및 입력 포트 상태는 컴포지션 파일에 저장된다.이미지는 또한 구성 안에 저장될 수 있으며, 내장된 그래픽으로 자급자족적인 구성을 만든다.영화 파일을 Quartz Composer 편집기로 끌면 영화 파일에 대한 참조가 생성되어 렌더러에 연결할 수 있는 변경 이미지를 제공한다.

작곡은 또한 작곡 작성자, 저작권, 설명과 같은 메타데이터를 저장한다.사용자는 원하는 경우 임의의 메타데이터 항목을 추가할 수도 있다.

JPEG, JPEG2000, GIF, PNG, TIFF, TGA, OpenEXR, BMP, ICO, PDF, PICT, ICNS 및 일부 원시 디지털 카메라 형식을 포함하여 많은 이미지 형식이 지원된다.[7]이미지는 디스플레이를 위해 래스터라이징하기 전에 가능한 한 오랫동안 네이티브 형태로 유지된다.이것은 Quartz Composer가 자르기, 스케일링, 회전 또는 번역할 때 벡터 이미지를 벡터로 유지하여 많은 양의 메모리나 처리 시간을 소비하지 않고 매우 큰 논리적 이미지 차원으로 작업할 수 있게 한다는 것을 의미한다.이러한 기능은 텍스트 기반 이미지 또는 PDF로 작업할 때 가장 잘 나타난다.

버전 3.0은 노트라고 불리는 구성 영역에 주석을 추가하는 기능을 추가했다.이것들은 다른 프로그래밍 언어와 평행한 코멘트를 언급한다.음은 노란색, 빨간색, 녹색, 파란색 또는 회색일 수 있으며 다른 음과 겹칠 수 있다.

구성 프로토콜

버전 3.0에서는 구성 프로토콜의 개념이 도입되었다.프로토콜은 다양한 목적에 적합한 구성을 검증하기 위한 필수 및 선택적 입력과 출력의 템플릿을 제공한다.기본적으로 다음 프로토콜을 사용할 수 있다.

  • 그래픽 애니메이션 - 필요한 입력 또는 출력은 없지만 화면에 렌더링하는 데 필요하다.그래픽 애니메이션은 키노트 같은 어플리케이션의 애니메이션 배경에 유용하다.
  • 이미지 필터 - 필터를 사용하여 이미지 수정이미지 필터에는 이미지 렌더링 환경 내에 있지 않는 한 렌더러가 허용되지 않는다.
  • 그래픽 전환 - 지정된 시간 간격 동안 원본 이미지에서 대상 이미지로 전환 생성
  • RSS 시각화기 - RSS 피드를 파싱하고 표시.
  • 화면 보호기 - 애니메이션 화면 보호기를 위한 Finder와 통합.
  • Music Visualizer - 오디오 시각화를 위해 iTunes와 통합.

애플이 개인 API에서 사용하는 추가 프로토콜이 있다.

  • Photo Visualizer - 이미지 목록 수신, 총 이미지 수 및 현재 표시된 이미지에 대한 정보 제공

버전 4.0에서 하나의 새로운 프로토콜이 추가되었다.

  • 메쉬 필터 - 입력 메쉬 변형

Quartz Composer에 프로토콜을 추가하는 방법은 공식적으로 지원되지 않는다.그러나 앞으로 이것을 가능하게 할 수 있는 미등록 방법들이 있다.[8]

구성 런타임

프로토콜 외에도, 작곡은 Quartz Composer를 사용할 수 있는 다른 런타임을 준수할 수 있다.Leopard에서는 Tiger(32비트)의 런타임과 32비트, 64비트 버전의 Leopard Quartz Composer 런타임이 있다.편집자는 또한 안전하지 않거나 타이거에서 사용할 수 없는 사용된 패치를 표시하여 호환 가능한 구성을 만들 수 있다.

구성 저장소

버전 3.0의 시스템 전체 구성 저장소를 사용할 수 있다.[9]이것은 응용 프로그램들이 효과와 처리를 위해 공통적인 구성을 공유하고 사용할 수 있게 한다.프로토콜 적합성 등 특정 기준에 맞는 구성을 저장소에 질의하는 애플리케이션도 가능하다.

리포지토리는 3개의 파일 시스템 위치에 분산되어 있음:

  • /System/Library/Compositions - 핵심 시스템 구성(사용자는 일반적으로 이러한 구성을 수정하지 않음)
  • /Library/Compositions - 모든 사용자가 사용할 수 있는 구성
  • /Users/username/Library/Compositions - 이 사용자만 구성 가능

저장소에 구성을 추가하는 것은 이러한 위치 중 하나에 구성 파일을 추가하는 것만큼 간단하다.

구성 비교

Quartz Composer 3.0에서의 작곡 비교가 가능해졌다.이 기능은 사용자가 어떤 두 구성의 입력, 렌더링된 출력 및 그래프 모양을 비교할 수 있게 해준다.

관련 소프트웨어

Quartz Composer 시각화기

Quartz Composer Visualizer라는 개발 도구는 Quartz Composer 3.0과 함께 출시되었는데, 이 도구는 컴포지션을 하나의 기계에서 여러 스크린에 걸쳐 렌더링하거나 심지어 여러 기계와 디스플레이에 걸쳐서 렌더링할 수 있다.

자동 생성기 지원

일부 오토매이터 작업에 대한 지원은 레오파드 출시와 함께 추가되었다.

  • 이미지 파일에 쿼츠 합성 필터 적용
  • Quartz 구성을 QuickTime 동영상으로 변환
  • 이미지 파일에 쿼츠 구성 렌더링

역사

피에르 올리비에 라투르는 원래 PixelShox Studio라는 이름으로 Quartz Composer의 전임자를 개발했다.[10]

참조

  1. ^ Quartz Composer 사용자 가이드 2009년 3월 4일 웨이백 머신보관
  2. ^ Quartz Composer 사용 설명서 - 2009년 3월 4일 웨이백 머신보관화면 보호기 만들기
  3. ^ Xcode 11 릴리스 정보
  4. ^ Quartz Composer 사용 설명서 - 패치[영구적 데드링크]
  5. ^ fdiv.net: 사용자 지정 Quartz Composer 패치를 위한 Xcode 템플릿
  6. ^ 균일 유형 식별자 개요
  7. ^ 이미지 사용IO 프레임워크
  8. ^ 고유한 프로토콜 만들기
  9. ^ Quartz Composer 사용 설명서: 컴포지션 리포지토리[영구적 데드링크]
  10. ^ "PixelShox Technology". Archived from the original on January 29, 2017. Retrieved March 8, 2009.

외부 링크

책들

자습서 및 설명서

메일링 리스트

구성

사용자 지정 패치/플러그인

이미지 및 비디오