KR20010113730A - 영상을 처리하는 방법 및 장치 - Google Patents

영상을 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20010113730A
KR20010113730A KR1020017011424A KR20017011424A KR20010113730A KR 20010113730 A KR20010113730 A KR 20010113730A KR 1020017011424 A KR1020017011424 A KR 1020017011424A KR 20017011424 A KR20017011424 A KR 20017011424A KR 20010113730 A KR20010113730 A KR 20010113730A
Authority
KR
South Korea
Prior art keywords
shadow
plane
light source
rendering
coordinates
Prior art date
Application number
KR1020017011424A
Other languages
English (en)
Inventor
아키오 오바
Original Assignee
도쿠나까 테루히사
소니 컴퓨터 엔터테인먼트 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 도쿠나까 테루히사, 소니 컴퓨터 엔터테인먼트 인코포레이티드 filed Critical 도쿠나까 테루히사
Publication of KR20010113730A publication Critical patent/KR20010113730A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

처리될 폴리곤상에 표준 텍스처 표현 처리(텍스처 맵핑 (mapping) 및 셰이딩 (shadowing))(normal texture expressing process)가 실행된 이후에, 그림자 평면 (기준 그림자 평면(150))상에 렌더링된 폴리곤 그림자는 텍스처 맵핑이 행해져 스크린(176)상에 렌더링되고 (과정 1), 그 후에 오브젝트상에 형성된 폴리곤 그림자는 그림자 평면(150)상에 렌더링된다 (과정 2). 상기의 처리는 화살표(A)로 나타내진 바와 같이, 광원(52)을 뷰포인트 (viewpoint)로 Z-정렬 (Z-sorting)에 의해 실행된다.

Description

