데모 효과

Demo effect

데모 효과데모센에 의해 생성된 데모에서 발견되는 컴퓨터 기반의 실시간 시각 효과다.

데모에서의 데모 효과의 주된 목적은 프로그래머의 기술을 과시하는 것이다.이 때문에 데모 코더들은 종종 동료 프로그래머들이 기술 근거를 쉽게 파악할 수 없는 새로운 효과를 만들어내려고 시도해왔다.

때때로, 특히 코모도어 64와 같이 심각하게 제한된 플랫폼의 경우, 데모 효과는 타겟 머신이 아마도 그 능력 밖의 일을 하도록 만들 수 있다.주요 기술적 한계를 창의적으로 극복할 수 있는 능력은 데모크레너들 사이에서 크게 인정받고 있다.

현대의 데모들은 1980년대와 1990년대의 데모만큼 효과에 초점을 맞추지 않는다.효과는 더 이상 독립적 컨텐츠 요소가 되지 않으며, 프로그래머 쇼케이스에서의 그들의 역할은 특히 PC 데모에서 줄어들었다.오늘날 PC 데모크레너는 뛰어난 시각 효과보다는 절차적 콘텐츠 생성이나 3D 엔진 기능으로 프로그래밍 기술을 시연할 가능성이 높다.

하드웨어 고려 사항

그래픽 기능 및 데이터 처리 능력이 상당히 다른 많은 기기에 대해 작성된 데모가 있다.하드웨어의 변동성은 또한 각 플랫폼에 대해 발명된 효과의 유형뿐만 아니라 구현에 사용된 방법에도 반영된다.

데모센은 코모도어 64아미가 같은 가정용 컴퓨터에 탑재되었는데, 이 컴퓨터는 비교적 진보하고 매우 "해킹할 수 있는" 커스텀 칩과 CPU를 가지고 있었다.집적회로를 위한 고급 컴퓨터 보조설계가 널리 사용되기 전에 칩은 손으로 설계되었고 그래서 종종 문서화되지 않았거나 의도하지 않은 많은 특징들을 가지고 있었다.표준화의 결여는 또한 하드웨어 설계가 설계자 자신의 아이디어와 창조적 재능을 반영하는 경향이 있다는 것을 의미했다.이러한 이유로, 대부분의 "구식" 데모 효과는 특정 하드웨어의 특징에 대한 창의적인 착취에 기초하였다.새로운 효과에 사용할 수 있는 문서화되지 않은 가능성을 찾기 위해 하드웨어의 역엔지니어링에 많은 노력을 기울였다.

그러나 1990년대의 IBM PC 호환성은 표준 부품을 사용하는 대신 가정용 컴퓨터에 일반적인 특수 기능이 많이 부족했다.이것은 더 큰 범용 컴퓨팅 파워로 보상되었다.첨단 하드웨어 속임수의 가능성도 PC 하드웨어의 큰 변동성에 의해 제한되었다.이러한 이유로 DOS 시대의 PC 데모코더들은 픽셀 레벨의 소프트웨어 렌더링 알고리즘에 초점을 맞추는 것을 선호했다.

데모코더들은 종종 한 플랫폼에서 다른 플랫폼으로 "포팅" 효과를 "포팅"함으로써 도전과 존중을 추구해왔다.예를 들어, 아미가 데모의 "황금시대" 동안 잘 알려진 아미가 효과에 필요한 주요 특징에서 열등하다고 여겨지는 아타리 ST, 코모도어 64, PC와 함께 많은 아미가 효과를 리메이크했다.PC가 주요 플랫폼이 된 1990년대 중반부터 아미가와 C-64를 위한 데모도 PC와 같은 '픽셀 효과'를 특징으로 삼기 시작했다.

초기 역사

데모 효과를 닮은 최초의 컴퓨터 프로그램은 수십 년 동안 데모센보다 앞선다.아마도 이러한 소위 디스플레이 해킹의 가장 초기 예는 1950년대 초의 회오리 컴퓨터 상에서 Bouncing Ball이라는 프로그램일 것이다.또 다른 유명한 전시 해킹은 1962년 Ca.의 PDP-1에서 만들어졌다.