영상을 처리하는 방법 및 장치{Method and apparatus for processing images}
최근에는 감추어진 선(hidden line)의 처리, 감추어진 표면의 제거, 평활 셰이딩 (smooth shadowing), 텍스처 맵핑 (texture mapping) 등을 포함하는 다양한 컴퓨터 그래픽 (computer graphics, CG) 처리 기술이 하드웨어가 진보하는 것과 조합되어 신속한 처리로 이루어졌다.
한가지 일반적인 CG 처리 과정에 따라, 다수의 3차원 도형 (오브젝트)은 CAD의 3차원 모델링에 따라 발생되고, 발생된 오브젝트에는 칼라 및 명암이 적용된다. 이어서, 미러링 (mirroring), 확산, 반사, 굴절, 투명도 등을 포함하는 광학적 특성이 오브젝트에 부가되고, 표면 패턴이 오브젝트에 적용된다. 또한, 주변 상황이 렌더링되고, 예를 들어, 윈도우와 장면이 반사되고 광선이 도입된다.
셰도우잉 (shadowing)은 광선용 뷰포인트 (viewpoint)와 오브젝트로 이루어진 폴리곤(polygon)에 수직인 선들의 방향에 의해 조절된다. 다수의 오브젝트와 광원의 배치에 기초하여, 그 뒤에 위치하는 또 다른 오브젝트에 주어지는 오브젝트의 그림자를 표현하는 처리가 있다. 셰이딩 보다 이후의 처리는 광선 추적 (ray tracing)과 같은 매우 고가의 렌더링 접근법 이외의 기술에 의해 실행될 수 없다.
예를 들어, 실시간 렌더링을 위해 높은 비용이 초래되지 않아야 한다면, 지금까지는 원과 같은 간단한 도형의 렌더링 또는 단순한 평면에 원근 투사로 이러한 그림자를 근접시키는 것이 통상적이었다.
부가하여, 광원이 불꽃과 같이 특정한 크기를 가지면, 광원에 의해 생성된 그림자를 표현하는 것은 매우 어렵다.
본 발명은 3차원 모델링에 의해 생성된 다수의 오브젝트들의 배치(layout)에 기초하여, 광원으로부터의 광의 조사에 의해 생성되어 그 뒤에 배치된 또 다른 오브젝트에 주어지는 한 오브젝트의 그림자를 표현하도록 영상을 처리하는 방법 및 장치, 이러한 영상 처리를 실행하기 위한 프로그램을 저장하는 기록 매체, 및 이러한 영상 처리를 실행하기 위한 프로그램에 관한 것이다.
도 1은 본 발명에 따른 오락 장치의 블록도.
도 2는 본 발명에 따른 드롭 셰도우잉 (drop shadowing) 처리를 설명하는 도면.
도 3은 본 발명에 따른 드롭 셰도우잉 수단의 기능적인 블록도.
도 4는 오브젝트 정보 테이블을 상세히 도시하는 도면.
도 5는 정점 데이터 파일(vertax data file)을 상세히 도시하는 도면.
도 6은 패킷 (packet)을 상세히 도시하는 도면.
도 7은 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 다양한 설정 처리 수단의 기능적인 블록도.
도 8은 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 렌더링 리스트 (rendering list) 발생 수단의 기능적인 블록도.
도 9는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 렌더링 수단의 기능적인 블록도.
도 10은 드롭 셰도우잉 처리가 점광원(point light source)에 대해 효과적인 유효 면적을 도시하는 도면.
도 11은 가상 평면에 대한 오브젝트의 투시 변형을 설명하는 도면.
도 12는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 개념 표시를 도시하는 도면.
도 13은 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 순차를 도시하는 흐름도.
도 14는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리에서 다양한 설정 처리 수단의 동작 순차를 도시하는 흐름도.
도 15 및 도 16은 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리에서 렌더링 리스트 발생 수단의 동작 순차를 도시하는 흐름도.
도 17은 렌더링 리스트에 대한 패킷의 삽입을 설명하는 도면.
도 18 및 도 19는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리에서 렌더링 수단의 동작 순차를 도시하는 흐름도.
도 20은 본 발명의 제2 실시예에 따른 드롭 셰도우잉 처리에서 분포된 광원에 의해 가상 평면에 암영부 (umbra) 및 반암부 (penumbra) 영역을 형성하는 것을 설명하는 도면.
도 21은 본 발명의 제2 실시예에 따른 드롭 셰도우잉 처리에서, 거리에 의존하여 흐려지는 (blur) 범위 (반암부)를 표현하도록 광원으로부터의 거리에 의존하여 발생 그림자 평면에 저역통과 필터링이 행해지는 방식을 설명하는 도면.
도 22는 본 발명의 제2 실시예에 따른 드롭 셰도우잉 처리에서, 오브젝트가 처리될 때마다 발생 그림자 평면에 저역통과 필터링이 행해지고 모든 일정 거리에서 발생 그림자 평면에 저역통과 필터링이 행해지는 방식을 설명하는 도면.
도 23은 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리에서 삼중선형 (trilinear) 처리를 설명하는 도면.
도 24는 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리에서 다양한 설정 처리 수단의 기능적인 블록도.
도 25는 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리에서 렌더링 수단의 기능적인 블록도.
도 26은 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리에서 다양한 설정 처리 수단의 동작 순차를 도시하는 흐름도.
도 27 및 도 28은 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리에서 렌더링 수단의 동작 순차를 도시하는 흐름도.
도 29는 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리에서 폴리곤 깊이에 따라 형상 및 칼라가 점차적으로 변하는 그림자의 표현을 설명하는 도면.
도 30은 본 발명의 제4 실시예에 따른 드롭 셰도우잉 처리에서, 불꽃과 같은 확장 광원의 투사 그림자 및 확장 광원에 의해 한 오브젝트에 드리워진 그림자에 대한 표현을 설명하는 도면.
그러므로, 본 발명의 목적은 복잡한 형상을 갖는 오브젝트에 대한 그림자 또는 복잡한 배치로 배열된 다수의 오브젝트에 대한 그림자들을 표현하도록 영상을 처리하는 방법 및 장치, 이러한 그림자 또는 그림자들을 간단히 표현할 수 있는 프로그램을 저장하는 저장 매체, 및 이러한 그림자 또는 그림자들을 표현하기 위한 프로그램을 제공하는 것이다.
본 발명의 또 다른 목적은 오브젝트에 대한 그림자를 선택적으로 표현할 수 있도록 영상을 처리하는 방법 및 장치, 오브젝트에 대한 그림자를 선택적으로 표현할 수 있는 프로그램을 저장하는 저장 매체, 및 오브젝트에 대한 그림자를 선택적으로 표현하기 위한 프로그램을 제공하는 것이다.
본 발명의 또 다른 목적은 오브젝트에 대한 그림자를 표현할 때 흐려짐 (blurring)과 같은 다양한 효과를 용이하게 적용할 수 있도록 영상을 처리하는 방법 및 장치, 오브젝트에 대한 그림자를 표현할 때 다양한 효과를 용이하게 적용할 수 있는 프로그램을 저장하는 저장 매체, 및 오브젝트에 대한 그림자를 표현할 때 다양한 효과를 용이하게 적용하기 위한 프로그램을 제공하는 것이다.
본 발명의 또 다른 목적은 보다 현실적인 그림자를 용이하게 표현하기 위해 그림자들상의 다양한 효과 중에서 그림자 흐려짐 (blurring)을 용이하게 제어할 수 있도록 영상을 처리하는 방법 및 장치, 보다 현실적인 그림자를 용이하게 표현할 수 있는 프로그램을 저장하는 저장 매체, 및 보다 현실적인 그림자를 용이하게 표현하기 위한 프로그램을 제공하는 것이다.
본 발명의 또 다른 목적은 불꽃과 같이 확장된 광원의 투사 영상 및 이러한 확장 광원에 의해 만들어진 그림자를 용이하게 표현할 수 있도록 영상을 처리하는 방법 및 장치, 불꽃과 같이 확장된 광원의 투사 영상 및 이러한 확장 광원에 의해 만들어진 그림자를 용이하게 표현할 수 있도록 프로그램을 저장하는 저장 매체, 및 불꽃과 같이 확장된 광원의 투사 영상 및 이러한 확장 광원에 의해 만들어진 그림자를 용이하게 표현하기 위한 프로그램을 제공하는 것이다.
본 발명에 따라 영상을 처리하는 방법은 3차원 모델링에 의해 발생된 다수의 오브젝트의 배치로부터 적어도 하나의 가상 평면을 확립하는 단계, 및 뷰포인트 (viewpoint)인 광원에 의해 가상 평면에 투사된 오브젝트의 그림자를 그 오브젝트 보다 광원으로부터 더 멀리 있는 오브젝트상에 표현하는 단계를 구비한다.
상기 방법으로, 복잡한 형상을 갖는 오브젝트에 대한 그림자 또는 복잡한 배치로 배열된 다수의 오브젝트의 그림자를 용이하게 표현하는 것이 가능하다.
그 방법은 또한 오브젝트의 광원 처리 속성내에 그림자가 오브젝트상에 표현될지의 여부에 대한 그림자 표현 속성을 정의하는 단계, 및 그림자 표현 속성에 기초하여 오브젝트상에 그림자를 선택적으로 표현하는 단계를 구비한다. 이 방식으로, 그림자는 오브젝트에 대해 선택적으로 표현될 수 있다.
특별히, 그 방법은 또한 가상 평면에 대응하는 텍스처 평면 (texture plane)으로 작용하는 그림자 평면을 확립하는 단계, 가상 평면으로의 투사에 의해 형성된 오브젝트의 그림자를 그림자 평면상에 렌더링하는 단계, 그림자 평면상에 렌더링된 그림자를 텍스처 맵핑 (texture mapping)을 통해 다른 오브젝트에 맵핑하는 단계를 구비한다.
그림자를 텍스처 맵핑을 통해 다른 오브젝트에 맵핑하는 단계는 가상 평면으로 투사된 다른 오브젝트의 좌표들에 기초하여, 또는 다른 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 다른 오브젝트에 그림자를 맵핑하는 단계를 구비할 수 있다.
그 방법은 또한 뷰포인트인 광원으로 오브젝트들의 좌표를 결정하는 단계, 광원으로부터 멀어지는 방향으로 연속하여 가상 표면에 오브젝트들의 투사 좌표를 결정하는 단계, 및 오브젝트들 중 하나에 대한 텍스처 맵핑이 종료될 때마다 투사된 좌표들에 기초하여 오브젝트에 의해 형성된 그림자를 그림자 평면에 렌더링하는 단계를 구비한다.
그 방법은 또한 오브젝트들의 각 폴리곤에 대해 오브젝트들의 좌표 및 가상 평면에 투사된 오브젝트들의 좌표를 결정하는 단계, 광원으로부터 멀어지는 방향으로 연속하여 렌더링 리스트에 결정된 좌표들을 등록하는 단계, 및 그림자 평면에 그림자를 렌더링하도록 렌더링 리스트로부터 등록된 좌표들을 연속하여 판독하는 단계를 구비한다.
적어도 광원으로부터의 거리에 의존하여 그림자 평면에 렌더링된 그림자에 저역통과 필터링을 실시하여, 그에 의해 적어도 광원으로부터의 거리에 의존하여 그림자에 흐려짐 처리 (blur)를 적용하는 것이 바람직하다. 이 방식으로, 흐려짐 등과 같은 다양한 효과가 오브젝트에 대해 표현된 그림자에 용이하게 적용될 수 있다.
그 방법은 또한 저역통과 필터링이 행해지기 이전의 그림자, 저역통과 필터링이 행해진 이후의 그림자, 및 처리되는 오브젝트의 광원 좌표에 의존하는 렌더링에 따라, 오브젝트에 표현될 때 발생 그림자 평면에 렌더링되는 그림자를 삽입 (interpolate)하여, 그에 의해 그림자의 흐려짐을 제어하는 단계를 구비할 수 있다. 흐려짐 처리는 보다 현실적인 그림자를 쉽게 표현하도록 용이하게 제어될 수 있다.
그 방법은 또한 그림자 평면인 발생 그림자 평면 및 기준 그림자 평면을 준비하는 단계, 처리되는 오브젝트들이 하나에서 또 다른 것으로 교환될 때마다, 발생 그림자 평면에 렌더링된 그림자를 기준 그림자 평면에 복사하는 단계, 및 기준 그림자 평면상의 그림자가 한 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 맵핑될 때마다, 가상 평면에 투사된 폴리곤 영상을 새로 조합된 그림자로 발생 그림자 평면에 렌더링하는 단계를 구비할 수 있다.
발생 그림자 평면상에 렌더링된 그림자가 기준 그림자 평면에 복사될 때마다, 발생 그림자 평면상에 렌더링된 그림자에는 저역통과 필터링이 실시될 수 있다. 이 방식으로, 흐려짐 등과 같은 다양한 효과가 오브젝트에 대해 표현된 그림자에 용이하게 적용될 수 있다.
그 방법은 또한 그림자 평면인 발생 그림자 평면 및 기준 그림자 평면에 부가하여, 광원을 뷰포인트로 처리되는 오브젝트 뒤에 배치된 배경 가상 평면에 대응하는 텍스처 평면인 배경 그림자 평면을 준비하는 단계, 가상 평면에 투사된 그림자를 배경 가상 평면에 투사하여 형성된 그림자를 배경 그림자 평면에 렌더링하는 단계, 및 기준 그림자 평면에 렌더링된 그림자, 배경 그림자 평면에 렌더링된 그림자, 및 오브젝트의 광원 좌표에 기초한 렌더링에 따라 그림자를 삽입하면서, 텍스처 맵핑을 통해 처리되는 오브젝트에 표현되는 그림자를 맵핑하는 단계를 구비할 수 있다. 그래서, 보다 현실적인 그림자를 쉽게 표현할 수 있도록 흐려짐 처리가 용이하게 제어될 수 있다.
그 방법은 또한 그림자 평면에 대한 초기값으로 확장된 광원을 확립하는 단계, 및 확장 광원을 반사하여 그 그림자를 오브젝트에 형성하는 단계를 구비할 수 있다.
본 발명에 따라 영상을 처리하는 장치는 3차원 모델링에 의해 발생된 다수의 오브젝트의 배치로부터 적어도 하나의 가상 평면을 확립하는 제1 수단, 및 뷰포인트인 광원에 의해 가상 평면에 투사된 오브젝트의 그림자를 그 오브젝트 보다 광원으로부터 더 멀리 있는 오브젝트상에 표현하는 제2 수단을 구비한다.
제1 수단은 오브젝트의 광원 처리 속성내에 그림자가 오브젝트에 표현될지의 여부에 대한 그림자 표현 속성을 정의하는 수단을 구비할 수 있고, 제2 수단은 그림자 표현 속성에 기초하여 오브젝트에 그림자를 선택적으로 표현하는 수단을 구비할 수 있다.
제2 수단은 가상 평면에 대응하는 텍스처 평면으로 작용하는 그림자 평면을 확립하고, 가상 평면으로의 투사에 의해 형성된 오브젝트의 그림자를 그림자 평면상에 렌더링하고, 또한 그림자 평면상에 렌더링된 그림자를 텍스처 맵핑을 통해 다른 오브젝트에 맵핑하는 렌더링 수단을 가질 수 있다.
렌더링 수단은 가상 평면으로 투사된 다른 오브젝트의 좌표들에 기초하여, 또는 다른 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 다른 오브젝트에 그림자를 맵핑하는 수단을 구비할 수 있다.
제2 수단은 광원을 뷰포인트로 오브젝트들의 좌표를 결정하고, 광원으로부터 멀어지는 방향으로 연속하여 가상 표면에 오브젝트들의 투사 좌표를 결정하는 좌표 계산 수단을 구비할 수 있고, 렌더링 수단은 오브젝트들 중 하나에 대한 텍스처 맵핑이 종료될 때마다 투사된 좌표들에 기초하여 오브젝트에 의해 형성된 그림자를 그림자 평면에 렌더링하는 수단을 구비할 수 있다.
제2 수단은 오브젝트들의 각 폴리곤에 대해 오브젝트들의 좌표 및 가상 평면에 투사된 오브젝트들의 좌표를 결정하고, 광원으로부터 멀어지는 방향으로 연속하여 렌더링 리스트에 결정된 좌표들을 등록하는 렌더링 리스트 발생 수단을 구비할 수 있고, 렌더링 수단은 그림자 평면에 그림자를 렌더링하도록 렌더링 리스트로부터 등록된 좌표들을 연속하여 판독하는 수단을 구비할 수 있다.
렌더링 수단은 적어도 광원으로부터의 거리에 의존하여 그림자 평면에 렌더링된 그림자에 저역통과 필터를 실시하여, 그에 의해 적어도 광원으로부터의 거리에 의존하여 그림자에 흐려짐 처리를 적용하는 수단을 구비할 수 있다. 렌더링 수단은 저역통과 필터링이 행해지기 이전의 그림자, 저역통과 필터링이 행해진 이후의 그림자, 및 처리되는 오브젝트의 광원 좌표에 의존하는 렌더링에 따라, 오브젝트에 표현될 때 발생 그림자 평면에 렌더링되는 그림자를 삽입하여, 그에 의해 그림자의 흐려짐을 제어하는 수단을 구비할 수 있다.
렌더링 수단은 그림자 평면인 발생 그림자 평면 및 기준 그림자 평면을 준비하고, 처리되는 오브젝트들이 하나에서 또 다른 것으로 교환될 때마다, 발생 그림자 평면에 렌더링된 그림자를 기준 그림자 평면에 복사하고, 또한 기준 그림자 평면상의 그림자가 한 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 맵핑될 때마다, 가상 평면에 투사된 폴리곤 영상을 새로 조합된 그림자로 발생 그림자 평면에 렌더링하는 수단을 구비할 수 있다.
렌더링 수단은 발생 그림자 평면상에 렌더링된 그림자가 기준 그림자 평면에 복사될 때마다, 발생 그림자 평면상에 렌더링된 그림자에 저역통과 필터링을 실시하는 수단을 구비할 수 있다.
렌더링 수단은 그림자 평면인 발생 그림자 평면 및 기준 그림자 평면에 부가하여, 광원을 뷰포인트로 처리되는 오브젝트 뒤에 배치된 배경 가상 평면에 대응하는 텍스처 평면인 배경 그림자 평면을 준비하고, 가상 평면에 투사된 그림자를 배경 가상 평면에 투사하여 형성된 그림자를 배경 그림자 평면에 렌더링하고, 또한 기준 그림자 평면에 렌더링된 그림자, 배경 그림자 평면에 렌더링된 그림자, 및 오브젝트의 광원 좌표에 기초한 렌더링에 따라 그림자를 삽입하면서, 텍스처 맵핑을 통해 처리되는 오브젝트에 표현되는 그림자를 맵핑하는 수단을 구비할 수 있다.
렌더링 수단은 그림자 평면에 대한 초기값으로 확장된 광원을 확립하고, 확장 광원을 반사하여 그 그림자를 오브젝트에 형성하는 수단을 구비할 수 있다.
본 발명에 따른 기록 매체는 (a) 3차원 모델링에 의해 발생된 다수의 오브젝트의 배치로부터 적어도 하나의 가상 평면을 확립하는 단계, 및 (b) 뷰포인트인 광원에 의해 가상 평면에 투사된 오브젝트의 그림자를 그 오브젝트 보다 광원으로부터 더 멀리 있는 오브젝트상에 표현하는 단계를 구비하는 프로그램을 저장한다.
저장된 프로그램을 갖춘 저장 매체는 복잡한 형상을 갖는 오브젝트에 대한 그림자 또는 복잡한 배치로 배열된 다수의 오브젝트의 그림자를 용이하게 표현하는 것을 가능하게 만든다.
단계 (a)는 오브젝트의 광원 처리 속성내에 그림자가 오브젝트상에 표현되어야 하는지의 여부에 대한 그림자 표현 속성을 정의하는 단계를 구비할 수 있고, 단계 (b)는 그림자 표현 속성에 기초하여 오브젝트에 그림자를 선택적으로 표현하는 단계를 구비할 수 있다.
단계 (b)는 (c) 가상 평면에 대응하는 텍스처 평면으로 작용하는 그림자 평면을 확립하고, 가상 평면으로의 투사에 의해 형성된 오브젝트의 그림자를 그림자 평면상에 렌더링하고, 또한 그림자 평면상에 렌더링된 그림자를 텍스처 맵핑을 통해 다른 오브젝트에 맵핑하는 단계를 구비할 수 있다.
단계들 (c)은 또한 가상 평면으로 투사된 다른 오브젝트의 좌표들에 기초하여, 또는 다른 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 다른 오브젝트에 그림자를 맵핑하는 단계를 구비할 수 있다.
단계 (b)는 또한 광원을 뷰포인트로 오브젝트들의 좌표를 결정하고, 광원으로부터 멀어지는 방향으로 연속하여 가상 표면에 오브젝트들의 투사 좌표를 결정하는 단계를 구비할 수 있고, 단계들 (c)은 또한 오브젝트들 중 하나에 대한 텍스처 맵핑이 종료될 때마다 투사된 좌표들에 기초하여 오브젝트에 의해 형성된 그림자를 그림자 평면에 렌더링하는 단계를 구비할 수 있다.
단계 (b)는 또한 오브젝트들의 각 폴리곤에 대해 오브젝트들의 좌표 및 가상 평면에 투사된 오브젝트들의 좌표를 결정하고, 광원으로부터 멀어지는 방향으로 연속하여 렌더링 리스트에 결정된 좌표들을 등록하는 단계를 구비할 수 있고, 단계들 (c)은 또한 그림자 평면에 그림자를 렌더링하도록 렌더링 리스트로부터 등록된 좌표들을 연속하여 판독하는 단계를 구비할 수 있다.
단계들 (c)은 또한 적어도 광원으로부터의 거리에 의존하여 그림자 평면에 렌더링된 그림자에 저역통과 필터링을 실시하여, 그에 의해 적어도 광원으로부터의 거리에 의존하여 그림자에 흐려짐 처리를 적용하는 단계를 구비할 수 있다.
단계들 (c)은 또한 저역통과 필터링이 행해지기 이전의 그림자, 저역통과 필터링이 행해진 이후의 그림자, 및 처리되는 오브젝트의 광원 좌표에 의존하는 렌더링에 따라, 오브젝트에 표현될 때 발생 그림자 평면에 렌더링되는 그림자를 삽입하여, 그에 의해 그림자의 흐려짐을 제어하는 단계를 구비할 수 있다.
단계들 (c)은 또한 그림자 평면인 발생 그림자 평면 및 기준 그림자 평면을 준비하고, 처리되는 오브젝트들이 하나에서 또 다른 것으로 교환될 때마다, 발생 그림자 평면에 렌더링된 그림자를 기준 그림자 평면에 복사하고, 또한 기준 그림자 평면상의 그림자가 한 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 맵핑될 때마다, 가상 평면에 투사된 폴리곤 영상을 새로 조합된 그림자로 발생 그림자 평면에 렌더링하는 단계를 구비할 수 있다.
단계들 (c)은 또한 발생 그림자 평면상에 렌더링된 그림자가 기준 그림자 평면에 복사될 때마다, 발생 그림자 평면상에 렌더링된 그림자에 저역통과 필터링을 실시하는 단계를 구비할 수 있다.
단계들 (c)은 또한 그림자 평면인 발생 그림자 평면 및 기준 그림자 평면에 부가하여, 광원을 뷰포인트로 처리되는 오브젝트 뒤에 배치된 배경 가상 평면에 대응하는 텍스처 평면인 배경 그림자 평면을 준비하고, 가상 평면에 투사된 그림자를 배경 가상 평면에 투사하여 형성된 그림자를 배경 그림자 평면에 렌더링하고, 또한 기준 그림자 평면에 렌더링된 그림자, 배경 그림자 평면에 렌더링된 그림자, 및 오브젝트의 광원 좌표에 기초한 렌더링에 따라 그림자를 삽입하면서, 텍스처 맵핑을 통해 처리되는 오브젝트에 표현되는 그림자를 맵핑하는 단계를 구비할 수 있다.
단계들 (c)은 또한 그림자 평면에 대한 초기값으로 확장된 광원을 확립하고,확장 광원을 반사하여 그 그림자를 오브젝트에 형성하는 단계를 구비할 수 있다.
본 발명에 따른 프로그램은 (a) 3차원 모델링에 의해 발생된 다수의 오브젝트의 배치로부터 적어도 하나의 가상 평면을 확립하는 단계, 및 (b) 뷰포인트인 광원에 의해 가상 평면에 투사된 오브젝트의 그림자를 그 오브젝트 보다 광원으로부터 더 멀리 있는 오브젝트상에 표현하는 단계를 구비한다.
상기 프로그램이 실시될 때, 복잡한 형상을 갖는 오브젝트에 대한 그림자 또는 복잡한 배치로 배열된 다수의 오브젝트의 그림자를 용이하게 표현하는 것이 가능하다.
본 발명의 상기 목적과 다른 목적, 특성, 및 이점은 본 발명의 바람직한 실시예가 예를 통해 도시된 첨부 도면과 연관되어 취해질 때 다음 설명으로부터 보다 명확해진다.
이후에는 본 발명에 따른 영상 처리 방법, 영상 처리 장치, 기록 매체, 및 프로그램이 3차원 CG 처리를 실행하기 위한 오락 장치에 적용되는 실시예가 도 1 내지 도 30을 참고로 설명된다.
도 1에 도시된 바와 같이, 오락 장치(10)는 오락 장치(10)의 전체적인 동작을 제어하는 메인 CPU(12), 다양한 프로그램 및 다양한 데이터를 저장하는 메인 메모리(14), 메인 CPU(12)의 제어 하에서 영상 데이터를 발생하고 발생된 영상 데이터를 디스플레이 유닛 (예를 들면, CRT)(16)에 출력하는 영상 프로세서(18), 및 외부 디바이스에 데이터를 전달하고 그로부터 데이터를 수신하는 입력/출력 포트(20)를 구비한다.
메인 메모리(14), 영상 프로세서(18), 및 입력/출력 포트(20)는 버스(22)에 의해 메인 CPU(12)에 연결된다 입력/출력 포트(20)에는 예를 들어 데이터 (키 엔트리 (key entry) 데이터, 좌표 데이터 등)를 오락 장치(10)에 입력하기 위한 입력/출력 디바이스(24), 및 다양한 프로그램과 데이터 (오브젝트-관련 데이터, 텍스처 (texture) 데이터 등)를 저장하는 CD-ROM과 같은 광학적 디스크를 재생하기 위한 광학 디스크 드라이브(26)가 연결된다.
영상 프로세서(18)는 예를 들어 렌더링 엔진 (rendering engine)(30), 메모리 인터페이스(32), 영상 메모리(34), 및 프로그램가능한 CRT 제어기와 같은 디스플레이 제어기(36)를 구비한다.
렌더링 엔진(30)은 메인 CPU(12)로부터 공급된 렌더링 명령에 응답하여 메인 인터페이스(32)를 통해 영상 메모리(34)에서 영상 데이터를 렌더링한다.
제1 버스(38)는 메모리 인터페이스(32)와 렌더링 엔진(30) 사이에 연결되고, 제2 버스(40)는 메모리 인터페이스(32)와 영상 메모리(34) 사이에 연결된다. 제1 및 제2 버스 (38, 40)는 예를 들어 렌더링 엔진(30)이 영상 메모리(3)에서 신속하게 영상 데이터를 렌더링하도록 허용하기 위해 각각 128 비트의 버스폭을 갖는다.
렌더링 엔진(30)은 1/60 내지 1/30초 당 10 내지 수 10의 범위에서 여러 번 실시간 기반의 640 x 480 픽셀 (pixel)의 영상 데이터 또는 NTSC나 PAL에 따른 320 x 240 픽셀의 영상 데이터를 렌더링할 수 있다.
영상 메모리(34)는 한 영역에 텍스처 영역(34a) 및 렌더링 영역(34b) (도 3을 참고)을 지정할 수 있는 통합된 메모리 구조이다.
디스플레이 제어기(36)는 메인 메모리(14)에서 발생된 텍스처 데이터 및 광학 디스크 드라이브(26)에 의해 판독된 텍스처 데이터를 메모리 인터페이스(32)를 통해 영상 메모리(34)의 텍스처 영역에 기록하고, 메모리 인터페이스(32)를 통해 메인 메모리(14)의 렌더링 영역에 렌더링된 영상 데이터를 판독하고, 또한 영상 데이터를 디스플레이 스크린상의 디스플레이를 위해 디스플레이 유닛(16)으로 출력한다.
오락 장치(10)의 특징적인 특성의 기능, 즉 오브젝트에 그림자를 드리우게하는 처리 (이후 "드롭 셰도우잉 (drop shadowing) 처리"라 칭하여지는)의 기능은 이후 상세히 설명된다.
드롭 셰도우잉 처리에 따라, 도 2에 도시된 바와 같이, 3차원 모델링에 의해 생성된 다수의 오브젝트 (Ob1, Ob2)의 배치로부터 적어도 하나의 가상 평면(50)이 확립되고, 광원(52)에 의해 가상 평면(50)으로 투사되는 오브젝트(Ob1)의 투사 영상(54)은 오브젝트(Ob1) 보다 광원(52)으로부터 멀리 있는 오브젝트(Ob2)에 그림자(56)로 표시된다.
드롭 셰도우잉 처리를 실행하는 프로그램, 즉 드롭 셰도우잉 수단(100) (도 3을 참고)은 오락 장치(10)의 메인 메모리(14)로 광학 디스크 드라이브(26)에 의해 재생된 CD-ROM으로부터 다운로드 (download)된다. 이어서, 드롭 셰도우잉 처리를 실행하도록 다운로드된 프로그램은 오락 장치(10)에서 운행된다.
드롭 셰도우잉 수단(100)은 도 3 내지 도 9를 참고로 이후 설명된다. 도 3에 도시된 바와 같이, 드롭 셰도우잉 수단(100)은 다양한 설정 처리 수단(102), 렌더링 리스트 발생 수단(104), 렌더링 수단(106), 및 영상 디스플레이 수단(108)을 갖는다.
다양한 설정 처리 수단(102)은 오브젝트 정보 테이블(110)을 발생하고, 오브젝트 (Ob1, Ob2, ...), 스크린, 및 광원(52)에 대한 배치를 설정하고, 오브젝트 (Ob1, Ob2, ...)의 배치로부터 적어도 하나의 가상 평면(50)을 확립한다.
도 4에 도시된 바와 같이, 오브젝트 정보 테이블(110)은 발생된 오브젝트의 수만큼 기록을 등록한다. 각 기록은 대응하는 오브젝트를 구성하는 폴리곤의 정점데이터 (오브젝트 좌표)에 대한 데이터 파일 (정점 데이터 파일)의 초기 어드레스, 폴리곤의 수(M), 사용되는 텍스처 테이블의 초기 어드레스, 셰이딩 속성 정보 (Gouraud 셰이딩과 같은), 기하형 정보 (망사형과 같은), 광원 처리 속성, 및 오브젝트 배치 정보를 포함한다.
광원 처리 속성은 폴리곤 그림자가 디스플레이될 것인지의 여부 (디스플레이됨/디스플레이되지 않음 = 1/0)에 대한 정보를 정의한다.
렌더링 리스트 발생 수단(104)은 스크린 좌표 시스템, 광원 좌표 시스템, 오브젝트의 정점 데이터 파일(112) 및 광원(52)의 배치에 기초하여 오브젝트의 각 폴리곤을 가상 평면(50)에 투사한 좌표 (폴리곤 그림자의 좌표) 등을 결정하고, 결정된 좌표 시스템 및 투사된 좌표를 패킷 (packet)(114)에 등록하고, 광원(52)으로부터 멀어지는 방향으로 패킷(114)에 Z-분류 (Z-sorting)를 실시하고, 또한 그 패킷(114)을 렌더링 리스트(116)에 등록한다.
도 5에 도시된 바와 같이, 정점 데이터 파일(112)은 발생된 오브젝트의 수만큼 파일을 구비한다. 각 파일은 오브젝트 폴리곤의 각 기록 오브젝트 좌표 PPij0= (Xij0,Yij0,Zij0), PPij1= (Xij1,Yij1,Zij1), PPij2= (Xij2,Yij2,Zij2)에 등록된다.
도 6에 도시된 바와 같이, 각 패킷(114)은 폴리곤이 속하는 오브젝트의 수 (오브젝트 수), 패킷(114)이 렌더링 리스트(116)에 등록될 때 포인터 (pointer)로 사용되는 Z-분류 포인터, 폴리곤의 스크린 좌표 SPij0= (Xsij0,Ysij0,Zsij0), SPij1= (Xsij1,Ysij1,Zsij1), SPij2= (Xsij2,Ysij2,Zsij2), 폴리곤의 광원 좌표 UPij0=(Xuij0,Yuij0,Zuij0), UPij1= (Xuij1,Yuij1,Zuij1), UPij2= (Xuij2,Yuij2,Zuij2), 및 가상 평면(50)상에 투사된 폴리곤의 좌표 UVij0= (Uij0,Vij0), UVij1= (Uij1,Vij1), UVij2= (Uij2,Vij2)를 저장한다.
렌더링 수단(106)은 연속하여 렌더링 리스트(116)로부터 패킷(114)을 취하고, 패킷(114)에 등록된 폴리곤의 다양한 데이터에 기초하여, 폴리곤을 렌더링하여 폴리곤의 폴리곤 그림자에 텍스처 맵핑 (texture mapping)을 실행한다.
영상 디스플레이 수단(108)은 영상 메모리(34)의 렌더링 영역(34b)에 저장된 영상 데이터를 판독하고, 판독된 영상 데이터를 디스플레이 제어기(36)에 출력한다.
도 7에 도시된 바와 같이, 다양한 설정 처리 수단(102)은 입력/출력 디바이스(24)를 통해 입력된 데이터에 기초하여 오브젝트 정보 테이블(110)을 발생하는 테이블 발생 수단(120), 오브젝트 정보 테이블(110)에서 입력/출력 디바이스(24)를 통해 입력된 오브젝트의 배치에 관련된 정보를 등록하는 배치 정보 등록 수단(122), 스크린, 광원(52), 및 가상 평면(50)의 배치에 관련된 정보로부터 스크린, 광원(52), 및 가상 평면(50)의 세계 좌표를 결정하고, 소정의 어레이 변수 영역 (Z1-Z4)에 결정된 세계 좌표를 등록하는 좌표 설정 수단(124), 및 가상 평면(50)의 세계 좌표에 기초하여 가상 평면(50)의 광원 좌표를 결정하고, 소정의 어레이 변수 영역(Z5)에 Z 좌표를 등록하는 광원 좌표 계산 수단(126)을 갖는다.
도 8에 도시된 바와 같이, 렌더링 리스트 발생 수단(104)은 렌더링리스트(116)를 초기화하는 렌더링 리스트 초기화 수단(130), 오브젝트 정보 테이블(110)로부터 정보의 기록을 판독하는 테이블 기록 판독 수단(132), 대응하는 정점 데이터 파일(112)로부터 정보의 기록을 판독하는 파일 판독 기록 수단(134), 패킷(114)에 데이터를 저장하는 데이터 저장 수단(136), 정점 데이터 파일(112)에 등록된 폴리곤의 스크린 좌표, 광원 좌표, 및 가상 평면(50)에 투사된 좌표를 계산하는 좌표 계산 수단(138), 폴리곤의 광원 좌표에 기초하여 렌더링 리스트(116)에 대한 삽입 포인터 (Z-분류 포인터)를 결정하는 포인터 결정 수단(140), 포인터에 대응하는 기록에 패킷(114)을 삽입하는 패킷 삽입 수단(142), 및 처리될 오브젝트를 구성하는 폴리곤에 대한 처리가 모두 종료되었는지의 여부를 결정하는 종료 결정 수단(144)을 구비한다.
도 9에 도시된 바와 같이, 렌더링 수단(106)은 가상 평면(50)에 대응하는 발생 그림자 평면(152) 및 기준 그림자 평면(150)을 사용하도록 배열된다. 그림자 평면 (150, 152)은 논리적으로 영상 메모리(34)의 텍스처 영역(34a)에 지정된다.
렌더링 수단(106)은 렌더링 엔진(30)에 포함된 텍스처 표현 처리 수단(154)을 동작시키기 위한 명령을 전한다. 텍스처 표현 처리 수단(154)은 텍스처 맵핑 수단(156) 및 셰이딩 수단(158)을 구비한다.
렌더링 수단(106)은 초기 데이터 파일(178)로부터 판독된 초기 데이터(Di)를 기준 그림자 평면(150) 및 발생 그림자 평면(152)에 기록하여 기준 그림자 평면(150) 및 발생 그림자 평면(152)을 초기화하는 그림자 평면 초기화 수단(160), 렌더링 리스트(116)로부터 패킷(114)을 연속적으로 판독하는 패킷 판독 수단(162),오브젝트 정보 테이블(110)로부터 정보의 기록을 판독하는 테이블 기록 판독 수단(164), 처리되는 오브젝트가 하나에서 또 다른 것으로 교환되었는지의 여부를 결정하는 오브젝트 결정 수단(166), 기준 그림자 평면(150) 및 발생 그림자 평면(152)에서 데이터를 렌더링하는 그림자 평면 렌더링 수단(168), 오브젝트 정보 테이블(110)에 등록된 광원 처리 속성에 기초하여 폴리곤 그림자가 디스플레이될 것인지의 여부를 결정하는 폴리곤 그림자 디스플레이 결정 수단(170), 렌더링 영역(34b)에 발생된 폴리곤 데이터 (텍스처 표현 및 드롭 셰도우잉 이후의 폴리곤 데이터)를 렌더링하면서, 예를 들어 Z-버퍼링에 따라 감추어진 표면 제거를 실행하는 감추어진 표면 제거 처리 수단(172), 및 렌더링 리스트(116)에 등록된 패킷(114)에 대한 처리가 모두 종료되었는지의 여부를 결정하는 종료 결정 수단(174)을 갖는다.
이후에는 드롭 셰도우잉 수단(100)에 의해 실행되는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리가 설명된다. 드롭 셰도우잉 처리를 설명하기 이전에, 드롭 셰도우잉 수단(100)의 동작 개념이 도 2, 도 10 내지 도 12를 참고로 먼저 설명된다.
도 2는 가상 평면(50)을 사용한 드롭 셰도우잉 처리의 개념을 도시한다. 도 2에서, 가상 평면(50)은 그림자를 지게 하는 오브젝트(Ob1)와 그림자가 지는 오브젝트(Ob2) 사이에 위치한다. 가상 평면(50)의 위치는 드롭 셰도우잉 처리에 의해 커버되는 공간 범위 및 그 크기에 의해 결정된다.
제1 실시예에서, 오브젝트(Ob1)는 광원(52)을 뷰포인트 (viewpoint)로 투시변형에 따라 가상 평면(50)으로 투사되고, 가상 평면(50)에 대응하는 텍스처 평면인 그림자 평면 (기준 그림자 평면(150) 및 발생 그림자 평면(152))에 폴리곤 그림자로 기록된다. 오브젝트(Ob2)에 그림자를 드리우게 하는 드롭 셰도우잉 처리는 텍스처 패턴으로 동작하는 기준 그림자 평면(150)으로부터 오브젝트(Ob2)의 각 폴리곤에 텍스처 맵핑을 실행함으로서 실시된다.
폴리곤의 각 정점에 대한 텍스처 좌표는 광원(52)을 뷰포인트로 투시 변형에 따라 결정될 수 있다. 투시 변형의 공식은 도 11을 참고로 이후 설명된다.
도 11에서, 광원(52)이 점광원이면, 오브젝트(Ob1)의 각 정점을 가상 평면(50)으로 투시 변형하는 것은 다음과 같이 나타내지고:
Xa = (xa*ScrZ)/za
Ya = (ya*ScrZ)/za
오브젝트(Ob2)의 각 정점에 대한 그림자의 텍스처 좌표 (Ub,Vb)는 유사하게 다음과 같이 투시 변형에 따라 나타내진다:
Ub = (xb*ScrZ)/zb
Vb = (yb*ScrZ)/zb
광원(52)이 평행 광원이면,
(Xa,Ya) = (xa,ya)
(Xb,Yb) = (xb,yb)
도 12는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 개념도를 도시한다. 각 오브젝트에 적용되는 도 12에 도시된 드롭 셰도우잉 처리에 따라, 그림자 평면 (기준 그림자 평면(150))에 렌더링된 폴리곤 그림자에는 오브젝트로의 텍스처 맵핑이 행해져 스크린(176)에 렌더링되고 (과정 1), 이어서 오브젝트에 형성된 폴리곤 그림자가 그림자 평면(150)에 렌더링된다 (과정 2). 상기 드롭 셰도우잉 처리는 화살표(A)로 나타내진 바와 같이, 광원(52)을 뷰포인트로 Z-분류에 의해 실행된다.
이후에는 본 발명의 제1 실시예에 따른 드롭 셰도우잉 처리의 순차가 도 13을 참고로 설명된다.
단계(S1)에서, 다양한 설정 처리 수단(102)은 오브젝트 정보 테이블(110)을 발생하고, 오브젝트, 스크린(176), 및 광원(52)에 대해 배치를 설정하고, 다수의 오브젝트의 배치로부터 적어도 하나의 가상 평면(50)을 셋업한다 (다양한 설정 처리).
이어서, 단계(S2)에서, 렌더링 리스트 발생 수단(104)은 오브젝트의 데이터 파일(112) 및 광원(52)의 배치 등에 기초하여 스크린 좌표 시스템, 광원 좌표 시스템, 및 오브젝트의 각 폴리곤에 대해 가상 평면(50)에 투사된 좌표 (폴리곤 그림자의 좌표)를 결정하고, 결정된 좌표 시스템 및 투사 좌표를 패킷(114)에 등록하고, 또한 광원(52)으로부터 멀어지는 방향으로 연속하여 패킷(114)을 렌더링 리스트(116)에 등록한다 (렌더링 리스트 발생 처리).
그 후에, 단계(S3)에서, 렌더링 수단(106)은 렌더링 리스트(116)로부터 연속하여 패킷(114)을 취하고, 패킷(114)에 등록된 폴리곤의 다양한 데이터에 기초하여, 폴리곤을 렌더링하여 그 폴리곤의 폴리곤 그림자에 텍스처 맵핑을 실행한다 (렌더링 처리).
이어서, 단계(S4)에서, 영상 디스플레이 수단(108)은 영상 메모리(34)의 렌더링 영역(34b)에 저장된 영상 데이터를 판독하고, 판독된 영상 데이터를 디스플레이 제어기(36)를 통해 디스플레이 유닛(16)에 출력한다. 이 방식으로, 도 2에 도시된 바와 같이, 광원(52)에 의해 만들어진 오브젝트(Ob1)의 그림자는 광원(52)에 대해 오브젝트(Ob1) 뒤에 위치하는 오브젝트(Ob2)에 드리워진다.
단계(S4) 이후에, 제1 실시예에 따른 드롭 셰도우잉 처리는 종료된다.
이후에는 다양한 설정 처리 수단(102), 렌더링 리스트 발생 수단(104), 및 렌더링 수단(106)의 동작 순차가 도 14 내지 도 19를 참고로 설명된다.
먼저, 이후에는 도 14를 참고로 다양한 설정 처리 수단(102)의 동작 순차가 설명된다.
도 14에 도시된 단계(S101)에서, 다양한 설정 처리 수단(102)의 테이블 발생 수단(120)은 입력/출력 디바이스(24)를 통해 입력된 데이터에 기초하여 오브젝트 정보 테이블(110)을 발생한다.
도 4에 도시된 바와 같이, 오브젝트 정보 테이블(110)에 등록된 정보의 항목은 특히 셰이딩 속성 정보 (Gouraud 셰이딩과 같은), 기하형 정보 (망사형과 같은), 및 광원 처리 속성을 포함한다. 광원 처리 속성은 폴리곤 그림자가 디스플레이될 것인지의 여부에 대한 정보를 정의한다 (디스플레이됨/디스플레이되지 않음 = 1/0).
오브젝트 정보 테이블(110)에서, 정점 데이터 파일(112)의 초기 어드레스,폴리곤의 수, 사용되는 텍스처 테이블의 초기 어드레스 등은 오브젝트가 CAD에 따라 발생될 때 등록된다.
단계(S102)에서, 배치 정보 등록 수단(122)은 입력/출력 디바이스(24)를 통해 입력된 오브젝트의 배치에 대한 정보를 오브젝트 정보 테이블(110)에 등록한다.
단계(S103)에서, 좌표 설정 수단(124)은 스크린(176)의 배치에 대한 정보에 기초하여 스크린(176)의 세계 좌표를 계산하고, 계산된 세계 좌표를 소정의 어레이 변수 영역(Z1)에 저장한다.
단계(S104)에서, 좌표 설정 수단(124)은 광원(52)의 배치에 대한 정보에 기초하여 광원(52)의 세계 좌표를 계산하고, 계산된 세계 좌표를 소정의 어레이 변수 영역(Z2)에 저장한다. 좌표 설정 수단(124)은 또한 입력/출력 디바이스(24)를 통해 입력된 광원(52)의 종류를 소정의 어레이 변수 영역(Z3)에 저장한다.
단계(S105)에서, 좌표 설정 수단(124)은 어레이 변수 영역(Z2)에 저장된 광원(52)의 위치 및 오브젝트 정보 테이블(110)에 등록된 오브젝트의 배치 정보에 기초하여 가상 평면(50)의 배치를 셋업하고, 가상 평면(50)의 세계 좌표를 계산하고, 또한 계산된 세계 좌표를 소정의 어레이 변수 영역(Z4)에 저장한다.
단계(S106)에서, 광원 좌표 계산 수단(126)은 어레이 변수 영역(Z4)에 저장된 가상 평면(50)의 세계 좌표 및 광원(52)의 위치에 기초하여 가상 평면(50)의 광원 좌표를 계산하고, 계산된 세계 좌표의 Z 좌표를 소정의 어레이 변수 영역(Z5)에 저장한다.
단계(S105) 이후에는 다양한 설정 처리 수단(102)의 동작 순차가 종료된다.
이후에는 도 15 및 도 16을 참고로 렌더링 리스트 발생 수단(104)의 동작 순차가 설명된다.
도 15에 도시된 단계(S201)에서, 렌더링 리스트 초기화 수단(130)은 렌더링 리스트(116)를 초기화한다.
이어서, 단계(S202)에서, 렌더링 리스트 발생 수단(104)은 오브젝트를 탐색하는데 사용되는 인덱스 레지스터(i)에 초기값 "0"을 저장하고, 그에 의해 인덱스 레지스터(i)를 초기화한다.
단계(S203)에서, 테이블 기록 판독 수단(132)은 오브젝트 정보 테이블(110)로부터 인덱스 레지스터(i)로 나타내지는 기록 (i 기록)을 판독한다.
단계(S204)에서, 렌더링 리스트 발생 수단(104)은 폴리곤을 탐색하는데 사용되는 인덱스 레지스터(j)에 초기값 "0"을 저장하고, 그에 의해 인덱스 레지스터(j)를 초기화한다.
단계(S205)에서, 데이터 저장 수단(136)은 패킷(114)에 초기값을 저장하고, 그에 의해 패킷(114)을 초기화한다.
단계(S206)에서, 데이터 저장 수단(136)은 오브젝트수(i) (인덱스 레지스터(i)의 값)를 패킷(114)에 저장한다.
단계(S207)에서, 파일 기록 판독 수단(134)은 대응하는 정점 데이터 파일(112)로부터 인덱스 레지스터(j)로 나타내지는 기록 (j 기록)을 판독한다. 즉, 제j 폴리곤의 정점 데이터를 판독한다. 대응하는 정점 데이터 파일(112)은 오브젝트 정보 테이블(110)로부터 판독된 i 기록에 등록된 정점 데이터 파일(112)의초기 어드레스에 대응하는 정점 데이터 파일이다.
단계(S208)에서, 좌표 계산 수단(138)은 오브젝트 정보 테이블(110)에서 i 기록에 등록된 오브젝트의 배치 정보, 어레이 변수 영역(Z1)에 등록된 스크린(176)의 세계 좌표, 및 제j 폴리곤의 정점 데이터에 기초하여 제j 폴리곤 정점의 스크린 좌표 SPij0= (Xsij0,Ysij0,Zsij0), SPij1= (Xsij1,Ysij1,Zsij1), SPij2= (Xsij2,Ysij2,Zsij2)을 결정하고, 데이터 저장 수단(136)은 결정된 스크린 좌표를 패킷(114)에 저장한다.
단계(S209)에서, 좌표 계산 수단(138)은 오브젝트의 배치 정보, 어레이 변수 영역(Z2)에 등록된 광원(52)의 세계 좌표, 및 제j 폴리곤의 정점 데이터에 기초하여 제j 폴리곤 정점의 광원 좌표 UPij0= (Xuij0,Yuij0,Zuij0), UPij1= (Xuij1,Yuij1,Zuij1), UPij2= (Xuij2,Yuij2,Zuij2)을 결정하고, 데이터 저장 수단(136)은 결정된 광원 좌표를 패킷(114)에 저장한다.
단계(S210)에서, 좌표 계산 수단(138)은 오브젝트의 배치 정보, 어레이 변수 영역(Z5)에 등록된 가상 평면(50)의 Z 좌표 (광원 좌표), 및 제j 폴리곤의 정점 데이터에 기초하여 제j 폴리곤 정점의 투사 좌표 UVij0= (Uij0,Vij0), UVij1= (Uij1,Vij1), UVij2= (Uij2,Vij2)을 결정하고, 데이터 저장 수단(136)은 결정된 투사 좌표를 패킷(114)에 저장한다.
단계(S211)에서, 포인터 결정 수단(140)은 단계(S209)에서 결정되었던 정점의 광원 좌표 UPij0= (Xuij0,Yuij0,Zuij0), UPij1= (Xuij1,Yuij1,Zuij1), UPij2=(Xuij2,Yuij2,Zuij2)의 Z 좌표 중 광원에 가장 가까운 Z 좌표를 선택하고, 선택된 Z 좌표를 제j 폴리곤에 대한 Z-분류 포인터로 사용한다.
도 16에 도시된 단계(S212)에서, 패킷 삽입 수단(142)은 렌더링 리스트(116)를 탐색하고, 도 17에 도시된 바와 같이, 패킷(114)이 Z 좌표 (Z-분류 포인터)의 증가 패턴에 따라 그에 배열되도록 현재의 패킷(114)을 렌더링 리스트(116)에 삽입한다.
단계(S213)에서, 종료 결정 수단(144)은 인덱스 레지스터(j)의 값을 "+1" 만큼 증가시킨다. 단계(S214)에서, 종료 결정 수단(144)은 인덱스 레지스터(j)의 값이 오브젝트 정보 테이블(110)에서 i 기록에 등록된 폴리곤의 수(M) 보다 크거나 같은지의 여부를 결정함으로서, 제i 오브젝트를 구성하는 모든 폴리곤에 대한 처리가 종료되었는지의 여부를 결정한다.
제i 오브젝트를 구성하는 모든 폴리곤에 대한 처리가 종료되지 않았으면, 제어는 도 15에 도시된 단계(S205)로 되돌아가, 다음 폴리곤에 대해 다양한 좌표를 계산하고, 계산된 좌표를 패킷(114)에 저장하고, 또한 패킷(114)을 렌더링 리스트(116)에 삽입한다.
제i 오브젝트를 구성하는 모든 폴리곤에 대한 처리가 단계(S214)에서 종료되었으면, 제어는 단계(S215)로 진행되어, 종료 결정 수단(144)이 인덱스 레지스터(i)의 값을 "+1" 만큼 증가시킨다. 단계(S216)에서, 종료 결정 수단(144)은 인덱스 레지스터(i)의 값이 오브젝트 정보 테이블(110)에 등록된 기록의 수(N) 보다 크거나 같은지의 여부를 결정함으로서 모든 오브젝트에 대한 처리가 종료되었는지의 여부를 결정한다.
모든 오브젝트에 대한 처리가 종료되지 않았으면, 제어는 도 15에 도시된 단계(S203)로 되돌아가, 다음 폴리곤의 모든 폴리곤에 대해 다양한 좌표를 계산하고, 계산된 좌표를 각 패킷(115)에 저장하고, 또한 z-분류 포인터의 증가 패턴에 따라 렌더링 리스트(116)에 패킷(114)을 삽입한다.
모든 오브젝트에 대한 처리가 단계(S216)에서 종료되었으면, 렌더링 리스트 발생 수단(104)의 동작 순차는 종료된다.
이후에는 도 18 및 도 19를 참고로 렌더링 수단(106)의 동작 순차가 설명된다.
도 18에 도시된 단계(S301)에서, 그림자 평면 초기화 수단(160)은 초기 데이터 파일(178)로부터 초기 데이터(Di)를 판독하고, 기준 그림자 평면(150) 및 발생 그림자 평면(152)을 초기화하는데 사용되는 그림자 평면 (기준 그림자 평면(150) 및 발생 그림자 평면(152))에 초기 데이터(Di)를 렌더링한다.
단계(S302)에서, 렌더링 수단(106)은 오브젝트수(i)를 저장하는데 사용되는 레지스터(R)에 초기값 "FF"를 저장하고, 패킷(114)을 탐색하는데 사용되는 인덱스 레지스터(k)에 초기값 "0"을 저장하여, 그에 의해 레지스터(R) 및 인덱스 레지스터(k)를 초기화한다.
단계(S303)에서, 패킷 판독 수단(162)은 렌더링 리스트(116)로부터 인덱스 레지스터(k)에 의해 나타내진 포인터(제k 번째)에 있는 패킷(114)을 판독한다. 단계(S304)에서, 패킷 판독 수단(162)은 판독 패킷(114)으로부터 오브젝트수(i)를 판독한다.
단계(S305)에서, 오브젝트 결정 수단(166)은 인덱스 레지스터(i)의 값이 레지스터(R)의 값과 같은지의 여부를 결정함으로서, 현재 오브젝트수(i)가 이전 오브젝트수와 같은지의 여부를 결정한다.
현재 오브젝트수(i)가 이전 오브젝트수와 다르면, 제어는 테이블 기록 수단(164)이 오브젝트 정보 테이블(110)로부터 i 기록을 판독하는 단계(S306)로 진행된다.
단계(S307)에서, 그림자 평면 렌더링 수단(168)은 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자에 대한 텍스처 데이터 (또는 초기 데이터 Di)를 기준 그림자 평면(150)에 복사한다.
단계(S308)에서, 오브젝트 결정 수단(166)은 레지스터(R)에 오브젝트수(i)를 저장한다.
단계(S308)의 처리가 종료되거나 단계(S305)에서 현재 오브젝트수(i)가 이전 오브젝트수와 똑같으면, 제어는 도 19에 도시된 단계(S309)로 진행되어, 텍스처 표현 처리 수단(154)이 정상적인 텍스처 표현 처리를 실행한다. 특별히, 텍스처 표현 처리 수단(154)은 현재 폴리곤의 스크린 좌표 및 텍스처 테이블(180)의 초기 어드레스에 기초하여 셰이딩, 텍스처 맵핑 등과 같은 텍스처 표현 처리를 실행한다.
단계(S310)에서, 폴리곤 그림자 디스플레이 결정 수단(170)은 오브젝트 정보 테이블(110)에서 대응하는 기록에 등록된 광원 처리 속성의 폴리곤 그림자 디스플레이 속성에 기초하여 폴리곤 그림자가 그 오브젝트에 디스플레이될 수 있는지의여부를 결정한다.
폴리곤 그림자가 디스플레이될 수 있으면, 제어는 처리되는 폴리곤이 가상 평면(50)에 투사된 좌표 UVij0= (Uij0,Vij0), UVij1= (Uij1,Vij1), UVij2= (Uij2,Vij2)를 참고하면서, 텍스처 표현 처리 수단(154)의 텍스처 맵핑 수단(156)이 기준 그림자 평면(150)에 렌더링된 폴리곤 그림자를 텍스처 맵핑을 통해 처리되는 폴리곤에 맵핑하는 단계(S311)로 진행한다. 초기 데이터만이 기준 그림자 평면(150)에 렌더링되면, 초기 데이터(Di)는 텍스처 맵핑을 통해 맵핑된다.
단계(S311)의 처리가 종료되거나 단계(S310)에서 폴리곤 그림자가 디스플레이될 수 없으면, 제어는 그림자 평면 렌더링 수단(168)이 현재 폴리곤이 가상 평면(50)으로 투사된 좌표에 기초하여 발생 그림자 평면(152)상의 이전 폴리곤 그림자와 조합되어 현재 폴리곤의 폴리곤 그림자를 렌더링하고, 흑색 (R,G,B,α) = (0,0,0,100%)으로 조합된 그림자를 칠하는 단계(S312)로 진행한다.
단계(S313)에서, 감추어진 표면 제거 처리 수단(172)은 현재 폴리곤의 스크린 좌표에 기초하여 Z-버퍼링에 따라 감추어진 표면 제거를 실행하면서 렌더링 영역(34b)에 현재 폴리곤의 데이터를 기록한다.
단계(S314)에서, 렌더링 수단(106)은 인덱스 레지스터(k)의 값을 "+1" 만큼 증가시킨다. 이어서, 단계(S315)에서, 종료 결정 수단(174)은 모든 패킷(114)에 대한 처리가 종료되었는지의 여부를 결정한다. 모든 패킷(114)에 대한 처리가 종료되지 않았으면, 제어는 단계(S303)로 진행되어 다음 패킷(114)에 등록된 폴리곤에 대해 정상적인 텍스처 표현 처리, 폴리곤 그림자의 텍스처 맵핑, 및 감추어진표면 제거를 실행한다.
단계(S315)에서 렌더링 리스트(116)에 등록된 모든 패킷(114)에 대한 처리가 종료되었으면, 렌더링 수단(106)의 동작 순차는 종료된다.
단계(S303 - S313)의 처리는 다음의 이점을 제공하도록 반복된다: 광원(52)에 거의 가깝게 위치하는 오브젝트(Ob1)의 폴리곤에 대해, 초기 데이터(Di)만이 기준 그림자 평면(150)에 기록된다. 초기 데이터(Di)가 투명성을 나타내면, 폴리곤 그림자는 오브젝트(Ob1)의 폴리곤에 렌더링되지 않는다.
광원(52)으로부터 제2 오브젝트인 오브젝트(Ob2)의 폴리곤에는 광원으로부터 제1 오브젝트(Ob1)의 모든 폴리곤 그림자 중 한 폴리곤 그림자가 렌더링되고, 이는 오브젝트(Ob1)의 폴리곤의 투사 좌표에 의해 나타내지는 범위에 주어진다. 제2 오브젝트(Ob2)에 대한 처리가 종료될 때, 제1 오브젝트(Ob1)의 폴리곤 그림자는 제2 오브젝트(Ob2)에 렌더링된다.
유사하게, 광원(52)으로부터 제3 오브젝트인 오브젝트(Ob3)에는 제1 오브젝트(Ob1)의 폴리곤 그림자와 제2 오브젝트(Ob2)의 폴리곤 그림자를 조합한 것이 렌더링된다.
제1 실시예에 따른 드롭 셰도우잉 처리에서는 상기에 설명된 바와 같이, 3차원 모델링에 의해 발생된 다수의 오브젝트의 배치로부터 하나의 가상 평면(50)이 확립되고, 광원을 뷰포인트로 가상 평면에 투사되어 형성된 오브젝트 중 하나의 폴리곤 그림자는 그 오브젝트 보다 광원(52)으로부터 멀리 있는 오브젝트 중 또 다른 하나에 표현된다.
특별히, 가상 평면(50)에 대응하는 텍스처 평면인 기준 그림자 평면(150) 및 발생 그림자 평면(152)이 셋업되고, 가상 평면(50)에 투사되어 형성된 오브젝트의 그림자는 발생 그림자 평면(152)을 통해 기준 그림자 평면(150)에 렌더링되고, 기준 그림자 평면(150)에 렌더링된 그림자는 텍스처 맵핑을 통해 다음 오브젝트에 맵핑된다.
이 방식으로, 복잡한 형상을 갖는 오브젝트에 대한 그림자 또는 복잡한 배치로 배열된 다수의 오브젝트에 대한 그림자를 표현하는 것이 쉽다.
본 실시예에서는 폴리곤 그림자가 오브젝트상에 표현될 것인지의 여부에 대한 그림자 표현 속성이 오브젝트 정보 테이블(110)의 각 기록에서 광원 처리 속성에 정의되므로, 오브젝트에 폴리곤 그림자를 표현하는 처리는 선택적으로 실행될 수 있다. 그러므로, 예를 들어 게임에서 주요 인물의 얼굴 표현이 또 다른 오브젝트의 그림자에 의해 감추어지는 것을 방지할 수 있다.
이후에는 도 9, 도 20 내지 도 22를 참고로 본 발명의 제2 실시예에 따른 드롭 셰도우잉 처리가 설명된다.
제2 실시예에 따른 드롭 셰도우잉 처리는 기본적으로 드롭 셰도우잉 처리의 렌더링 수단이 도 9에 괄호로 나타내진 바와 같이 광원(52)으로부터의 거리에 의존하여 폴리곤 그림자를 흐려지게 하는 (blurring) 이중선형 (bilinear) 처리 수단(190)을 갖는 것을 제외하고, 제1 실시예에 따른 드롭 셰도우잉 처리와 기본적으로 똑같다.
도 20에 도시된 바와 같이, 광원(52)이 점광원이 아니라 확장된 광원이면,가상 평면(50)이 오브젝트(Ob1)에 가까운 위치에 놓일 때, 오브젝트(Ob1)는 가상 평면(50)상에 암영부 (umbra)(Ss)를 드리운다.
가상 평면(50)이 오브젝트(Ob1)로부터 먼 위치에 놓일 때, 오브젝트(Ob1)는 암영부(Ss)와, 그 암영부(Ss) 주변에 있는 흐릿한 그림자인 반암부 (penumbra)(Sd)를 가상 평면(50)상에 드리운다. 반암부(Sd)의 흐릿한 정도는 광원(52)에서 가상 평면(50)까지의 거리에 의존하여 증가된다.
제2 실시예에 따른 드롭 셰도우잉 처리는 반암부(Sd)의 특징을 실현하도록 배열된다.
특별히, 도 18에 도시된 바와 같이, 그림자 평면 렌더링 수단(168)은 단계(S307)에서 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자에 대한 텍스처 데이터를 기준 그림자 평면(150)에 복사한 이후에, 이중선형 처리 수단(190)은 도 18에서 괄호안에 표시된 단계(S320)로 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자에 대한 텍스처 데이터에 저역통과 필터링를 실시한다.
도 21은 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자에 대한 텍스처 데이터에 광원(52)으로부터의 거리에 의존해 저역통과 필터링이 행해져 그 거리에 의존해 흐려진 정도 (반암부)를 표현하는 방식을 도시한다. 도 21은 투사 그림자가 광원(52)에 가까운 거리에서 더 명확하고 광원(52)으로부터 먼 거리에서 더 흐려지는 것을 나타낸다. 제2 실시예에 따라, 도 5에 도시된 단계(S305)에서 현재 오브젝트수(i)가 이전 오브젝트수와 다르면, 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자에 대한 텍스처 데이터에는 단계(S320)에서 저역통과 필터링이 행해진다.
이 방식으로, 도 22에 도시된 바와 같이, 오브젝트(Ob1)가 스테이지(P1)에서 처리될 때는 오브젝트(Ob1)의 폴리곤 그림자 (암영부만)가 발생 그림자 평면(152)에 렌더링되고, 오브젝트(Ob2)가 스테이지(P3)에서 처리될 때는 오브젝트(Ob1)의 폴리곤 그림자 (암영부 및 반암부) 및 오브젝트(Ob2)의 폴리곤 그림자 (암영부만)가 발생 그림자 평면(152)에 렌더링된다.
광원(52)으로부터 더 멀어져 오브젝트가 변화될 때마다, 발생 그림자 평면(152)에 렌더링되는 폴리곤 그림자는 광원(52)으로부터의 거리에 의존해 점차적으로 흐려진다.
발생 그림자 평면(152)에 렌더링되는 폴리곤 그림자에는 광원 좌표를 모니터하면서 특정 거리에 이를 때마다 저역통과 필터링이 행해질 수 있다. 도 22에서, 발생 그림자 평면(152)에 렌더링되는 폴리곤 그림자에는 스테이지 또는 포인트 (P1, P2, P3)에서 저역통과 필터링이 행해진다.
제2 실시예에 따른 드롭 셰도우잉 처리에서는 광원(52)으로부터의 거리에 의존해 발생 그림자 평면(152)에 렌더링되는 폴리곤 그림자에 저역통과 필터링이 행해지므로, 폴리곤 그림자는 광원(52)으로부터의 거리에 의존해 흐려져 현실적인 방식으로 표현된다.
이후에는 도 23 내지 도 29를 참고로 본 발명의 제3 실시예에 따른 드롭 셰도우잉 처리가 설명된다.
제3 실시예에 따른 드롭 셰도우잉 처리에서, 발생 그림자 평면(152)에 렌더링되는 폴리곤 그림자는 기준 그림자 평면(150)을 통해 오브젝트에 표현될 때, 저역통과 필터링이 행해지기 이전의 폴리곤 그림자, 저역통과 필터링이 행해진 이후의 폴리곤 그림자, 및 처리되는 오브젝트의 광원 좌표에 의존하여 렌더링에 따라 (좁은 의미에서) 포함되므로, 폴리곤 그림자의 흐려짐을 제어하게 된다.
도 23에 도시된 바와 같이, 폴리곤 그림자는 2개의 그림자 평면, 즉 기준 그림자 평면(150) 및 배경 그림자 평면(192)을 사용하여 렌더링된다.
기준 그림자 평면(150) 및 배경 그림자 평면(192)은 다른 시간에 폴리곤 그림자를 저역통과 필터링하는 그림자 평면이다. 폴리곤 그림자는 광원 좌표의 Z 좌표에 의존하여 두 그림자 평면 (150, 192) 사이에 보간삽입 (interpolation)을 실시하는 삼중선형 (trilinear) 텍스처 맵핑 처리에 의해 렌더링된다. 그 결과로, 광원(52)으로부터 오브젝트까지의 거리에 의존하는 그림자의 흐려짐은 보다 나은 그림자 근사치에 대해 폴리곤내에서 제어될 수 있다.
이후에는 제3 실시예에 따른 드롭 셰도우잉 처리를 실행하는 배열 및 드롭 셰도우잉 처리의 동작이 설명된다.
제3 실시예에 따른 드롭 셰도우잉 처리는 다양한 설정 처리 수단(102) 및 렌더링 수단(106)이 부분적으로 다른 기능을 갖는 것을 제외하고 제1 실시예에 따른 드롭 셰도우잉 처리와 기본적으로 똑같다.
특히, 도 24에 도시된 바와 같이, 다양한 설정 처리 수단(102)은 테이블 발생 수단(120), 배치 정보 등록 수단(122), 좌표 설정 수단(124), 및 상술된 것과 다른 기능을 갖는 광원 좌표 계산 수단(126)을 갖는다.
광원 좌표 계산 수단(126)은 가상 평면(50)의 세계 좌표에 기초하여 가상 평면(50)의 광원 좌표를 결정하고, Z 좌표를 소정의 어레이 변수 영역(Z5)에 등록한다. 광원 좌표 계산 수단(126)은 또한 오브젝트의 배치 정보에 기초하여 각 오브젝트 뒤에 가상적으로 배치되는 제1 내지 제n 배경 가상 평면의 광원 좌표를 결정하고, 결정된 광원 좌표의 Z 좌표를 각각 소정의 어레이 변수 영역 (Z11 - Z1n)에 등록한다.
도 25에 도시된 바와 같이, 렌더링 수단(106)은 기준 그림자 평면(150) 및 발생 그림자 평면(152)에 부가하여, 제1 내지 제n 배경 가상 평면과 연관되어 영상 메모리(34)의 텍스처 영역(34a)에 논리적으로 지정된 하나의 배경 그림자 평면(192)을 사용하도록 배열된다.
렌더링 수단(106)은 그림자 평면 초기화 수단(160), 패킷 판독 수단(162), 테이블 기록 판독 수단(164), 오브젝트 결정 수단(166), 그림자 평면 렌더링 수단(168), 폴리곤 그림자 디스플레이 결정 수단(170), 감추어진 표면 제거 처리 수단(172), 및 종료 결정 수단(174)을 갖는다. 그림자 평면 초기화 수단(160), 그림자 평면 렌더링 수단(168), 및 이중선형 처리 수단(190)은 상술된 것과 다른 기능을 갖는다.
그림자 평면 초기화 수단(160)은 초기 데이터(Fi)를 기준 그림자 평면(150) 및 발생 그림자 평면(152) 뿐만 아니라 배경 그림자 평면(192)에 기록하여, 이들 그림자 평면 (150, 152, 192)을 초기화한다.
그림자 평면 렌더링 수단(168)은 광원(52)에서 가상 평면(50) (가상 평면(50)의 Z 좌표)까지의 거리 및 광원(52)에서 대응하는 배경 가상 평면 (제1 내지 제n 배경 가상 평면 중 하나의 Z 좌표)까지의 거리에 기초하여, 가상 평면(50)에 투사된 폴리곤 그림자 (기준 그림자 평면(150)에 렌더링된 폴리곤 그림자)가 오브젝트 뒤에 가상적으로 배치된 제1 내지 제n 배경 가상 평면 중 어느 하나에 투사될 때 형성된 폴리곤 그림자를 배경 그림자 평면(192)에 렌더링한다.
이중선형 처리 수단(190)은 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자 뿐만 아니라, 배경 그림자 평면(192)에 렌더링된 폴리곤 그림자에 저역통과 필터링을 실시한다.
이후에는 도 26 내지 도 28을 참고로 제3 실시예에 따른 드롭 셰도우잉 처리의 동작이 설명된다.
도 26에 도시된 단계 (S401 - S404)에서는 제1 실시예에 따른 드롭 셰도우잉 처리에서 다양한 설정 처리 수단(102)에 의해 실행된 단계 (S101 - S104)와 같이, 다양한 설정 처리 수단(102)이 오브젝트 정보 테이블(110)을 발생하고, 오브젝트의 배치에 관련된 정보를 오브젝트 정보 테이블(110)에 등록하고, 스크린(176)의 세계 좌표를 등록하고, 또한 광원(52)의 종류 및 광원(52)의 세계 좌표를 등록한다.
단계(S405)에서, 좌표 설정 수단(124)은 오브젝트 정보 테이블(110)에 등록된 오브젝트의 배치 정보 및 어레이 변수 영역(Z2)에 저장된 광원(52)의 위치에 기초하여 가상 평면(50) 및 제1 내지 제n 배경 가상 평면의 배치를 셋업하고, 가상 평면(50) 및 제1 내지 제n 배경 가상 평면의 세계 좌표를 계산하고, 또한 계산된 세계 좌표를 소정의 어레이 변수 영역 (Z4, Z11 - Z1n)에 저장한다.
단계(S406)에서, 광원 좌표 계산 수단(126)은 어레이 변수 영역 (Z2, Z4)에저장된 광원(52) 및 가상 평면(50)의 세계 좌표에 기초하여 가상 평면(50) 및 제1 내지 제n 배경 가상 평면의 광원 좌표를 계산하고, 계산된 세계 좌표의 Z 좌표를 소정의 어레이 변수 영역 (Z5, Z21 - Z2n)에 저장한다.
렌더링 리스트 발생 수단(104)은 제1 실시예에 따른 드롭 셰도우잉 처리와 똑같은 처리를 실행한다. 그러므로, 이후에서는 렌더링 리스트 발생 수단(104)에 의해 실행되는 처리가 설명되지 않는다.
이어서, 도 27에 도시된 단계(S501)에서, 렌더링 수단(106)의 그림자 평면 초기화 수단(160)은 초기 데이터 파일(178)로부터 초기 데이터(Di)를 판독하고, 사용되는 그림자 평면 (기준 그림자 평면(150), 발생 그림자 평면(152), 및 배경 그림자 평면(192))에 초기 데이터(Di)를 렌더링하여, 이들 그림자 평면 (150, 152, 192)을 초기화한다.
단계(S502)에서, 렌더링 수단(106)은 오브젝트수(i)를 저장하는데 사용되는 레지스터(R)에 초기값 "FF"를 저장하고, 패킷(114)을 탐색하는데 사용되는 인덱스 레지스터(k)에 초기값 "0"을 저장하고, 또한 배경 가상 평면을 탐색하는데 사용되는 인덱스 레지스터(n)에 초기값 "0"을 저장하여, 그에 의해 레지스터(R) 및 인덱스 레지스터(k, n)를 초기화한다.
단계(S503)에서, 패킷 판독 수단(162)은 렌더링 리스트(116)로부터 인덱스 레지스터(k)로 나타내지는 지점 (제k 번째)에 있는 패킷(114)을 판독한다. 단계(S504)에서, 패킷 판독 수단(162)은 판독 패킷(114)으로부터 오브젝트수(i)를 판독한다.
단계(S505)에서, 오브젝트 결정 수단(116)은 인덱스 레지스터(i)의 값이 레지스터(R)의 값과 똑같은지의 여부를 결정함으로서 현재 오브젝트수(i)가 이전 오브젝트수와 똑같은지의 여부를 결정한다.
현재 오브젝트수(i)가 이전 오브젝트수와 다르면, 제어는 테이블 기록 판독 수단(164)이 오브젝트 정보 테이블(110)로부터 i 기록을 판독하는 단계(S506)로 진행된다.
단계(S507)에서, 그림자 평면 렌더링 수단(168)은 발생 그림자 평면(152)에 렌더링되는 폴리곤 그림자에 대한 텍스처 데이터를 기준 그림자 평면(150)에 복사한다.
단계(S508)에서, 이중선형 처리 수단(190)은 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자에 대한 텍스처 데이터에 저역통과 필터링을 실시한다.
단계(S509)에서, 오브젝트 결정 수단(166)은 레지스터(R)에 오브젝트수(i)를 저장한다. 이후에, 렌더링 수단(106)은 인덱스 레지스터(n)의 값을 "+1" 만큼 증가시킨다.
단계(S510)의 처리가 종료된 이후에, 또는 단계(S505)에서 현재 오브젝트수(i)가 이전 오브젝트수와 똑같으면, 제어는 도 28에 도시된 단계(S511)로 진행되어, 텍스처 표현 처리 수단(154)이 정상적인 텍스처 표현 처리를 실행한다. 특별히, 텍스처 표현 처리 수단(154)은 현재 폴리곤의 스크린 좌표 및 텍스처 테이블(180)의 초기 어드레스에 기초하여 셰이딩, 텍스처 맵핑 등과 같은 텍스처 표현 처리를 실행한다.
단계(S512)에서, 폴리곤 그림자 디스플레이 결정 수단(170)은 오브젝트 정보 테이블(110)에서 대응하는 기록에 등록된 광원 처리 속성의 폴리곤 그림자 디스플레이 속성에 기초하여 폴리곤 그림자가 오브젝트상에 디스플레이될 수 있는지의 여부를 결정한다.
폴리곤 그림자가 디스플레이될 수 있으면, 제어는 단계(S513)로 진행되고, 폴리곤 그림자 디스플레이 결정 수단(170)은 오브젝트수(i)가 "0"인지의 여부에 기초하여 폴리곤 그림자가 처음으로 디스플레이되는지의 여부를 결정한다.
처음이 아니면, 제어는 단계(S514)로 진행되고, 그림자 평면 렌더링 수단(168)은 가상 평면(50)의 Z 좌표 및 제n 배경 가상 평면의 Z 좌표에 기초하여, 가상 평면(50)에 투사된 폴리곤 그림자 (기준 그림자 평면(150)에 렌더링된 폴리곤 그림자)가 오브젝트 뒤에 가상적으로 배치된 제n 배경 가상 평면에 투사될 때 형성된 폴리곤 그림자를 배경 그림자 평면(192)에 렌더링한다.
단계(S515)에서, 이중선형 처리 수단(190)은 배경 그림자 평면(192)에 렌더링된 폴리곤 그림자에 저역통과 필터링을 실시하고, 그에 의해 광원(52)으로부터의 거리에 의존해 폴리곤 그림자를 흐려지게 한다.
단계(S516)에서, 텍스처 표현 처리 수단(154)의 텍스처 맵핑 수단(156)은 기준 그림자 평면(150)에 렌더링된 폴리곤 그림자, 배경 그림자 평면(192)에 렌더링된 폴리곤 그림자, 및 폴리곤 정점의 광원 좌표에 기초하여 렌더링하는 것에 따라 보간삽입을 실행하고, 텍스처 맵핑을 통해 폴리곤에 투사된 폴리곤 그림자를 맵핑한다.
이때, 도 29에 도시된 바와 같이, 텍스처 맵핑은 폴리곤 그림자의 형상이 폴리곤(200)의 깊이에 따라 기준 그림자 평면(150)에 렌더링된 폴리곤 그림자(204)의 형상으로부터 제n 배경 그림자 평면(202n)에 렌더링된 폴리곤 그림자(206)의 형상으로 점차 변하고, 폴리곤(200)에서의 그림자 칼라가 폴리곤(200)의 깊이에 따라 기준 그림자 평면(150)에 렌더링된 폴리곤 그림자(204)의 칼라로부터 제n 배경 그림자 평면(202n)에 렌더링된 폴리곤 그림자(206)의 칼라로 점차 변하도록 실행된다.
단계(S513)에서 처음이면, 제어는 단계(S517)로 진행되고, 텍스처 맵핑 수단(156)은 가상 평면(50)에 투사된 폴리곤 좌표를 참고하면서 텍스처 맵핑을 통해 기준 그림자 평면(150)에 렌더링된 폴리곤 그림자를 처리되는 폴리곤에 맵핑한다.
단계(S516)의 처리 이후에, 또는 폴리곤 그림자가 디스플레이될 수 없으면, 제어는 단계(S518)로 진행되고, 그림자 평면 렌더링 수단(168)은 가상 평면(50)에 투사된 현재 폴리곤의 좌표에 기초하여 이전 폴리곤 그림자와 조합하여 현재 폴리곤의 폴리곤 그림자를 발생 그림자 평면(152)에 렌더링하고, 조합된 그림자를 흑색 (R,G,B,α) = (0,0,0,100%)로 칠한다.
단계(S519)에서, 감추어진 표면 제거 처리 수단(172)은 현재 폴리곤의 스크린 좌표에 기초하여 Z-버퍼링에 따라 감추어진 표면 제거를 실행하면서 렌더링 영역(34b)에 현재 폴리곤의 데이터를 기록한다.
단계(S520)에서, 렌더링 수단(106)은 인덱스 레지스터(k)의 값을 "+1" 만큼증가시킨다. 단계(S521)에서, 종료 결정 수단(174)은 모든 패킷(114)에 대한 처리가 종료되었는지의 여부를 결정한다. 모든 패킷(114)에 대한 처리가 종료되지 않았으면, 제어는 다음 패킷(114)에 등록된 폴리곤에 대해 정상적인 텍스처 표현 처리, 폴리곤 그림자의 텍스처 맵핑, 및 감추어진 표면 제거를 실행하는 단계(S503)로 다시 진행된다.
단계(S521)에서 렌더링 리스트(116)에 등록된 모든 패킷(114)에 대한 처리가 종료되었으면, 렌더링 수단(106)의 동작 순차는 종료된다.
단계(S503 - S519)의 처리는 다음의 이점을 제공하도록 반복된다: 광원(52)에 대부분 가깝게 위치하는 오브젝트(Ob1)의 폴리곤에 대해, 초기 데이터(Di)만이 기준 그림자 평면(150)에 기록된다. 초기 데이터(Di)가 투명성을 나타내면, 폴리곤 그림자는 오브젝트(Ob1)의 폴리곤에 렌더링되지 않는다.
광원(52)으로부터 제2 오브젝트인 오브젝트(Ob2)의 폴리곤에는 광원으로부터 제1 오브젝트(Ob1)의 모든 폴리곤 그림자 중 한 폴리곤 그림자가 렌더링되고, 이는 오브젝트(Ob1)의 폴리곤의 투사 좌표로 나타내지는 범위에 주어진다. 제2 오브젝트(Ob2)에 대한 처리가 종료될 때, 제1 오브젝트(Ob1)의 폴리곤 그림자는 제2 오브젝트(Ob2)에 렌더링된다. 이때, 오브젝트(Ob2)에 투사되는 폴리곤 그림자의 칼라는 단계(S516)에서의 렌더링 (삼중선형 처리)에 의해 오브젝트(Ob2)의 깊이에 따라 점차적으로 변화되는 것으로 표현된다.
유사하게, 광원(52)으로부터 제3 오브젝트인 오브젝트(Ob3)에는 제1 오브젝트(Ob1)의 폴리곤 그림자 및 제2 오브젝트(Ob2)의 폴리곤 그림자를 조합한 것이 렌더링된다. 폴리곤 그림자의 칼라는 또한 오브젝트(Ob3)의 깊이에 따라 점차적으로 변화되는 것으로 표현된다.
제3 실시예에 따른 드롭 셰도우잉 처리에서는 상술된 바와 같이, 발생 그림자 평면(152)에 렌더링된 폴리곤 그림자가 한 오브젝트에 표현될 때, 저역통과 필터링이 행해지기 이전의 폴리곤 그림자 및 저역통과 필터링이 행해진 이후의 폴리곤 그림자가 처리되는 오브젝트의 광원 좌표에 의존해 렌더링하는 것에 따라 삽입되어, 그에 의해 폴리곤 그림자의 흐려짐이 제어된다. 그러므로, 폴리곤 그림자는 보다 현실적인 방식으로 용이하게 표현될 수 있다.
이후에는 도 30을 참고로 본 발명의 제4 실시예에 따른 드롭 셰도우잉 처리가 설명된다.
제4 실시예에 따른 드롭 셰도우잉 처리에서는 도 30에 도시된 바와 같이, 불꽃과 같이 확장된 광원(210)이 오브젝트 (Ob1, Ob2, Ob3)에 표현된다. 이러한 표현은 확장 광원(210)을 가상 평면(50)에 미리 투사함으로서 실현된다.
특별히, 확장 광원(210)의 투사 영상(212)은 도 9에 도시된 제1 및 제2 실시예에 따른 렌더링 수단(106) 또는 도 25에 도시된 제3 실시예에 따른 렌더링 수단(106)에 의해 사용되는 초기 데이터(Di)로 미리 설정될 수 있다.
제3 실시예에 따른 드롭 셰도우잉 처리의 렌더링 수단(106)에서는 예를 들어, 그림자 평면 초기화 수단(160)이 도 27에 도시된 단계(S501)에서 기준 그림자 평면(150), 발생 그림자 평면(152), 및 배경 그림자 평면(192)에 초기 데이터(Di)를 렌더링하고, 오브젝트상의 폴리곤 그림자를 흑색으로 칠하여, 단계(S503 -S519)에서 확장된 광원(210)을 광으로 변조시킨다. 폴리곤 그림자 및 확장 광원(210)에는 단계(S515)에서 확장 광원(210)으로부터의 거리에 의존해 저역통과 필터링이 행해진다.
초기 스테이지(P0)에서는 확장 광원(210)의 투사 영상(212)만이 발생 그림자 평면(152)에 렌더링된다. 스테이지(P1)에서 오브젝트(Ob1)의 처리가 종료될 때, 저역통과 필터링이 행해진 확장 광원(210)의 투사 영상(212a) 및 오브젝트(Ob1)의 암영부(214)는 발생 그림자 평면(152)에 렌더링된다. 스테이지(P2)에서 오브젝트(Ob2)의 처리가 종료될 때, 저역통과 필터링이 두 번 행해진 확장 광원(210)의 투사 영상(212b), 저역통과 필터링이 한번 행해진 오브젝트(Ob1)의 그림자(214a), 및 오브젝트(Ob2)의 암영부(216)는 발생 그림자 평면(152)에 렌더링된다.
확장 광원(210)을 광으로 변조하는 것은 보통 정상선의 기울기 및 텍스처 맵핑에 기초하여 광원 계산 이후의 폴리곤 칼라를 기준 그림자 평면(150)에 렌더링된 확장 칼라로 곱하는 것을 의미한다.
제4 실시예에 따른 드롭 셰도우잉 처리에서는 불꽃과 같은 확장 광원(210)의 투사 영상(212)이 그림자 평면 (150, 152, 192)에 대해 초기 데이터(Di)로 미리 설정되고, 확장 광원(210)이 반사되어 그림자가 오브젝트에 드리워지므로, 확장 광원(210)의 투사 영상 및 확장 광원(210)에 의해 만들어진 그림자가 용이하게 표현될 수 있다.
상기 실시예에서, 감추어진 표면 제거는 Z-버퍼링에 의해 실행된다. 그러나, 감추어진 표면 제거는 스크린 좌표 시스템에 기초하여 Z-분류에 의해 실행될 수 있다.
본 발명에 따른 영상 처리 방법, 영상 처리 장치, 기록 매체, 및 프로그램은 다음의 이점을 제공한다:
(1) 복잡한 형상을 갖는 오브젝트에 대한 그림자 또는 복잡한 배치로 배열된 다수의 오브젝트에 대한 그림자들을 용이하게 표현하는 것이 가능하다.
(2) 오브젝트에 대한 그림자의 표현은 선택적으로 실행될 수 있다.
(3) 흐려짐 처리 (blurring) 등과 같은 다양한 효과가 오브젝트에 대해 표현된 그림자에 용이하게 적용될 수 있다.
(4) 그림자에 대한 다양한 효과 중에서, 흐려짐 처리는 보다 현실적인 그림자를 쉽게 표현하도록 쉽게 제어될 수 있다.
(5) 불꽃과 같은 확장 광원의 투사 영상 및 확장 광원에 의해 만들어진 그림자가 쉽게 표현될 수 있다.
비록 본 발명의 특정한 실시예가 도시되어 상세히 설명되었지만, 첨부된 청구항의 범위에서 벗어나지 않고 다양한 변화 및 수정이 이루어질 수 있는 것으로 이해되어야 한다.

Claims (40)

  1. 영상을 처리하는 방법에 있어서:
    3차원 모델링에 의해 발생된 다수의 오브젝트 (Ob1, Ob2)의 배치로부터 적어도 하나의 가상 평면(50)을 확립하는 단계; 및
    뷰포인트 (viewpoint)로서 광원(52)에 의해 상기 가상 평면(50)상에 투사된 상기 오브젝트(Ob1)의 그림자(56)를 상기 오브젝트(Ob1) 보다 상기 광원(52)으로부터 더 멀리 있는 오브젝트(Ob2)상에 표현하는 단계를 포함하는, 영상 처리 방법.
  2. 제 1 항에 있어서,
    상기 오브젝트(Ob1, Ob2)의 광원 처리 속성들내에 상기 그림자(56)가 상기 오브젝트(Ob1, Ob2)상에 표현될지의 여부에 대한 그림자 표현 속성을 정의하는 단계; 및
    상기 그림자 표현 속성에 기초하여 상기 오브젝트(Ob2)상에 그림자(56)를 선택적으로 표현하는 단계를 더 포함하는, 영상 처리 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 가상 평면(50)에 대응하는 텍스처 평면 (texture plane)으로 작용하는 그림자 평면(150)을 확립하는 단계;
    상기 가상 평면(50)상의 투사에 의해 형성된 상기 오브젝트(Ob1)의그림자(56)를 상기 그림자 평면(150)상에 렌더링하는 단계; 및
    상기 그림자 평면(150)상에 렌더링된 상기 그림자(56)를 텍스처 맵핑 (texture mapping)을 통해 상기 다른 오브젝트(Ob2)상에 맵핑하는 단계를 더 포함하는, 영상 처리 방법.
  4. 제 3 항에 있어서,
    텍스처 맵핑을 통해 상기 그림자(56)를 상기 다른 오브젝트(Ob2)상에 맵핑하는 상기 단계는 상기 가상 평면(50)상에 투사된 상기 다른 오브젝트(Ob2)의 좌표들에 기초하여 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)에 상기 그림자(56)를 맵핑하는 단계를 포함하는, 영상 처리 방법.
  5. 제 3 항 또는 제 4 항에 있어서,
    텍스처 맵핑을 통해 상기 그림자(56)를 상기 다른 오브젝트(Ob2)에 맵핑하는 상기 단계는 상기 다른 오브젝트(Ob2)의 각 폴리곤에 대해 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)에 상기 그림자(56)를 맵핑하는 단계를 포함하는, 영상 처리 방법.
  6. 제 3 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 광원(52)을 뷰포인트(viewpoint)로 상기 오브젝트 (Ob1, Ob2)의 좌표를 결정하는 단계;
    상기 광원(52)으로부터 멀어지는 방향으로 연속하여 상기 가상 평면(50)상에 투사된 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하는 단계; 및
    상기 오브젝트 (Ob1, Ob2) 중 하나의 오브젝트상에 텍스처 맵핑이 종료될 때마다 상기 투사 좌표들에 기초하여 상기 오브젝트(Ob1)에 의해 형성된 상기 그림자(56)를 상기 그림자 평면(150)상에 렌더링하는 단계를 더 포함하는, 영상 처리 방법.
  7. 제 6 항에 있어서,
    상기 오브젝트 (Ob1, Ob2)의 각 폴리곤에 대해 상기 오브젝트들 (Ob1, Ob2)의 좌표들 및 상기 가상 평면(50)에 투사된 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하는 단계;
    상기 광원(52)으로부터 멀어지는 방향으로 연속하여 렌더링 리스트(116)내에 상기 결정된 좌표들을 등록하는 단계; 및
    상기 그림자 평면(150)상에 그림자(56)를 렌더링하기 위해 상기 렌더링 리스트(116)로부터 상기 등록된 좌표들을 연속하여 판독하는 단계를 더 포함하는, 영상 처리 방법.
  8. 제 6 항 또는 제 7 항에 있어서,
    적어도 상기 광원(52)으로부터의 거리에 따라 상기 그림자 평면(150)상에 렌더링된 그림자(56)상에 저역통과 필터링을 실시하여, 그에 의해 적어도 상기광원(52)으로부터의 거리에 따라 상기 그림자(56)에 흐려지는 처리 (blur)를 적용하는 단계를 더 포함하는, 영상 처리 방법.
  9. 제 8 항에 있어서,
    저역통과 필터링이 행해지기 이전의 그림자, 저역통과 필터링이 행해진 이후의 그림자, 및 처리될 오브젝트의 광원 좌표에 의존하는 렌더링에 따라, 오브젝트(Ob2)상에 표현될 때 발생 그림자 평면(150)상에 렌더링되는 그림자(56)를 보간삽입 (interpolate)하여, 그에 의해 상기 그림자(56)의 흐려짐(blur)을 제어하는 단계를 더 포함하는, 영상 처리 방법.
  10. 제 6 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 그림자 평면으로서 기준 그림자 평면(150) 및 발생 그림자 평면(152)을 준비하는 단계;
    처리될 상기 오브젝트들이 하나에서 또 다른 것으로 교환(switch)될 때마다, 상기 발생 그림자 평면(152)에 렌더링된 그림자(56)를 상기 기준 그림자 평면(150)에 복사하는 단계; 및
    상기 기준 그림자 평면(150)상의 상기 그림자(56)가 한 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 맵핑될 때마다, 상기 가상 평면(50)상에 투사된 상기 폴리곤 영상(54)을 새로 조합된 그림자(56)로서 상기 발생 그림자 평면(152)상에 렌더링하는 단계를 더 포함하는, 영상 처리 방법.
  11. 제 10 항에 있어서,
    상기 발생 그림자 평면(152)에 상기 렌더링된 그림자(56)가 상기 기준 그림자 평면(150)상에 복사될 때마다, 상기 발생 그림자 평면(152)상에 렌더링된 그림자(56)상에 저역통과 필터링이 실시되는 단계를 더 포함하는, 영상 처리 방법.
  12. 제 11 항에 있어서,
    상기 그림자 평면으로서 상기 기준 그림자 평면(150) 및 상기 발생 그림자 평면(152)에 부가하여, 광원(52)을 뷰포인트로서 처리될 오브젝트 뒤에 배치된 배경 가상 평면에 대응하는 텍스처 평면인 배경 그림자 평면(192)을 준비하는 단계;
    상기 가상 평면(50)상에 투사된 그림자(204)를 상기 배경 가상 평면상에 투사하여 형성된 그림자를 상기 배경 그림자 평면(192)에 렌더링하는 단계; 및
    상기 기준 그림자 평면(150)상에 상기 렌더링된 그림자(204), 상기 배경 그림자 평면(192)상에 렌더링된 그림자(206), 및 상기 오브젝트의 광원 좌표에 기초한 렌더링에 따라 상기 그림자를 보간삽입하면서, 텍스처 맵핑을 통해 처리될 오브젝트상에 표현되는 그림자를 맵핑하는 단계를 더 포함하는, 영상 처리 방법.
  13. 제 3 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 그림자 평면(150)에 대한 초기값으로서 확장된 광원(210)을 확립하는 단계; 및
    상기 확장 광원(210)을 반사하여 그 그림자를 상기 오브젝트에 형성하는 단계를 더 포함하는, 영상 처리 방법.
  14. 영상을 처리하는 장치에 있어서:
    3차원 모델링에 의해 발생된 다수의 오브젝트 (Ob1, Ob2)의 배치로부터 적어도 하나의 가상 평면(50)을 확립하는 제1 수단(102); 및
    뷰포인트로서 광원(52)에 의해 상기 가상 평면(50)상에 투사된 오브젝트(Ob1)의 그림자(56)를 상기 오브젝트(Ob1) 보다 상기 광원(52)으로부터 더 멀리 있는 오브젝트(Ob2)상에 표현하는 제2 수단(104)을 포함하는, 영상 처리 장치.
  15. 제 14 항에 있어서,
    상기 제1 수단(102)은 오브젝트들 (Ob1, Ob2)의 광원 처리 속성내에 상기 그림자(56)가 상기 오브젝트들 (Ob1, Ob2)상에 표현될지의 여부에 대한 그림자 표현 속성을 정의하는 수단을 포함하고, 상기 제2 수단(104)은 상기 그림자 표현 속성에 기초하여 상기 오브젝트(Ob2)상에 상기 그림자(56)를 선택적으로 표현하는 수단을 포함하는, 영상 처리 장치.
  16. 제 14 항 또는 제 15 항에 있어서,
    상기 제2 수단(104)은 상기 가상 평면(50)에 대응하는 텍스처 평면으로 작용하는 그림자 평면(150)을 확립하고, 상기 가상 평면(50)상의 투사에 의해 형성된 상기 오브젝트(Ob1)의 그림자(56)를 상기 그림자 평면(150)상에 렌더링하고, 상기 그림자 평면(150)상에 렌더링된 그림자(56)를 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)상에 맵핑하는 렌더링 수단(106)을 갖는, 영상 처리 장치.
  17. 제 16 항에 있어서,
    상기 렌더링 수단(106)은 상기 가상 평면(50)상에 투사된 상기 다른 오브젝트(Ob2)의 좌표들에 기초하여 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)상에 상기 그림자(56)를 맵핑하는 수단을 포함하는, 영상 처리 장치.
  18. 제 16 항 또는 제 17 항에 있어서,
    상기 렌더링 수단(106)은 상기 다른 오브젝트(Ob2)의 각 폴리곤에 대해 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)상에 상기 그림자(56)를 맵핑하는 수단을 포함하는, 영상 처리 장치.
  19. 제 16 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 제2 수단(104)은 상기 광원(52)을 뷰포인트로 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하고, 상기 광원(52)으로부터 멀어지는 방향으로 연속하여 상기 가상 표면(50)상에 투사된 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하는 좌표 계산 수단(138)을 포함하고, 상기 렌더링 수단(106)은 상기 오브젝트들 (Ob1,Ob2) 중 한 오브젝트상의 텍스처 맵핑이 종료될 때마다 상기 투사 좌표들에 기초하여 오브젝트(Ob1)에 의해 형성된 상기 그림자(56)를 상기 그림자 평면(150)상에 렌더링하는 수단을 포함하는, 영상 처리 장치.
  20. 제 19 항에 있어서,
    상기 제2 수단(104)은 상기 오브젝트들 (Ob1, Ob2)의 각 폴리곤들에 대해 상기 오브젝트들 (Ob1, Ob2)의 좌표들 및 가상 평면들(50)상에 투사된 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하고, 상기 광원(52)으로부터 멀어지는 방향으로 연속하여 렌더링 리스트(116)내에 결정된 좌표들을 등록하는 렌더링 리스트 발생 수단(142)을 포함하고,
    상기 렌더링 수단(106)은 상기 그림자 평면(150)상에 상기 그림자(56)를 렌더링하기 위해 상기 렌더링 리스트(116)로부터 상기 등록된 좌표들을 연속하여 판독하는 수단을 포함하는, 영상 처리 장치.
  21. 제 19 항 또는 제 20 항에 있어서,
    상기 렌더링 수단(106)은 적어도 상기 광원(52)으로부터의 거리에 따라 상기 그림자 평면(150)상에 렌더링된 그림자(56)상에 저역통과 필터링을 실시하여, 그에 의해 적어도 상기 광원(52)으로부터의 거리에 따라 상기 그림자(56)에 흐려지는 처리를 적용하는 수단을 포함하는, 영상 처리 장치.
  22. 제 21 항에 있어서,
    상기 렌더링 수단(106)은 저역통과 필터링이 행해지기 이전의 그림자, 저역통과 필터링이 행해진 이후의 그림자, 및 처리될 오브젝트의 광원 좌표들에 따른 렌더링에 따라, 상기 오브젝트(Ob2)상에 표현될 때, 상기 발생 그림자 평면(150)상에 렌더링되는 그림자(56)를 보간삽입하여, 그에 의해 그림자의 흐려짐을 제어하는 수단을 포함하는, 영상 처리 장치.
  23. 제 19 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 렌더링 수단(106)은 상기 그림자 평면으로서 기준 그림자 평면(150) 및 발생 그림자 평면(152)을 준비하고, 처리될 오브젝트들이 하나에서 또 다른 것으로 교환될 때마다, 상기 발생 그림자 평면에 렌더링된 그림자(56)를 상기 기준 그림자 평면(150)상에 복사하고, 상기 기준 그림자 평면(150)상의 상기 그림자(56)가 한 오브젝트의 각 폴리곤의 텍스처 맵핑을 통해 맵핑될 때마다, 상기 가상 평면(50)상에 투사된 폴리곤의 영상(54)을 새로 조합된 그림자(56)로서 상기 발생 그림자 평면(152)상에 렌더링하는 수단을 포함하는, 영상 처리 장치.
  24. 제 23 항에 있어서,
    상기 렌더링 수단(106)은 상기 발생 그림자 평면(152)상에 렌더링된 그림자(56)가 상기 기준 그림자 평면(150)상에 복사될 때마다, 상기 발생 그림자 평면(152)상에 렌더링된 그림자(56)상에 저역통과 필터링을 실시하는 수단을 포함하는, 영상 처리 장치.
  25. 제 24 항에 있어서,
    상기 렌더링 수단(106)은 상기 그림자 평면으로서 상기 기준 그림자 평면(150) 및 상기 발생 그림자 평면(152)에 부가하여, 광원(52)을 뷰포인트로 처리될 오브젝트 뒤에 배치된 배경 가상 평면에 대응하는 텍스처 평면인 배경 그림자 평면(192)을 준비하고, 상기 가상 평면(50)상에 투사된 그림자(204)를 상기 배경 가상 평면상에 투사하여 형성된 그림자를 상기 배경 그림자 평면(192)상에 렌더링하고, 상기 기준 그림자 평면(150)상에 렌더링된 그림자(204), 상기 배경 그림자 평면(192)에 렌더링된 그림자(206), 및 상기 오브젝트의 광원 좌표들에 기초한 렌더링에 따라 상기 그림자를 보간삽입하면서, 텍스처 맵핑을 통해 처리될 오브젝트상에 표현되는 그림자를 맵핑하는 수단을 포함하는, 영상 처리 장치.
  26. 제 16 항 내지 제 25 항 중 어느 한 항에 있어서,
    상기 렌더링 수단(106)은 상기 그림자 평면(150)에 대한 초기값으로 확장된 광원(210)을 확립하고, 상기 확장 광원(210)을 반사하여 상기 광원의 그림자를 상기 오브젝트상에 형성하는 수단을 포함하는, 영상 처리 장치.
  27. 프로그램을 저장하는 기록 매체에 있어서:
    (a) 3차원 모델링에 의해 발생된 다수의 오브젝트들 (Ob1, Ob2)의 배치로부터 적어도 하나의 가상 평면(50)을 확립하는 단계; 및
    (b) 뷰포인트로서 광원(52)에 의해 상기 가상 평면(50)상에 투사된 상기 오브젝트(Ob1)의 그림자(56)를 상기 오브젝트(Ob1) 보다 상기 광원(52)으로부터 더 멀리 있는 오브젝트(Ob2)상에 표현하는 단계를 포함하는, 기록 매체.
  28. 제 27 항에 있어서,
    상기 단계 (a)는 오브젝트들 (Ob1, Ob2)의 광원 처리 속성들내에 상기 그림자(56)가 오브젝트들 (Ob1, Ob2)상에 표현될지의 여부에 대한 그림자 표현 속성을 정의하는 단계를 포함하고, 상기 단계 (b)는 상기 그림자 표현 속성에 기초하여 오브젝트(Ob2)상에 그림자(56)를 선택적으로 표현하는 단계를 포함하는. 기록 매체.
  29. 제 27 항 또는 제 28 항에 있어서,
    상기 단계 (b)는
    (c) 상기 가상 평면(50)에 대응하는 텍스처 평면으로서 작용하는 그림자 평면(150)을 확립하고, 상기 가상 평면(50)상의 투사에 의해 형성된 상기 오브젝트(Ob1)의 그림자(56)를 상기 그림자 평면(150)상에 렌더링하고, 상기 그림자 평면(150)상에 렌더링된 그림자(56)를 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)상에 맵핑하는 단계를 포함하는, 기록 매체.
  30. 제 29 항에 있어서,
    상기 단계들 (c)은 상기 가상 평면(50)상에 투사된 상기 다른 오브젝트(Ob2)의 좌표들에 기초하여 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)상에 그림자(56)를 맵핑하는 단계를 더 포함하는, 기록 매체.
  31. 제 29 항 또는 제 30 항에 있어서,
    상기 단계들 (c)은 상기 다른 오브젝트(Ob2)의 각 폴리곤에 대해 텍스처 맵핑을 통해 상기 다른 오브젝트(Ob2)상에 그림자(56)를 맵핑하는 단계를 더 포함하는, 기록 매체.
  32. 제 29 항 내지 제 31 항 중 어느 한 항에 있어서,
    상기 단계 (b)는 상기 광원(52)을 뷰포인트로 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하고, 상기 광원(52)으로부터 멀어지는 방향으로 연속하여 상기 가상 평면(50)상에 상기 오브젝트들 (Ob1, Ob2)의 투사 좌표들을 결정하는 단계를 더 포함하고, 상기 단계들 (c)은 상기 오브젝트들 (Ob1, Ob2) 중 한 오브젝트상의 텍스처 맵핑이 종료될 때마다 상기 투사 좌표들에 기초하여 오브젝트(Ob1)에 의해 형성된 그림자(56)를 상기 그림자 평면(150)상에 렌더링하는 단계를 더 포함하는, 기록 매체.
  33. 제 32 항에 있어서,
    상기 단계 (b)는 오브젝트들 (Ob1, Ob2)의 각 폴리곤에 대해 상기 오브젝트들 (Ob1, Ob2)의 좌표들 및 가상 평면(50)상에 투사된 상기 오브젝트들 (Ob1, Ob2)의 좌표들을 결정하고, 상기 광원(52)으로부터 멀어지는 방향으로 연속하여 렌더링 리스트(116)내에 결정된 좌표들을 등록하는 단계를 더 포함하고, 상기 단계들 (c)은 상기 그림자 평면(150)에 상기 그림자(56)를 렌더링하기 위해 상기 렌더링 리스트(116)로부터 등록된 좌표들을 연속하여 판독하는 단계를 더 포함하는, 기록 매체.
  34. 제 32 항 또는 제 33 항에 있어서,
    상기 단계들 (c)은 적어도 상기 광원(52)으로부터의 거리에 따라 상기 그림자 평면(150)상에 렌더링된 그림자(56)상에 저역통과 필터링을 실시하여, 적어도 상기 광원(52)으로부터의 거리에 따라 상기 그림자(56)에 흐려지는 처리를 적용하는 단계를 더 포함하는, 기록 매체.
  35. 제 34 항에 있어서,
    상기 단계들 (c)은 저역통과 필터링이 행해지기 이전의 그림자, 저역통과 필터링이 행해진 이후의 그림자, 및 처리될 오브젝트의 광원 좌표들에 따른 렌더링에 따라, 상기 오브젝트(Ob2)상에 표현될 때 발생 그림자 평면(150)상에 렌더링되는 그림자(56)를 보간삽입하여, 상기 그림자(56)의 흐려짐을 제어하는 단계를 더 포함하는, 기록 매체.
  36. 제 29 항 내지 제 35 항 중 어느 한 항에 있어서,
    상기 단계들 (c)은 상기 그림자 평면으로서 기준 그림자 평면(150) 및 발생 그림자 평면(152)을 준비하고, 처리될 오브젝트들이 하나에서 또 다른 것으로 교환될 때마다, 발생 그림자 평면(152)상에 렌더링된 그림자(56)를 상기 기준 그림자 평면(150)상에 복사하고, 상기 기준 그림자 평면(150)상의 그림자가 한 오브젝트의 각 폴리곤에 대해 텍스처 맵핑을 통해 맵핑될 때마다, 상기 가상 평면(50)상에 투사된 폴리곤의 영상(54)을 새로 조합된 그림자(56)로 상기 발생 그림자 평면(152)상에 렌더링하는 단계를 더 포함하는, 기록 매체.
  37. 제 36 항에 있어서,
    상기 단계들 (c)은 상기 발생 그림자 평면(152)상에 렌더링된 그림자(56)가 상기 기준 그림자 평면(150)상에 복사될 때마다, 상기 발생 그림자 평면(152)상에 렌더링된 그림자(56)상에 저역통과 필터링을 실시하는 단계를 더 포함하는, 기록 매체.
  38. 제 37 항에 있어서,
    상기 단계들 (c)은 상기 그림자 평면으로서 기준 그림자 평면(150) 및 발생 그림자 평면(152)에 부가하여, 광원(52)을 뷰포인트로서 처리될 오브젝트 뒤에 배치된 배경 가상 평면에 대응하는 텍스처 평면인 배경 그림자 평면(192)을 준비하고, 상기 가상 평면(50)상에 투사된 그림자(204)를 상기 배경 가상 평면상에 투사하여 형성된 그림자를 상기 배경 그림자 평면(192)에 렌더링하고, 또한 상기 기준 그림자 평면(150)상에 렌더링된 그림자(204), 상기 배경 그림자 평면(192)상에 렌더링된 그림자(206), 및 상기 오브젝트의 광원 좌표들에 기초한 렌더링에 따라 그림자를 보간삽입하면서, 텍스처 맵핑을 통해 처리될 오브젝트상에 표현되는 그림자를 맵핑하는 단계를 더 포함하는, 기록 매체.
  39. 제 29 항 내지 제 38 항 중 어느 한 항에 있어서,
    상기 단계들 (c)은 상기 그림자 평면(150)을 위한 초기값으로 확장된 광원(210)을 확립하고, 상기 확장 광원(210)을 반사하여 상기 광원의 그림자를 상기 오브젝트상에 형성하는 단계를 더 포함하는, 기록 매체.
  40. 프로그램에 있어서,
    (a) 3차원 모델링에 의해 발생된 다수의 오브젝트들 (Ob1, Ob2)의 배치로부터 적어도 하나의 가상 평면(50)을 확립하는 단계; 및
    (b) 뷰포인트로서 광원(52)에 의해 상기 가상 평면(50)상에 투사된 오브젝트(Ob1)의 그림자(56)를 상기 오브젝트(Ob1) 보다 상기 광원(52)으로부터 더 멀리 있는 오브젝트(Ob2)상에 표현하는 단계를 포함하는, 프로그램.