"오래된 학교" 효과

일반적인 플라즈마 효과의 스틸 스크린샷.

이러한 효과는 1980년대와 1990년대 초반에 전형적으로 나타났으며 코모도어 64, 아타리 ST 또는 아미가에게 처음 시행되었다.그들은 종종 사용자 정의 하드웨어에 의존하거나 그것 때문에 어렵다고 여겨졌다.예를 들어 점으로 렌더링되는 3D 개체는 픽셀당 바이트 수 표시장치나 제한된 비디오 메모리 대역폭이 없는 시스템이나 느리고/또는 제한된(: 8비트, FPU 없음) CPU가 있는 시스템에서는 다소 까다롭다.

청키픽셀 효과

펑키픽셀 프레임 버퍼로의 소프트웨어 렌더링에 기초한 효과는 1990년대 중후반 전형적인 것으로 PC나 Falcon030에서 처음 구현되었다.이들은 픽셀 주소 지정이 가능한 고속 비디오 메모리와 더 빠른 프로세서(더 까다로운 실시간 계산을 허용)를 갖춘 시스템이 보편화되면서 인기를 끌었다.

  • 정적 화면 대 혼합물 조회 테이블에 기반한 효과
    • 텍스처 맵 터널 및 기타 물체가 대칭 축을 중심으로 회전하는 방식
    • 2D 영상에 대한 Wawbler, 회전 장치 및 기타 유사한 효과
    • 기본 비트맵 이미지를 반영하거나 굴절시키는 객체
  • 일반적으로 실시간 레이트레이싱을 기반으로 자유롭게 움직이는 카메라가 장착된 텍스처 맵 터널
  • 로토주머
  • 만델브로트 줌인
  • 2D 필터 및 피드백을 기반으로 한 화재 효과 및 기타 효과
  • 높이 필드 풍경("복셀 풍경"이라고도 함)
  • 2D 범프 매핑
  • 메타볼스

이러한 효과의 일부는 나중에 아미가와 같은 평면 픽셀 기계에 포팅되었고, 평면 변환에 의존하지 않았다.예를 들어, 그룹 Sanity는 사전 렌더링된 평면 비트맵과 구리 효과를 조합하여 로토줌러를 구현했다.

3D 렌더링

3D 컴퓨터 그래픽은 1980년대 후반부터 데모에 등장해왔다.오늘날, 범용 3D 엔진은 대부분의 새로운 데모에서 필수적인 부분이다.

1980년대 후반과 1990년대 초반에는 3D 회전 물체를 계산하고 렌더링하기 어려워 자체적인 효과로 여겨졌다.특히 대부분의 시스템은 부동소수점 단위가 없었다.범용 3D 알고리즘보다는 디모코더들이 큐브와 같은 특정 물체의 회전과 렌더링에 고도로 최적화된 특수 목적의 트릭을 사용하는 경우가 많았다.점, 선 또는 채워진 다각형조차 그 자체로 어려운 작업이었기 때문에 경쟁은 종종 미리 계산된 수학을 사용하면서 단순히 그리기 루틴을 최적화하는 것을 중심으로 진행되었다.

캐주얼 뷰어에게 많은 데모 효과는 범용 3D 엔진에서 얻을 수 있는 것으로 보인다.그러나 외관상 3D 외관을 가진 고전적 효과에는 종종 실시간 3D 계산이 전혀 없다.예를 들어 정적 스크린-터치 룩업 테이블은 대칭 축을 중심으로 회전하는 대칭 3D 객체와 함께 사용할 수 있다.

대량 판매된 3D 가속 하드웨어가 등장하기 전에 데모코더들은 종종 Hugaud shading, Phong shading, 텍스처 매핑, 범프 매핑, 환경 매핑, 라디오리티, 심지어 실시간 광선 추적 등 소프트웨어 3D 엔진에서 조명과 음영 기술에 초점을 맞추었다.

범용 3D 엔진은 렌더링된 장면들이 종종 이와 같이 간주될 수 있는 것을 포함하지만, 거의 "효과"라고 불리지 않는다.

참고 항목

참조