KR1020017011424A 1999-03-08 2000-02-25 영상을 처리하는 방법 및 장치 KR20010113730A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-1999-00060884 1999-03-08
JP6088499A JP3599268B2 (ja) 1999-03-08 1999-03-08 画像処理方法、画像処理装置及び記録媒体
PCT/JP2000/001119 WO2000054224A1 (en) 1999-03-08 2000-02-25 Method and apparatus for processing images

Publications (1)

Publication Number Publication Date
KR20010113730A true KR20010113730A (ko) 2001-12-28

Family

ID=13155255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017011424A KR20010113730A (ko) 1999-03-08 2000-02-25 영상을 처리하는 방법 및 장치

Country Status (11)

Country Link
US (1) US6677946B1 (ko)
EP (1) EP1159713A1 (ko)
JP (1) JP3599268B2 (ko)
KR (1) KR20010113730A (ko)
CN (1) CN1249632C (ko)
AU (1) AU2693700A (ko)
BR (1) BR0008818A (ko)
CA (1) CA2367152A1 (ko)
RU (1) RU2001124830A (ko)
TW (1) TW459208B (ko)
WO (1) WO2000054224A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100614739B1 (ko) * 2003-12-23 2006-08-22 인스티튜트 포 인포메이션 인더스트리 쌍방향 3차원 공간 광 조명 방법 및 시스템
KR100751397B1 (ko) * 2005-11-22 2007-08-22 엘지전자 주식회사 영상 처리 방법
KR100865583B1 (ko) * 2007-02-21 2008-10-28 충북대학교 산학협력단 컴퓨터 그래픽 시스템에서의 동영상의 반사 효과 처리 방법
US8441477B2 (en) 2008-12-29 2013-05-14 Samsung Electronis Co., Ltd. Apparatus and method of enhancing ray tracing speed
US9786095B2 (en) 2015-02-25 2017-10-10 Samsung Electronics Co., Ltd. Shadow rendering apparatus and control method thereof

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4704615B2 (ja) * 2001-06-25 2011-06-15 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4079410B2 (ja) * 2002-02-15 2008-04-23 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
JP4286556B2 (ja) * 2003-02-24 2009-07-01 株式会社東芝 画像表示装置
CA2455359C (en) * 2004-01-16 2013-01-08 Geotango International Corp. System, computer program and method for 3d object measurement, modeling and mapping from single imagery
US7567248B1 (en) * 2004-04-28 2009-07-28 Mark William R System and method for computing intersections between rays and surfaces
US7277098B2 (en) * 2004-08-23 2007-10-02 Via Technologies, Inc. Apparatus and method of an improved stencil shadow volume operation
US8125486B2 (en) * 2006-02-23 2012-02-28 Los Alamos National Security, Llc Combining multi-layered bitmap files using network specific hardware
US7697542B1 (en) * 2006-03-28 2010-04-13 Marvell International Ltd. Programmable resource scheduler
CN101211464B (zh) * 2006-12-25 2010-05-19 财团法人资讯工业策进会 可预存产生3d影像自我遮蔽阴影所需信息之装置及方法
JP4948218B2 (ja) * 2007-03-22 2012-06-06 キヤノン株式会社 画像処理装置及びその制御方法
JP4612031B2 (ja) * 2007-09-28 2011-01-12 株式会社コナミデジタルエンタテインメント 画像生成装置、画像生成方法、ならびに、プログラム
JP4852555B2 (ja) * 2008-01-11 2012-01-11 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、ならびに、プログラム
JP5192874B2 (ja) * 2008-03-28 2013-05-08 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法及びプログラム
CN101615300B (zh) * 2009-07-02 2011-12-07 北京航空航天大学 一种屏幕空间微结构表面对象环境光遮挡方法
US8830230B2 (en) * 2011-01-31 2014-09-09 Honeywell International Inc. Sensor placement and analysis using a virtual environment
RU2467395C1 (ru) * 2011-07-11 2012-11-20 Российская Федерация, От Имени Которой Выступает Министерство Промышленности И Торговли Российской Федерации Способ создания изображений трехмерных объектов для систем реального времени
WO2013086137A1 (en) 2011-12-06 2013-06-13 1-800 Contacts, Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9235929B2 (en) * 2012-05-23 2016-01-12 Glasses.Com Inc. Systems and methods for efficiently processing virtual 3-D data
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9626789B2 (en) * 2013-05-07 2017-04-18 Advanced Micro Devices, Inc. Implicit texture map parameterization for GPU rendering
US9530243B1 (en) * 2013-09-24 2016-12-27 Amazon Technologies, Inc. Generating virtual shadows for displayable elements
CA3045133C (en) * 2019-06-03 2023-03-21 Eidos Interactive Corp. Systems and methods for augmented reality applications
CN111862295B (zh) * 2020-07-17 2024-07-02 完美世界(重庆)互动科技有限公司 一种虚拟对象的展示方法、装置、设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0727581B2 (ja) * 1988-09-09 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 図形処理装置
US5537638A (en) * 1991-10-25 1996-07-16 Hitachi, Ltd. Method and system for image mapping
JPH0778267A (ja) * 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
GB2336983B (en) * 1995-01-31 2000-01-19 Videologic Ltd Improvements relating to computer 3D rendering systems
AU731641B2 (en) * 1996-06-25 2001-04-05 Mental Images Gmbh & Co. Kg System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
US5870098A (en) * 1997-02-26 1999-02-09 Evans & Sutherland Computer Corporation Method for rendering shadows on a graphical display
JP2976963B2 (ja) * 1998-03-19 1999-11-10 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100614739B1 (ko) * 2003-12-23 2006-08-22 인스티튜트 포 인포메이션 인더스트리 쌍방향 3차원 공간 광 조명 방법 및 시스템
KR100751397B1 (ko) * 2005-11-22 2007-08-22 엘지전자 주식회사 영상 처리 방법
KR100865583B1 (ko) * 2007-02-21 2008-10-28 충북대학교 산학협력단 컴퓨터 그래픽 시스템에서의 동영상의 반사 효과 처리 방법
US8441477B2 (en) 2008-12-29 2013-05-14 Samsung Electronis Co., Ltd. Apparatus and method of enhancing ray tracing speed
US9786095B2 (en) 2015-02-25 2017-10-10 Samsung Electronics Co., Ltd. Shadow rendering apparatus and control method thereof

Also Published As

Publication number Publication date
TW459208B (en) 2001-10-11
JP3599268B2 (ja) 2004-12-08
CA2367152A1 (en) 2000-09-14
CN1343343A (zh) 2002-04-03
CN1249632C (zh) 2006-04-05
US6677946B1 (en) 2004-01-13
RU2001124830A (ru) 2003-07-20
WO2000054224A1 (en) 2000-09-14
AU2693700A (en) 2000-09-28
EP1159713A1 (en) 2001-12-05
JP2000259853A (ja) 2000-09-22
BR0008818A (pt) 2002-01-15

Similar Documents

Publication Publication Date Title
KR20010113730A (ko) 영상을 처리하는 방법 및 장치
JP3725524B2 (ja) コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ
Stamminger et al. Perspective shadow maps
Klein et al. Non-photorealistic virtual environments
McReynolds et al. Advanced graphics programming techniques using OpenGL
US6320583B1 (en) Methods and apparatuses for controlling transformation of two and three-dimensional images
US7411592B1 (en) Graphical processing of object perimeter information
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
US7230624B2 (en) Method and apparatus for modeling and real-time rendering of surface detail
WO1995022122A1 (en) Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-d graphics
US6078333A (en) Images and apparatus for carrying out the method
US6791544B1 (en) Shadow rendering system and method
US6784882B1 (en) Methods and apparatus for rendering an image including portions seen through one or more objects of the image
US7184051B1 (en) Method of and apparatus for rendering an image simulating fluid motion, with recording medium and program therefor
US7133052B1 (en) Morph map based simulated real-time rendering
JP2006517705A (ja) コンピュータグラフィックスシステム及びコンピュータグラフィクイメージのレンダリング方法
Eicke et al. Stable dynamic webshadows in the X3DOM framework
KR100295709B1 (ko) 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템
EP0791208A1 (en) Graphic image rendering
Meyer et al. Real-time reflection on moving vehicles in urban environments
Blythe et al. Lighting and shading techniques for interactive applications
MXPA01008800A (en) Method and apparatus for processing images
Shreiner et al. An interactive introduction to opengl programming
JP3733493B2 (ja) 画像合成回路
CN117292032A (zh) 序列帧的生成方法、装置及电子设备

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid