KR20000023605A - 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템 - Google Patents

스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템 Download PDF

Info

Publication number
KR20000023605A
KR20000023605A KR1019997000052A KR19997000052A KR20000023605A KR 20000023605 A KR20000023605 A KR 20000023605A KR 1019997000052 A KR1019997000052 A KR 1019997000052A KR 19997000052 A KR19997000052 A KR 19997000052A KR 20000023605 A KR20000023605 A KR 20000023605A
Authority
KR
South Korea
Prior art keywords
characteristic
light source
spotlight
polygon
light
Prior art date
Application number
KR1019997000052A
Other languages
English (en)
Other versions
KR100295709B1 (ko
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 KR20000023605A publication Critical patent/KR20000023605A/ko
Application granted granted Critical
Publication of KR100295709B1 publication Critical patent/KR100295709B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Abstract

화상 처리 시스템에 의해 표시되는 폴리곤 화상에 조명 효과를 주는 스폿라이트 특성 형성을 테이블을 이용하여 형성하고, 동시에 사용할 수 있는 광원수 이상으로 화상 장면 중에 사용할 수 있는 광원수를 늘린다. 이것을 실현하기 위해 폴리곤을 구성하는 픽셀에 부여되는 스폿라이트 효과의 특성을 형성하는 방법에서는, 소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 테이블에 저장하고, 이 테이블로부터 판독되는 특성치와, 인접하는 특성치 간을 보간하여 구한 보간치에 의해 상기 스폿라이트 특성 곡선을 형성한다. 또한, 스폿의 광축 벡터와 픽셀로 향하는 라이트 벡터와의 내적을 구하고, 상기 구해진 내적의 값을 어드레스로 사용하여, 상기 테이블의 해당하는 어드레스로부터 특성치를 판독하도록 구성한다. 또한, 화상 처리 시스템이 동시에 사용할 수 있는 광원수 이상의 광원의 데이타를 저장하는 버퍼, 폴리곤 각각에 영향을 주는 광원수 만큼의 광원 식별 기호를 붙이는 수단, 광원 식별 기호에 따라 버퍼로부터 광원 정보를 판독하는 수단, 및 광원 정보에 따라서 셰이딩을 행하는 수단을 구비한다.

Description

스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템{SPOTLIGHT CHARACTERISTIC FORMING METHOD AND IMAGE PROCESSOR USING THE SAME}
[발명이 속하는 기술 분야]
본 발명은 컴퓨터 그래픽 기술에 의해 화상 표시되는 오브젝트에 스폿라이트 효과를 주기위한 스폿라이트 특성을 형성하는 방법 및 이 방법을 이용한 화상 처리 시스템에 관한 것이다.
[종래의 기술]
최근, 컴퓨터 그래픽 기술을 이용하여 가상 3차원 공간 내에 배치된 오브젝트를 복수의 폴리곤으로 화상 표시하는 화상 처리 시스템이 보급되고 있다. 또한, 표시되는 오브젝트를 보다 실제에 가깝게 하도록 하는 연구 개발이 진행되고 있다.
이러한 컴퓨터 그래픽 기술의 하나의 특징은 표시되는 오브젝트의 표면에 광의 조명 효과를 주는 셰이딩 처리 기술이다. 오브젝트에 스폿라이트를 비추는 특수 효과를 주는 것은 이러한 셰이딩 처리에 포함되어 있는 하나의 방법이다.
종래의 스폿라이트 특성을 주는 기술로서, 실리콘 그래픽스사에 의해 개발된 Open GL(상표)의 방법이 있다. 도 1에 도시한 바와 같이, 스폿 광원 O로부터 소정의 점 P 방향으로의 광의 벡터 L 및 스폿 광원 O로부터 오브젝트로 향하는 광원의 축 벡터 D를 고려할 때, Open GL(상표)의 방법은 스폿라이트의 특성을 "spotexp" 및 "cutoff"와 같은 파라메터를 지정하여 다음 수학식1을 이용하여 산출하는 것이다. 이 때의 스폿라이트의 효과 특성이 도 2에 도시되어 있다.
도 2에 도시한 바와 같이, "spotexp"를 큰 값으로 하면, 스폿은 좁은 형상(narrowed shape)이 된다. 그러나, 실제로 사용할 때는 스폿의 특성은 스폿의 확장각으로 생각하는 경우가 대부분이다. 따라서, 지정된 스폿의 확장 각도로 스폿 효과 "spotEffect"가 일정치 이하가 되는 "spotexp"의 값을 역산하여 구해야 하지만, 이러한 역산 처리는 그리 간단하지 않다.
또한, 가령 역산에 의해 "spotexp"의 값이 구해진다고 해도, 도 2에 도시한 바와 같이 "spotexp"의 값에 의해 스폿 특성 곡선의 형상이 변하게 된다. 이 때문에, 실제로 작성된 화상을 볼 때 관찰자의 감각과는 다르게 될 우려가 있다.
또한, "spotexp"의 값에 의해 스폿 특성 곡선의 형상이 일의적으로 정해지게 되므로, 스폿의 확장과 강도 분포를 독립하여 지정할 수는 없다. 그 결과, 서치라이트와 같이 스폿의 확장이 좁고 또한 강도 분포가 일정한 특성을 얻을 수 없으며 선명하지 못한 스폿광이 되어 버린다.
한편, "cutoff" 파라메터는 어느 각도를 경계로 이것을 초과하면 "spotEffect"의 값을 0으로 간주한다. 따라서 "spotexp"와 달리 각도를 특정하는 파라메터가 제어하기 쉽다. 그러나, 강도 분포가 불연속이 되므로 스폿의 엣지가 첨예(sharp)하고 강도 분포가 일정한 스폿 특성밖에는 얻을 수 없다는 결점을 갖는다.
즉, "cutoff"는 어느 각도 이상 이면 스폿 조명 효과가 제로가 되는 광의 확장의 한계치이다. "cutoff"를 설정하면, 이 한계 영역이 두드러 지게 된다는 문제가 있다.
한편, 마이크로소프트사에 의해 개발된 softimage를 포함하는 방법으로서 도 3에 도시한 바와 같이 스폿의 페이드 스타트 각도(fade-start angle) (cone angle)과 페이드 엔드 각도(fade-end angle)(spread angle)를 지정하는 방법이 있다.
이 방법으로는 다음 수학식2에 의해 스폿 특성이 얻어진다. 이 제2 방법의 경우, 특성이 각도로 지정되므로 제어하기 쉽고, 연산이 간단해지는 특징이 있다.
그러나, 도 4에 도시된 바와 같이 스폿 특성에 있어서 특성치의 변화가 직선적이며, Open GL(상표)과 같은 정규 곡선에 닮은 스폿 특성을 얻을 수는 없다.
따라서, 도 3에 도시한 바와 같이 페이드 스타트 각도(cone-angle)의 위치에서 부자연스로운 엣지 강조가 생긴다는 문제가 있다. 여기서, 엣지 강조란 경계 영역에 인접하는 영역에서 밝기의 변화가 연속적이지 못하면, 경계의 밝기가 강조되는 시각 효과를 의미한다.
여기서, 종래의 화상 처리 시스템의 일예인 블럭도를 도 5에 도시한다. 도 5에 있어서, CPU(1)는 폴리곤을 사용한 화상을 처리하기 위한 프로그램의 실행을 제어하기 위한 것이다. CPU(1)는 폴리곤 버퍼(11)로부터 폴리곤 데이타를 판독하여 좌표 변환부(2)에 출력한다.
좌표 변환부(2)는 폴리곤의 3차원 데이타를 CRT 디스플레이 모니터(7) 상에 표시하기 위해 2차원 좌표로 변환한다. 2차원 좌표로 좌표 변환된 폴리곤 데이타는 필인(fill-in) 회로(30) 및 텍스쳐 생성 회로(3)로 보내진다.
필인 회로(30)는 폴리곤의 각 정점에 의해서 둘러싸인 범위에 있는 픽셀 상의 정보를 계산한다. 상기 필인하기 위한 계산은 폴리곤의 각 정점 간에 있는 픽셀 상의 정보를 대응하는 2개의 정점의 정보를 기초로, 예를 들면 선형 보간을 행하는 것이다. 텍스쳐 생성 회로(31)는 픽셀에 대응한 텍스쳐를 내부에 있는 텍스쳐 버퍼로부터 판독하고, 픽셀마다 컬러를 계산하여 구하는 회로이다. 텍스쳐 생성 회로(31)의 출력은 픽셀 데이타로서 셰이딩 회로(32)에 주어진다.
셰이딩 회로(32)는 픽셀 데이타에 기초해서 각 픽셀에 주어진 예를 들면, 상기한 스폿라이트에 의한 조명 효과를 결정하기 위한 회로이며, 셰이딩 회로(32)의 출력은 색변조 회로(12) 및 혼합 회로(33)로 보내진다. 색변조 회로(12)는 셰이딩 회로(32)에 의해서 결정된 결과 등에 기초해서 각 픽셀을 컬러 변조하는 회로이다. 혼합 회로(33)는 폴리곤 픽셀 컬러 정보를 먼저 작성된 컬러 정보와 혼합하고, 이들 프레임 데이타를 프레임 버퍼(5)에 기록한다. 이 프레임 버퍼(5)의 정보는 CRT 디스크 플레이 모니터(7)에 표시된다.
이어서, 상기한 바와 같은 구성의 화상 처리 시스템의 셰이딩 회로(32)에서, 종래 실시된 광원 특성 형상 방법을 설명한다. 도 5에 도시한 종래예에서는 셰이딩 회로(32) 중에 예를 들면, 4개의 광원 레지스터(329)와 이에 대응하는 도시하지 않은 4개의 광원 연산기가 있으며 4개의 광원의 정보를 한번에 처리할 수 있는 경우이다.
예를 들면, 1 화상 장면에 광원 a, b, c, d를 사용하는 경우는 미리 광원a, b, c, d의 정보를 광원 레지스터 A, B, C, D에 기억시켜 둔다. 셰이딩 회로(32)는 광원 레지스터(329)에 기억된 광원 a, b, c, d의 정보에 기초해서 각 픽셀이 광원 a, b, c, d에 의해 어떤 영향을 받는지를 계산한다.
광원 정보에는 예를 들면, 도 1 혹은 도 3에 의해 설명한 바와 같이 스폿축의 방향 벡터(Dx, Dy, Dz), 컷오프각(Cutoff), 페이드 폭의 정규화 계수(Penumbra-scale) 등이 있으며, 셰이딩 회로(6)는 이들의 광원 데이타에 의해 셰이딩 계산을 행하며, 그 결과를 서로 더해서 각 픽셀에 대한 4개의 광원으로부터의 영향을 계산한다.
이와 같이, 종래의 기술에서는 1화상 장면에서 사용할 수 있는 광원수에 대응하는 개수분만큼 광원 레지스터(329) 및 광원 연산기를 갖고 있으며, 일반적으로 1화상 장면 중의 광원의 개수는 광원 레지스터(329) 및 광원 연산기의 개수와 동일하였다. 따라서, 1화상 장면 중에 예를 들면 100개의 광원을 사용하는 경우는 광원 레지스터(329) 및 광원 연산기를 각각 100개 갖으며 100개의 광원으로부터의 셰이딩 계산을 행하고, 그 결과를 서로 더해서 각 픽셀의 100개의 광원으로부터의 영향을 계산하게 되어 하드웨어의 규모가 실제적이지 못했다.
한편, 시스템이 스테이트 머신형이면 축차적으로 광원 파라메터를 재기록함으로써, 외관상의 광원수를 늘리는 것은 가능하지만 관리하기 어렵다. 또한, Z-sort 등을 포함하는 시스템에서는 폴리곤의 작성 순서가 저장되지 못하므로 외관 상의 광원수를 늘릴 수 없다.
[발명의 개요]
상기한 바와 같이 종래 제안되어 있는 스폿라이트의 효과를 주는 방법에는 문제가 있다. 따라서, 본 발명의 목적은 이러한 문제를 해결하는 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템을 제공하는 것에 있다.
또한, 본 발명의 목적은 종래의 방법에서 복잡한 연산을 연산기에 의한 계산 처리에 의해 실현하고 있던 것을 테이블에 의해 실현하는 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템을 제공하는 것에 있다,
또한, 상기한 바와 같은 종래의 화상 처리 시스템에 있어서는, 1화상 장면 에 다수의 광원을 사용하는 경우에 각 픽셀의 셰이딩 계산을 그 광원수만큼 행하고, 그 결과를 서로 더해야만 했었다. 또한, 1화상 장면에서 사용하는 광원수 만큼의 광원 레지스터 및 광원 연산기를 갖고 있어서 하드웨어량이 방대하였다.
그러나, 실제로 게임 스토리의 1개의 장면 중에서 1개의 폴리곤이 광원의 영향을 강하게 받는 것은 그 폴리곤에 가까운 위치에 있는 광원이나 빛이 강한 광원에 한정된다. 예를 들면, 화상 장면 중에 100개의 광원이 있다고 해도 1개의 폴리곤이 강하게 영향을 받는 것은 그 폴리곤 가까이에 있는 4개나 5개의 광원에 한정된다. 이 경우, 화상 장면 중에 있는 모든 광원의 영향을 계산할 필요 없이 강하게 영향을 받는 광원에 대해서만 셰이딩 계산을 행하면 되는 경우도 많다.
따라서, 본 발명의 목적은 셰이딩 회로에서 처리할 수 있는 광원수를 그대로유지하면서, 1화상 장면 중에 사용할 수 있는 광원수를 늘리는 것을 가능하게 하는 화상 처리 방법 및 화상 처리 시스템을 제공하는 것에 있다.
상술한 본 발명의 목적을 달성하는 스폿라이트 특성 형성 방법 및 이 방법을 사용하는 화상 처리 시스템은 기본적 구성으로서 소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 테이블에 저장하고, 이 테이블로부터 판독되는 특성치 혹은 테이블로부터 판독되는 서로 인접하는 특성치 간을 보간하여 구한 보간치에 의해 해당 스폿라이트 특성 곡선을 형성하는 것을 특징으로 한다.
본 발명에서는 스폿라이트 특성 곡선에 대응하는 복수의 특성치가 미리 테이블에 저장되어 있다. 또한, 테이블로부터 판독되는 특성치 혹은 테이블로부터 판독되는 서로 인접하는 특성치 간을 보간하여 구한 것을 보간치를 이용하는 구성이다. 따라서, 복수의 특성치를 스폿라이트 특성 곡선에 대응시킬 수 있으므로 임의의 스폿라이트 특성을 형성할 수 있다.
또한, 미리 테이블에 저장되어 있는 특성치를 사용하므로 복잡한 계산을 필요로 하지 않는다.
구체적 구성으로서, 스폿라이트의 광축 벡터와 광원으로부터 각 픽셀로 향하거나 혹은 각 픽셀로부터 광원으로 향하는 라이트 벡터와의 내적에 따른 테이블의 어드레스로부터 특성치를 판독하도록 하고 있다.
또한, 스폿라이트의 광축 벡터와 이 스폿라이트의 광축 벡터에 수직인 적어도 두개의 축을 정의하고, 스폿라이트의 광축 벡터와 이에 수직인 적어도 두개의 축에 따라서 각각 정의되는 적어도 두개의 평면과, 광원으로부터 각 픽셀로 향하거나 혹은 각 픽셀로부터 광원으로 향하는 라이트 벡터 중 적어도 두개의 평면에 대한 정사영과 이루는 각도에 대응하여 테이블로부터 특성치를 판독하고, 이 판독된 특성치 혹은 이 테이블로부터 판독된 서로 인접하는 특성치 간의 보간치에 의해 스폿라이트 특성 곡선을 형성하는 구성으로 함으로써, 비원형의 스폿 효과를 주는 것이 가능하다.
또한, 본 발명에 따르면 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주는 화상 처리 시스템은 복수의 광원의 정보를 저장하는 메모리와, 하나의 폴리곤에 대해서 소정수의 광원의 정보에 의해 셰이딩을 행하는 수단과, 소정수의 광원의 정보를 폴리곤에 대응하여 메모리로부터 판독하고 셰이딩을 행하는 수단에 공급하는 수단을 포함하므로써 달성할 수 있다.
따라서, 각 폴리곤이 광원으로부터 어떠한 영향을 받는지를 계산하는 경우에 화상 장면에 있는 모든 광원으로부터의 영향을 계산할 필요는 없고, 각 폴리곤에 붙여진 광원 식별 기호로 특정되는 소정수의 광원의 정보만을 판독하고, 그 광원에 대해서만 셰이딩 처리를 하면 외관상 동시에 사용할 수 있는 광원수 이상의 광원을 화상 장면 중에 사용할 수 있다.
또한, 상기한 목적은 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주는 화상 처리 시스템에 있어서 복수의 광원의 정보의 그룹을 복수 저장하는 메모리와, 하나의 폴리곤에 대해 복수의 광원의 정보의 그룹에 의해 셰이딩을 행하는 수단과, 복수의 광원의 정보의 그룹을 폴리곤에 대응하여 메모리로부터 판독하고, 셰이딩을 행하는 수단에 공급하는 수단을 포함하므로써 달성할 수 있다.
따라서, 화상 처리 시스템이 동시에 사용할 수 있는 광원수가 여러개인 경우, 그 여러개의 광원 정보를 한 그룹으로서 버퍼에 복수 저장하고, 각 폴리곤에 붙여진 광원 식별 기호는 버퍼로부터 그룹으로서 광원 정보를 판독할 수 있다. 이 때문에, 폴리곤마다 광원 정보를 선택하는 처리를 생략할 수 있으며 처리 속도의 향상을 꾀할 수 있다.
또한, 상기한 목적은 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주는 화상 처리 방법에 있어서 화상 장면에서 사용하는 광원의 정보를 메모리에 기록하는 단계, 각 폴리곤마다 영향을 주는 광원에 식별 기호를 붙이는 단계, 폴리곤의 데이타에 대해서 좌표 변환을 행하는 단계, 폴리곤의 픽셀마다 식별 기호를 기록하는 단계, 픽셀의 데이타를 기초로 텍스쳐를 생성하는 단계, 식별 기호에 대응하는 광원의 정보를 메모리로부터 판독하는 단계, 픽셀에 셰이딩을 행하는 단계, 픽셀의 데이타를 프레임 버퍼에 기록하는 단계로 이루어지는 것을 특징으로 하는 화상 처리 방법에 의해서도 달성할 수 있다.
따라서, 폴리곤 내의 각 픽셀은 광원 식별 기호로 특정되는 광원에 대해서만 그 영향을 계산하면 되기 때문에, 셰이딩 처리 속도의 향상을 꾀할 수 있다.
또한, 본 발명에 따르면, 광원의 그룹을 구성하는 광원은 각 폴리곤에 대해서 적어도 일부 중복하여 사용할 수 있다. 따라서, 광원을 일부 중복하여 사용함으로써 동시으로 사용할 수 있는 광원수를 그대로 유지하고, 그 광원수 이상의 광원을 장면 중에 사용할 수 있다.
본 발명의 또 다른 목적 및 특징은 이하의 도면을 참조한 실시 형태의 설명으로부터 명확해 질것이다.
도 1은 open GL의 방법의 설명도.
도 2는 open GL의 방법에 의한 스폿 특성을 나타낸 도면.
도 3은 스폿의 페이드 스타트 각도(cone angle)와 페이드 스톱 각도(spread angle)를 지정하는 방법의 설명도.
도 4는 도 3의 방법에 의한 스폿 특성을 나타낸 도면.
도 5는 종래의 화상 처리 시스템의 구성예의 블럭도.
도 6은 본 발명의 스폿라이트 특성 형성 방법을 사용한 화상 처리 시스템의 구성예의 블럭도.
도 7은 본 발명을 사용하는 셰이딩 회로의 실시예 구성의 블럭도.
도 8은 셰이딩 회로에 사용되는 스폿 특성 생성 회로의 본 발명에 따른 구성예의 블럭도.
도 9는 도 8의 회로의 특징을 명확하게 하기 위해 비교되는 종래 구성예.
도 10은 어드레스 제너레이터의 구성예를 나타낸 블럭도.
도 11은 축 벡터를 갖는 스폿 광원에 의한 조명 효과의 설명도.
도 12는 축 벡터를 갖는 스폿 광원에 의한 일예의 스폿 효과 특성의 설명도.
도 13은 본 발명의 다른 실시 형태의 설명도.
도 14는 본 발명의 화상 처리 시스템의 제1 구성예의 블럭도.
도 15는 본 발명의 화상 처리 시스템의 제2 구성예의 블럭도.
도 16은 본 발명의 화상 처리 시스템의 제3 구성예의 블럭도.
도 17은 도 16의 구성예에서의 광원 버퍼의 내용을 나타낸 도면.
도 18은 본 발명을 사용하는 셰이딩 회로의 실시예 구성의 블럭도.
도 19는 스폿 특성 생성 회로와 광원 레지스터의 본 발명에 따른 구성예의 블럭도.
도 20은 본 발명에 따라 복수의 가로등(street lamps)에 의해서 스트리트를 조명한 화상 장면을 나타낸 도면.
도 21은 본 발명의 특징에 대한 처리 플로우차트.
이하, 본 발명의 실시 형태를 도면을 참조하여 설명한다. 또한, 도면에서 동일 또는 유사한 부분에는 동일한 참조 번호 또는 참조 기호를 붙여서 설명한다.
도 6은 본 발명의 스폿라이트 특성 형성 방법이 적용되는 화상 처리 시스템의 구성예의 블럭도이다.
도 6에서 CPU(1)는 폴리곤을 사용한 화상을 처리하기 위한 프로그램의 실행을 제어하기 위한 것이다. CPU(1)는 프로그램의 진행에 따라 디스플레이 모니터(12) 상에 표시되는 폴리곤의 정점 데이타나 레지스터 셋트 기능을 폴리곤 버퍼(11)에 일시적으로 기억시킨다.
이 폴리곤 버퍼(11)로부터 판독되는 데이타는 기하학 처리부(2)에 입력된다. 기하학 처리부(2)는 입력된 데이타를 CPU(1)의 프로그램의 실행에 따라서 3차원 공간 내에 배치되는 폴리곤을 디스플레이 모니터(7) 상에 표시하기 위해서 2차원 좌표계로 변환한다.
또한, 표시되는 각 폴리곤에 대해서 착색, 셰이딩, 텍스쳐의 부가를 행하는 렌더링 처리부(3)가 접속되어 있다. 렌더링 처리부(3)의 출력측에는 프레임 버퍼(5)가 접속되며 표시될 한 화면분의 데이타가 저장된다.
프레임 버퍼(5)에는 D/A 변환 회로(6)를 통해서 CRT 등의 디스플레이 모니터(7)가 접속되며 프레임 버퍼(5)의 내용이 순차 표시된다.
여기서, 상술한 기하학 처리부(3)는 폴리곤 버퍼 메모리(11) 등 CPU(1)에 의한 프로그램의 진행 및 처리 속도에 대응하여 폴리곤 버퍼 메모리(11)로부터 폴리곤의 정점 데이타(정점 좌표, 정점 컬러, 텍스쳐 맵 좌표, 정점 투명도 및 정점의 법선 벡터 등을 갖는다)나 레지스터 셋트 기능을 판독한다.
기하학 처리부(2)는 정점 좌표 데이타에 기초하여 3차원 공간에 폴리곤을 배치하고, 3차원 공간의 어느 영역까지 표시 대상으로 할지의 뷰포트(viewport)의 결정 등을 행한다. 또한, 기하학 처리부(2)는 뷰포트이외의 폴리곤의 정점 제거 즉, 클립핑을 행한다. 또한, 기하학 처리부(2)는 뷰포트에 배치된 폴리곤을 소정의 시점을 기준으로 2차원 평면에 투영하여 3차원에서 2차원으로의 좌표 변환을 행한다.
2차원 좌표로 좌표 변환된 폴리곤 데이타는 렌더링 처리부(3)로 보내진다. 렌더링 처리부(3)는 필인(fill-in) 회로(30), 텍스쳐 부가 회로(31), 셰이딩 회로(32), 및 혼합 회로(33)를 갖고 있다.
필인 회로(30)는 폴리곤의 각 정점으로 둘러싸인 범위에 있는 픽셀의 정보를 계산하고, 이 정보를 다른 렌더링 처리부(3) 내의 다른 회로에 전달하는 기능을 갖는다. 상기 필인하기 위한 계산은 폴리곤의 각 정점 간에 있는 정점 정보에 대응하는 2개의 정점의 정보를 기초로, 예를 들면 선형 보간을 행하는 것이다.
텍스쳐 부가 회로(31)는 픽셀에 대응한 텍스쳐를 텍스쳐 버퍼(4)로부터 판독하고, 픽셀마다 컬러를 계산하는 회로이다. 셰이딩 회로(32)는 폴리곤의 정점 데이타에 기초하여 폴리곤에 조명 효과를 주는 회로이며, 이러한 회로에 의해서 본 발명에 따른 스폿라이트 특성 형성의 방법이 실현된다. 따라서, 셰이딩 회로(32)의 상세 및 기능에 대해서는 뒤에 설명한다.
셰이딩 회로(32)의 출력은 혼합 회로(33)로 보내진다. 혼합 회로(33)는 필요에 따라 프레임 버퍼(11)로부터 판독된 먼저 작성된 폴리곤에 대한 픽셀의 컬러 정보와, 새롭게 처리할 폴리곤의 픽셀의 컬러 정보를 혼합하고, 프레임 버퍼(5)에 그 결과를 기록한다. 이 프레임 버퍼(5)의 정보가 1화면분씩 D/A 변환 회로(6)를 통해서 디스플레이 모니터(7)로 보내져서 표시된다.
여기서, 도 6에는 도시 생략되어 있지만 렌더링 처리부(3) 내에는 깊이 테스트 기능부가 구비된다. 이 깊이 테스트 기능부는 복수의 폴리곤의 전후 관계를 비교하여 가장 앞에 배치된 폴리곤의 데이타를 도시하지 않은 깊이 버퍼에 기억시키는 기능이다.
즉, 깊이 버퍼에는 먼저 작성된 도형(폴리곤)의 픽셀의 Z축이 기억되어 있다. 그리고, 화면상에 먼저 작성된 폴리곤과 중복되는 위치에 새롭게 폴리곤을 표시해야 하는 경우, 새로운 폴리곤을 구성하는 각 픽셀의 Z축과, 깊이 버퍼로부터 판독되는 먼저 작성된 폴리곤의 픽셀의 Z축이 비교된다. 비교의 결과, 새로운 폴리곤의 픽셀이 바로 전의 것인 경우는 깊이 버퍼에 해당 픽셀의 Z축이 기록된다.
다음에, 상기한 바와 같은 구성의 화상 처리 시스템의 셰이딩부(32)에서 실시되는 본 발명을 적용하는 스폿라이트 특성 형성 방법 및 셰이딩 회로의 실시예의 구성을 설명한다.
도 7은 본 발명을 적용하는 셰이딩 회로(32)의 실시예 구성의 블럭도이다.
좌표 변환 회로(320)는 입력되는 2차원 좌표 폴리곤 데이타를 3차원 좌표 폴리곤 데이타로 변환하는 회로이다. 좌표 변환 회로(320)에 의해 3차원 좌표로 변환된 각 픽셀의 데이타는 분할되며, 한쪽은 라이트 벡터 회로(321), 다른쪽은 반사벡터 회로(327)에 입력된다.
라이트 벡터 회로(321)는 가상 3차원 공간 중의 스폿 광원의 위치와 픽셀의 3차원 좌표에 기초하여, 스폿 광원으로부터 해당 픽셀로 향하는 라이트 벡터를 구한다. 또한, 광원과 해당 픽셀 간의 거리 데이타를 구한다.
구해진 라이트 벡터는 스폿 특성 생성 회로(322)에 입력된다. 또한, 구해진 광원과 해당 픽셀 간의 거리 데이타는 감쇠 처리 회로(323)에 입력된다.
스폿 특성 생성 회로(322)의 본 발명에 따른 구성예에 대해서는 후에 설명하지만, 이 회로에서는 도 11에 도시한 바와 같이, 축 벡터(70)을 갖는 스폿 광원 O에 의한 도 12에 일례로서 도시하는 스폿 효과 특성이 구해진다.
스폿 특성 생성 회로(322)에서는 각 픽셀마다 입력되는 라이트 벡터와 스폿 광원의 축 벡터(70)와의 내적(60) 즉, 코사인치가 구해져, 스폿 광원에 의한 픽셀 방향의 광의 강도로서 출력된다.
한편, 감쇠 처리 회로(323)는 스폿 광원 O와 해당 벡터들간의 거리에 의한 빛의 감쇠량을 계산한다. 이어서, 스폿 특성 생성 회로(322)로부터의 스폿 광원에 의한 픽셀 방향의 빛의 강도 및 감쇠 처리 회로(323)로부터의 스폿 광원으로부터 해당 픽셀까지의 거리에 의한 빛의 감쇠량에 기초해서 광 강도 합성 회로(324)로부터 해당 픽셀에 대한 광 강도가 구해진다.
즉, 각 픽셀에 대한 광 강도는 스폿 광원의 축 벡터(70)와, 해당 픽셀의 라이트 벡터가 이루는 각도에 의한 감쇠량 및 스폿 광원으로부터 해당 픽셀 위치까지의 거리에 의한 감쇠량에 의해 구해진다.
이어서, 광 강도 합성 회로(324)에 의해 구해진 각 픽셀에 대한 광 강도에 기초해서, 각 픽셀에 대해서 셰이딩 효과가 주어진다. 셰이딩 효과로서는 확산 반사 효과 및 경면 반사 효과가 있다.
확산 반사 효과는 소위 난반사이며, 물체 표면 중에 들어가 흡수되고 그리고 다시 방사되는 광에 의해서 발생된다. 이 확산 반사광은 어떤 방향으로도 균등하게 방사된다.
그 때문에, 관찰자의 시점과는 관계가 없다. 중요한 것은 광원으로부터 해당 픽셀로 향하는 방향과 해당 픽셀의 표면의 법선 방향이 이루는 각도이며, 이 각도가 π/2보다 커지면 광원은 물체의 음영(shade)이 되며 확산광 반사는 생기지 않는다.
따라서, 광 강도 합성 회로(324)에 의해 구해진 각 픽셀에 대한 광 강도를 입력하고 이것에 확산 회로(325)에서 일정한 확산 반사 계수를 인가하여 확산 반사광의 크기를 구한다.
한편, 경면 반사 효과는 완전 반사면에 있어서, 입사광에 대한 반사광의 각도가 법선에 대해서 동일하게 되는 것과 같은 효과를 주는 것이다. 따라서, 반사광의 각도에 일치하는 각도에 있는 관찰자만이 경면 반사 효과를 관찰할 수 있다. 이 때문에, 반사광의 크기를 구하기 위해서는 관찰자의 시선 벡터가 필요하다.
경면 반사 회로(326)는 광 강도 합성 회로(324)에 의해 구해진 각 픽셀에 대한 광 강도를 입력하고 해당 픽셀에서의 입사각과, 반사 벡터 회로(327)로부터 얻어지는 시선 벡터로부터 반사량을 구하여 출력한다.
또한, 상기 확산 회로(325)로부터의 확산 광량과, 경면 반사 회로(326)로부터의 경면 반사 광량이 변조 회로(328)에서 합성되어 출력된다.
상기한 바와 같이 구성되는 셰이딩 회로에서 사용되는 스폿 특성 회로(322)의 본 발명에 따른 구성예의 블럭도가 도 8에 도시된다. 도 9는 도 8의 회로의 특징을 명확하게 하기 위해서 비교되는 종래 구성예이다.
도 9의 구성에서는 연산기(40)에 의해, 픽셀 데이타와, 계수 데이타로부터 직접 연산에 의해 스폿 특성을 구하는 것이다. 이러한 경우는 먼저 도 1 내지 도 4에 대해서 설명한 바와 같이, 계산이 복잡함과 동시에 임의의 스폿 특성을 형성하는 것이 곤란하다.
이에 대해, 본 발명에서는 이하에 설명한 바와 같이 테이블을 이용하는 방법이며 복잡한 계산을 필요로 하지 않고 테이블에 저장된 데이타에 의해 임의의 스폿 특성의 형성이 가능하다.
또, 스폿 특성 생성 회로(322)에 의해 생성되는 스폿 특성은 일례로서 도 12에 도시한 바와 같고, 페이드 영역(penumbra scale)의 범위에서 특성점 a ∼ P까지의 특성점의 광 강도 특성치를 연결하여 특성 곡선을 형성한다. 여기서 페이드 영역(penumbra scale)은 도 11에 도시하는 각도 62의 범위에서 스폿 특성의 감쇠가 시작되는 점으로부터 스폿 조명 효과가 제로가 되는 점(컷오프)까지의 영역이다.
도 12는 스폿 광원 O의 광축 벡터 방향의 광 강도를 1로 하고 특성점 a ∼ p의 각 점에 대응하는 픽셀로 향하는 벡터 L과 광축 벡터 D가 이루는 각을 횡축에, 스폿 특성치를 종축에 취하고 또한 각 점의 1의 광 강도에 대한 정규화한 값을 플롯하여 나타낸 것이다.
본 발명에 따른 스폿 특성 생성 회로(322)는 도 8에 도시된 바와 같이, 상기스폿 특성의 특성점 a ∼ p의 광 강도치를 저장하는 테이블(8)과, 테이블(8)로부터 각 특성점 a ∼ p의 광 강도치를 판독하는 어드레스를 발생하는 어드레스 제너레이터(9) 및 특성점 간을 일차원 보간하는 보간기(10)를 갖고 구성된다.
또한, 도 8의 스폿 특성 생성 회로(322)의 스폿 특성 테이블(8)은 실시예로서 제1 뱅크(80) 및 제2 뱅크(81)를 갖고 구성된다. 어드레스 제너레이터(9)의 구성예가 도 10에 도시된다.
어드레스 제너레이터(9)에는 픽셀 정보 L(광원 벡터 Lx, Ly, Lz)과, 계수 데이타(스폿축 방향 벡터 Dx, Dy ,Dz), 컷오프각 Cutoff, 페이드 폭의 정규화 계수 Penumbra­scale 및 특성 테이블(8)을 선택하는 인덱스 table­id)가 입력된다.
도 10에서, 내적 계산부(90)에 의해 광원 벡터 Lx, Ly, Lz와, 스폿축의 방향 벡터 Dx, Dy, Dz의 내적(60 ; 도 11참조)을 구하고, 이들 두개의 벡터가 이루는 코사인치를 구한다. 또한, 감산기(91)에 의해서 컷오프부(61 ; 도 11참조)를 초과하는 부분을 삭제한다.
이어서, 컷오프부(61)를 초과하는 부분을 삭제하는 감산기(91)의 출력에 대해 승산기(92)에 의해 페이드 폭의 정규화 계수 Penumbra­scale 예를 들면, 계수10를 곱하고, 경계부(페이드부 ; 62, 도 11 참조)에 적용하는 부분을 0. 0 ∼ 1. 0로 정규화한다. 따라서, 클립핑 연산기(93)에 의해 입력이 1. 0 이상일 때는 1. 0로, 0. 0일 때는 0. 0으로 클립한다.
클립 연산기(93)의 출력이 특성 테이블(8)의 액세스 및 특성점 간의 보간에 사용된다. 지금, 클립 연산기(93)의 출력이 16비트라고 가정하면, 그 중 특성 테이블(8)의 액세스에 4비트, 뱅크 전환 플래그 SF에 1 비트, 그리고 특성점 간의 보간에 11비트가 사용된다.
여기서, 도 8의 실시예에서 특성 테이블(8)은 제1, 제2 메모리 뱅크(80, 81)로 구성되어 있다. 따라서, 도 12의 특성도에서 특성점 a ∼ p의 인접하는 특성치 데이타는 제1 메모리 뱅크(80)와 제2 메모리 뱅크(81)에 각각 교대로 저장되어 있다. 이와 같이 구성함으로써, 인접하는 특성치 데이타를 동시에 판독할 수 있으므로 메모리로의 액세스 시간을 단축하는 것이 가능하다.
또한, 뱅크 전환 플래그 SF가 0일 때, 제1 메모리 뱅크(80)에 대한 판독 어드레스(odd address)OA와, 제2 메모리 뱅크(81)의 판독 어드레스(even address)EA는 동일하다. 한편, 뱅크 전환 플래그 SF가 1일 때, 인크리멘트 회로(94)에 의해 제2 메모리 뱅크(81)에 대한 판독 어드레스(even address)EA를 제1 메모리 뱅크(80)의 판독 어드레스(odd address) OA에 대해서 1만큼 증가된다.
구체예로서 설명하면, 뱅크 판독 전환 플래그 SF가 0이고 어드레스가 0000일 때, 제1 메모리 뱅크(80)에 대한 판독 어드레스 EA는 제2 메모리 뱅크(81)에 대한 판독 어드레스 OA와 동일하며, 제1 메모리 뱅크(80)로부터 특성점 a의 데이타가, 제2 메모리 뱅크(81)로부터 특성점 b의 데이타가 판독된다.
이러한 경우, 도 8의 보간기(10)에는 보간 파라메터 t와 논리 0의 뱅크 판독 전환 플래그 SF가 입력된다. 또한, 특성 테이블(80, 81)로부터 판독되는 특성점 a, b의 데이타가 입력된다.
따라서, 보간기(10)는 특성점 a, b 간의 값을 다음 수학식3의 관계로부터 일차원 보간에 의해 구한다.
상기 수학식3중에서, Dta-b는 특성점 a-b 간의 보간 파라메터 t점의 스폿 효과치, A는 특성점 a의 스폿 효과치, 및 B는 특성점 b의 스폿 효과치이다.
또한, 상기 구체예에서 뱅크 판독 전환 플래그 SF의 논리가 1이 되면, 인크리멘트 회로(94)에 의해, 제1 특성 테이블(80)의 판독 어드레스가 1만큼 증가되어 어드레스가 0001이 된다. 이 어드레스에는 특성점 c의 데이타가 기억된다.
이러한 경우, 보간기(10)에서의 뱅크 판독 전환 플래그 SF의 논리가 1이므로 특성 테이블(81)로부터 판독되는 특성점 b가 우선적으로 제공되어 특성점 b-c 간의 보간 데이타 Dtb-c가 다음 수학식4에 따라서 구해진다.
상기한 바와 같이 해서, 본 발명에 의해 간단한 연산에 의해 스폿 특성을 형성하는 것이 가능하다.
또한, 특성 테이블(8)에 기억된 특성점 데이타를 임의로 구성함으로써 임의의 스폿 특성을 형성할 수 있다. 즉, 특성점 데이타를 지수배(exponential powers)로 구성함으로써 Open GL(상표)의 스폿 특성과, 또한 선형으로 구성함으로써 softimage의 스폿 특성과 동일하게 된다.
도 13 또한 본 발명의 다른 실시의 형태를 설명하는 도면이다. 상기한 실시의 형태에서는 스폿의 특성을 몇몇의 축과의 각도와 관련하여 구하고 있으므로, 반드시 원형의 스폿이 된다. 즉, 도 12의 예에서는 동심 원형의 스폿라이트 특성에 기초하는 스폿라이트 효과밖에 표현할 수 없다. 즉, 1차원적인 스폿라이트 특성밖에 생성할 수 없다.
그래서, 도 13의 실시 형태에서는 더욱 축의 수를 늘려서 특성 테이블(8)에 2차원에서 특성점 데이타를 갖도록 하고 있다. 이에 따라, 스폿 특성은 2차원적인 특성을 갖는 스폿이 된다.
도 13에 도시하는 구체예에서는 스폿라이트의 축 O에 수직인 축 A, B를 정의하여, 스폿라이트의 축과 축 A, B에 의해서 정의되는 OA 평면 및 OB 평면을 생각한다. 그리고, 라이트 벡터 OB의 OA 평면 및 OB 평면에 대한 정사영 C, D가 축 A, B와 이루는 각 ψ, θ을 이용하여 2차원의 테이블을 참조한다. 이에 따라, 2차원적인 특성의 스폿 특성을 얻을 수 있다. 또한, 스폿의 축 O에 수직인 복수의 축을 정의하는 것도 마찬가지로 가능하다.
다음에, 상기에 설명한 본 발명의 스폿 광원 특성 형성 방법을 적용하는 화상 처리 시스템의 실시 형태에 대해서 설명한다. 본 발명의 실시예에서는 광원의 그룹을 복수개 갖으며 폴리곤마다 어떤 광원 그룹을 사용할지를 나타낸 광원 식별 기호(이하, Light-ID라고 부른다. )를 갖는다. 셰이딩 회로는 Light-ID를 기초로 유효한 광원 정보를 판독하고, 그에 따라 셰이딩을 행한다. 도 14는 본 발명의 광원 특성 형성 방법이 적용되는 화상 처리 시스템의 제1 구성예의 블럭도이다.
CPU(1)는 폴리곤을 사용한 화상을 처리하기 위한 프로그램의 실행을 제어하는 것이다. CPU(1)는 프로그램의 진행에 따라 CRT 디스플레이 모니터(7)에 표시되는 폴리곤의 정점 데이타나 레지스터 셋트 기능을 폴리곤 버퍼(11)에 일시적으로 기억시킨다. 또한, CPU(1)는 각 폴리곤이 어떤 광원의 영향을 받는지의 정보로서 각 폴리곤마다 Light-ID를 부가한다.
폴리곤 버퍼(11)로부터 판독되는 데이타가 좌표 변환부(2)에 입력된다. 좌표 변환부(2)는 입력된 데이타를 CPU(1)의 프로그램의 실행에 따라서 3차원 공간 내에 배치되는 폴리곤을 CRT 디스플레이 모니터(7) 상에 표시하기 위해서 2차원 좌표로 변환한다. 2차원 좌표로 좌표 변환된 폴리곤 데이타는 필인 회로(30) 및 텍스쳐 생성 회로(31)로 보내진다.
필인 회로(30)는 폴리곤의 각 정점으로 둘러싸인 범위에 있는 픽셀의 정보를 계산한다. 상기 필인하기 위한 계산은 폴리곤의 각 정점 간에 있는 정점 정보에 대응하는 2개의 정점의 정보를 기초로 예를 들면 선형 보간을 행하는 것이다. 또한, 필인 회로(4)는 폴리곤마다 부여된 Light-ID를 폴리곤을 구성하는 각 픽셀에 기록하고 이 기록 연산을 폴리곤수 만큼 반복한다.
텍스쳐 생성 회로(31)는 픽셀에 대응한 텍스쳐를 도시하지 않은 텍스쳐 버퍼로부터 판독하고, 픽셀마다 컬러를 계산하는 회로이다. 텍스쳐 생성 회로(31)의 출력은 픽셀 데이타로서 셰이딩 회로(32)에 주어짐과 동시에 각 폴리곤을 구성하는 픽셀로는 필인 회로(30)에 의해 대응하는 폴리곤의 Light-ID가 부가되어 있으며, 셰이딩 회로(32)는 이 Light-ID를 기초로 각 폴리곤을 구성하는 픽셀의 각각이 영향을 받는 광원에 대해서 셰이딩 처리를 행한다.
도 14에 도시하는 구성예에서는 셰이딩 회로(32) 내의 광원 레지스터(329)는 A, B, C, D의 4개 이며, 1화상 장면 내에서 셰이딩 회로(32)가 처리할 수 있는 광원수가 4개인 경우이다. 이 4개의 광원 레지스터(329) 중에는 각 폴리곤이 영향을 받는 광원의 정보가 저장되어 있다.
한편, 광원 버퍼(17)에는 모든 광원의 정보가 기억되어 있으며 이 광원 정보가 Light-ID에 의해 4개 지정되며, 셰이딩 회로(32) 내의 광원 레지스터(329)에 저장된다. 이 경우는 화상 장면 중의 각 픽셀에 각각 Light-ID가 부가되어 있으므로 각 픽셀의 셰이딩 처리는 그 Light-ID로 지정된 4개의 광원에 대해서만 행하면 된다. 그리고, 셰이딩 회로(32)는 광원 레지스터(329)의 광원 정보에 기초하여, 폴리곤의 정점 데이타에 기초하여 픽셀의 조명 효과를 계산한다. 또, 셰이딩 회로(32)의 상세 및 기능에 대해서는 후에 설명한다.
셰이딩 회로(32)의 출력은 색 변조 회로(12) 및 혼합 회로(33)로 보내진다. 색 변조 회로(12)는 셰이딩 회로(32)의 출력에 기초하여 픽셀마다 컬러를 변조하는 회로이다.
혼합 회로(33)는 프레임 버퍼(5)로부터 판독된 먼저 작성된 폴리곤의 픽셀의 컬러 정보와, 새롭게 처리할 폴리곤의 픽셀의 컬러 정보를 혼합하고, 이 정보를 1화면의 데이타로서 프레임 버퍼(5)에 기록한다. 이 프레임 버퍼(11)내의 정보는 CRT 디스플레이 모니터(7)에 표시된다.
또한, 도 15는 본 발명을 적용하는 화상 처리 시스템의 제2 구성예의 블럭도를 나타낸다. 도 15의 광원 버퍼(17)에는 1화상 장면에서 처리할 수 있는 광원수, 즉 광원 레지스터(329)의 수를 한 그룹으로 한 광원 정보가 복수 기억되어 있다. 이 경우는 각 픽셀에는 1개의 Light-ID가 부가되며, 셰이딩 회로(6)는 이 Light-ID를 기초로 광원 버퍼(17)로부터 실시예로서 4개의 광원을 한 그룹으로 한 광원 정보를 판독할 수 있다.
또한, 도 16은 본 발명을 적용하는 화상 처리 시스템의 제3 구성예의 블럭도이다. 이 구성예에서는 사용되는 모든 광원 정보는 광원 메모리(8)에 기억되어 있으며, 광원 버퍼(17)에는 각 픽셀이 영향을 받는 광원의 그룹의 정보가 기억되어 있다. 각 픽셀에는 1개의 Light-ID가 부가되어 있으며, 셰이딩 회로(32)는 그 Light-ID를 기초로 광원 버퍼(17)로부터 각 픽셀이 영향을 받는 광원의 그룹을 인식하고 광원 메모리(18)로부터 광원 정보를 판독할 수 있다.
도 17은 도 16에 도시한 제3 화상 처리 시스템의 구성예의 광원 버퍼(17)의 내용의 일례이다. 이 경우는 각 픽셀의 Light-ID는 6비트의 어드레스 데이타로서 주어지며, 광원 버퍼(17)의 해당 어드레스에는 각 픽셀이 영향을 받는 광원으로서 광원 레지스터의 수만큼의 광원수, 예를 들면, 4개를 한 그룹으로 한 광원 그룹의 정보가 기억되어 있다.
또, Light-ID는 게임 프로그램에 따라서 어떤 폴리곤은 어떤 4개의 광원의 영향을 받는지의 정보가 CPU(1)에 의해 주어지며, 통상은 그 폴리곤에 가까운 위치에 있는 광원이나 강도가 강한 광원이 지정된다.
이 때문에, 도 17에 도시한 바와 같이, 어느 폴리곤에 Light-ID(000001)가 부여되어 있는 경우, 그 폴리곤 및 그 폴리곤에 포함되는 각 픽셀은 광원 c, d, e, f의 영향을 받는 것으로서 셰이딩 처리된다.
따라서, 6비트의 어드레스이면 64개의 광원 그룹의 조합이 가능하며, 하드웨어적으로 처리할 수 있는 광원의 갯수가 4개라도 외관상 광원의 갯수를 늘릴 수 있다.
다음에, 상기한 바와 같은 구성의 화상 처리 시스템의 셰이딩 회로(32)에서 실시되는 광원 특성 형성 방법 및 셰이딩 회로(32)의 실시예를 설명한다. 도 18은 본 발명을 적용한 셰이딩 회로(32)의 실시예의 블럭도이다.
셰이딩 회로(32)는 각 폴리곤에 포함되는 픽셀이 광원으로부터 어떠한 영향을 받을지를 계산하는 회로로서, 본 실시의 형태에서는 벡터 연산기(331), 광원 연산기(330), 광원 레지스터(329), 및 누산기(328)의 4개의 블럭으로 이루어진다. 본 실시 형태예에서는 4개의 광원으로부터의 효과를 한번에 처리할 수 있도록 광원의 정보를 저장하는 광원 레지스터(329)와, 픽셀에 대한 셰이딩의 계산을 하는 광원 연산기(330)가 각각 4조 설치되어 있다. 4개의 광원의 데이타는 도 14 내지 도 17에서 이미 설명한 바와 같이, 광원 레지스터(329)A, B, C, D에 각각 저장된다.
따라서, 각 픽셀에 대하여 4개의 광원으로부터의 영향이 각각 광원에 대응하는 광원 연산기(330)A, B, C, D에서 계산되며, 누산기(328)에서 각 픽셀의 4개의 광원으로부터의 영향이 합성된다. 또한, 광원 레지스터(329)에 저장된 광원 데이타는 광원 연산기(330)에서 스폿 특성을 생성하거나 광원의 감쇠를 처리하거나 할 때 사용된다.
다음에, 셰이딩 회로(32)에 포함되는 각 서브-회로의 동작을 설명한다. 벡터 연산기(331)는 좌표 변환기(320)와 반사 벡터 회로(327)로 구성된다. 좌표 변환기(320)는 입력되는 2차원 좌표 픽셀 데이타를 3차원 좌표 픽셀 데이타로 변환하는 회로이다. 좌표 변환 회로(320)의 출력은 본 실시 형태예에서는 4개의 광원 연산기(330 ; A, B, C, D)에 입력되며, 4개의 광원으로부터의 영향을 한번에 계산한다. 좌표 변환 회로(320)의 다른 출력은 반사 벡터 회로(327)에 입력된다. 좌표 역산 회로(320)에 의해 3차원 좌표로 변환되며, 각 광원 연산기(330)의 예를 들면 A에 입력되는 각 픽셀의 데이타는 라이트 벡터 회로(321)에 입력된다.
라이트 벡터 회로(321)는 가상 3차원 공간 중 광원의 위치와 픽셀의 3차원 좌표에 기초하여 광원으로부터 해당 픽셀로 향하는 라이트 벡터를 구한다. 또한, 이 회로는 광원과 해당 픽셀 간의 거리 데이타를 구한다.
구해진 라이트 벡터는 스폿 특성 생성 회로(322)에 입력된다. 또한, 구해진 광원과 해당 픽셀 간의 거리 데이타는 감쇠 처리 회로(323)에 입력된다. 이 스폿 특성 생성 회로(322)에서는, 도 11에 도시한 바와 같이 축 벡터(70)를 갖는 스폿 광원 O에 의해, 도 12에 일례로서 도시하는 스폿 효과 특성이 구해진다. 스폿 특성 생성 회로(322)는 각 픽셀마다 입력되는 라이트 벡터와 스폿 광원의 축 벡터(70)와의 내적(60) 즉, 코사인치를 구하고 스폿 광원에 의한 픽셀 방향의 광 강도를 출력한다.
한편, 감쇠 처리 회로(323)는 스폿 광원 O와 해당 픽셀의 거리에 의한 광의 감쇠량을 계산한다. 이어서, 스폿 특성 생성 회로(322)로부터의 스폿 광원에 의한 픽셀 방향의 광의 강도 및 감쇠 처리 회로(323)로부터의 스폿 광원으로부터 해당 픽셀까지의 거리에 의한 광의 감쇠량에 기초하여 광 강도 합성 회로(324)로부터 해당 픽셀에 대한 광 강도가 구해진다.
즉, 각 픽셀에 대한 광 강도는 광원 자신이 갖는 강도 및 스폿 광원의 축 벡터(70)와, 해당 픽셀의 라이트 벡터가 이루는 각도에 의한 감쇠량 및 스폿 광원으로부터 해당 픽셀 위치까지의 거리에 의한 감쇠량에 의해 구해진다.
광 강도 합성 회로(324)에 의해 구해진 각 픽셀에 대한 광 강도에 기초하여 , 각 픽셀에 셰이딩 효과가 주어진다. 셰이딩 효과로서는 확산 반사 효과 및 경면 반사 효과가 있다.
확산 반사 효과는 소위 난반사이며, 물체 표면 속에 들어가 흡수되며 그리고 다시 방사되는 광에 의해서 발생된다. 이 확산 반사광은 어떤 방향으로도 균등하게 방사된다. 이 때문에, 관찰자의 시점과는 관계가 없다. 중요한 것은 광원으로부터의 해당 픽셀로 향하는 방향과, 해당 픽셀의 표면의 법선 방향이 이루는 각도이며, 이 각도가 π/2 보다 커지면, 광원은 물체의 음영이 되며, 확산광 반사는 생기지 않는다.
한편, 경면 반사 효과는 완전 반사면에서 입사광에 대해서 반사광의 각도가 법선에 대해서 동일해지는 것과 같은 효과를 주는 것이다.
따라서, 반사광의 각도에 일치하는 각도에 있는 관찰자만이 경면 반사 효과를 관찰할 수 있다. 이 때문에, 반사광의 크기를 구하기 위해서는 관찰자의 시선의 반사 벡터가 필요하다.
경면 반사 회로(326)는 광 강도 합성 회로(324)에 의해 구해진 벡터에 대한 광 강도를 입력하고, 해당 픽셀에서의 입사각과, 반사 벡터 회로(327)로부터 얻어지는 시선 벡터로부터 반사량을 구하여 출력한다.
또한, 상기 확산 회로(325)로부터의 확산 광량과, 경면 반사 회로(326)로부터의 경면 반사량이 다른 광원 연산기(330)B, C, D의 출력과 함께, 누산기(328)에서 합성되어 출력된다.
상기한 바와 같이, 구성되는 셰이딩 회로(32)에 적용되는 스폿 특성 생성 회로(322)의 구성예의 블럭도가 도 19에 도시되어 있다. 본 구성예에서는 이하에 설명된 바와 같이 테이블을 이용하는 방법에 의해 복잡한 계산을 필요로 하지 않고, 테이블에 저장되는 데이타에 의해 임의의 스폿 특성의 형성이 가능하다. 또한, 스폿 특성 생성 회로 A, B, C, D는 동일한 구성을 가지므로 스폿 특성 생성 회로 A를 중심으로 설명한다.
스폿 특성 생성 회로(322)에 의해 생성되는 스폿 특성이 일례로서 도 12에 도시한 바와 같이 페이드 영역(penumbra scale ; 62, 도 12 참조)의 범위에서 특성점 a ∼ p까지의 특성점의 광 강도 특성치를 연결하여 특성 곡선을 형성한다.
즉, 도 12에 있어서 스폿 광선 O의 광축 벡터 방향의 광 강도를 1로 하여 특성점 a ∼ p의 각 점에 대응하는 픽셀로 향하는 벡터 L과 광축 벡터 D가 이루는 각을 횡축에 취하고, 또한 각 점의 1의 광강도에 대한 정규화한 값을 종축에 표시하여 나타낸다.
본 구성예의 스폿 특성 생성 회로(322)는 도 19에 도시된 바와 같이, 상기 스폿 특성의 특성점 a ∼ p의 광 강도치를 저장하는 테이블(80)과, 테이블(80)로부터 각 특성점 a ∼ p의 광 강도치를 판독하는 어드레스를 발생하는 어드레스 제너레이터(90), 및 특성점 간의 일차원 보간을 하는 보간기(100)를 갖고 구성된다.
어드레스 제너레이터(90)에는 픽셀 정보로서 픽셀 데이타(Lx, Ly, Lz)가, 또한 광원 정보로서 스폿축의 방향 벡터(Dx, Dy, Dz), 컷오프각(Cutoff), 페이드 폭의 정규화 계수(Penumbra­scale), 및 특성 테이블(80)을 선택하는 인터페이스(table­id)가 입력된다.
또, 이들의 광원 정보는 도 14, 도 15에 도시한 광원 버퍼(17) 또는 도 16에 도시하는 광원 메모리(18)에 광원 a, b, c …마다 기억되어 있다. 본 실시 형태에서는 각 픽셀에 대한 4개의 광원의 영향을 처리할 수 있으며, 각 픽셀에는 그 4개의 광원을 지정하는 Light-ID가 도 14 등에 도시하는 CPU(1)에 의해 주어지고 있다. 광원 레지스터(329)는 A, B, C, D의 4개가 있으며 Light-ID에 의해 광원 버퍼(7) 또는 광원 메모리(8)로부터 4개의 광원 데이타를 판독하고, 스폿 특성 생성 회로(322 : A, B, C, D)에 광원 데이타를 제공한다.
도 19에서 내적 계산부(91)에 의해 픽셀 데이타 Lx, Ly, Lz와, 스폿축의 방향 벡터 Dx, Dy, Dz의 내적(60 ; 도 11 참조)을 구하고, 이들 두개의 벡터가 이루는 코사인치(각도)를 구한다. 또한, 감산기(92)에 의해서 컷오프부(61 ; 도 11참조)를 초과하는 부분을 삭제한다.
이어서, 컷오프부(61)를 초과하는 부분을 삭제한 감산기(92)의 출력에 대해서 승산기(93)에 의해 페이드 폭의 정규화 정수 Penumbra­scale, 예를 들면, 계수 10을 곱하고, 경계부(페이드부; 62, 도 11 참조)에 적용하는 부분을 0. 0 ∼ 1. 0범위의 값으로 정규화한다. 따라서, 클립 연산기(94)에 의해 입력이 1. 0 이상일 때는 1. 0로 0. 0 이하일 때 0. 0로 클립된다.
클립 연산기(94)의 출력은 특성 테이블(80)의 액세스 및 특성점 간의 보간에 사용된다. 지금, 클립 연산기(94)의 출력이 16 비트라고 하면, 그 중 특성 테이블(80)의 액세스에 4비트, 뱅크 전환 플래그 SF에 1비트, 그리고 특성점 간의 보간에 11비트가 사용된다.
여기서, 도 19의 실시예에서 특성 테이블(80)은 제1, 제2 메모리 뱅크(81, 82)로 구성되어 있다. 따라서, 도 12의 특성도에서 특성점 a ∼ p의 데이타는 제1 메모리 뱅크(81)와 제2 메모리 뱅크(82)에 각각 교대로 저장되어 있다.
또한, 뱅크 전환 플래그 SF가 0일 때, 제1 메모리 뱅크(81)에 대한 판독 어드레스(odd address) OA와, 제2 메모리 뱅크(82)의 판독 어드레스(even address)EA는 동일하다. 한편, 뱅크 전환 플래그 SF가 1일 때, 인크리멘트 회로(94)에 의해 제2 메모리 뱅크(82)에 대한 판독 어드레스(even address) EA를 제1 메모리 뱅크(81)의 판독 어드레스(odd address) OA보다 1만큼 증가시킨다.
구체예는 먼저 설명한 것과 마찬가지이며, 뱅크 판독 전환 플래그 SF가 0이며 어드레스가 0000일 때, 제1 메모리 뱅크(81)에 대한 판독 어드레스 EA는 제2 메모리 뱅크(82)에 대한 판독 어드레스 OA와 동일하며, 제1 메모리 뱅크(81)로부터 특성점 a의 데이타가, 제2 메모리 뱅크(82)로부터 특성점 b의 데이타가 판독된다.
이러한 경우, 도 19의 보간기(100)에는 보간 파라메터 t와 논리 0의 뱅크 판독 전환 플래그 SF가 입력된다. 또한, 특성 테이블(81, 82)로부터 판독되는 특성점 a, b의 데이타가 입력된다.
따라서, 보간기(100)는 특성점 a, b 간 값 Dta­b를 상기한 수학식3의 관계로부터 일차원 보간에 의해 구한다.
또한, 상기 구체예에서 뱅크 판독 전환 플래그 SF의 논리가 1이 되면, 인크리멘트 회로(95)에 의해 제1 특성 테이블(81)의 판독 어드레스가 1만큼 증가되어 어드레스가 0001이 된다. 이 어드레스에는 특성점 c의 데이타가 기억되어 있다.
이러한 경우, 보간기(100)에서는 뱅크 판독 전환 플래그 SF의 논리가 1이므로 특성 테이블(82)로부터 판독되는 특성점 b를 우선적으로 제공하여, 특성점 b-c 간의 보간 데이타 Dtb­c를 상기한 수학식4에 따라서 구한다.
상기한 바와 같이 해서, 간단한 연산에 의해 스폿 특성을 형성하는 것이 가능하다. 또한, 특성 테이블(80)에 저장하는 특성점 데이타를 임의로 구성함으로써 임의의 스폿 특성을 형성할 수 있다.
다음에, 본 발명에 따라서 스트리트를 복수의 가로등으로 조명하는 화상 장면인 경우의 실시예를 도 20에 도시한다. 광원 a, b, c 등이 스트리트 양측에 배치된다. 가로등을 형성하는 폴리곤에는 어떤 광원으로부터의 영향을 받는지를 나타내는 Light-ID가 부가되어 있다. 이 예에서는 1개의 폴리곤이 최대 4개의 광원으로부터 영향을 받을 수 있다. 예를 들면, 폴리곤 P2의 Light-ID가 (000001)인 경우는 도 17의 광원 버퍼의 내용에 의해 광원 c, d, e, f의 영향을 받게 된다.
이와 같이, 폴리곤마다 어느 광원으로부터의 영향을 받는지의 ID를 갖고, 대응하여 광원의 처리를 행하면, 동시에 처리할 수 있는 광원수 이상의 다수의 광원을 장면 중에 갖게된다.
또한, 본 발명의 처리 플로우를 도 21에 도시한다. 프로그램 초기 처리 단계의 처리로서, 단계1 및 2의 처리가 행해진다. 우선, 장면 중의 광원 파라메터를 광원 버퍼(17)에 기록한다(단계 1). 광원 파라메터는 광원의 위치, 색, 강도 및 방향 등을 포함하며 장면은 광원 버퍼(17)가 허용하는 한 어떤 광원도 가질 수 있다.
이어서, 각 폴리곤마다 영향을 주는 광원의 ID(Light-ID)를 붙인다(단계 2). 각 폴리곤은 통상은 가장 가까운 광원의 영향을 강하게 받지만 예를 들면, 하드웨어적으로 동시에 4개의 광원의 처리가 가능한 시스템인 경우는 Light-ID로서 각 폴리곤으로부터 가장 가까이에 있는 4개의 광원을 지정하는 광원 버퍼의 어드레스를 붙일 수 있다. 또, 폴리곤이 영향을 받는 광원으로서 폴리곤의 각 정점의 법선 벡터 방향 및 광원이 향하는 방향을 기준으로 광원을 선택할 수 있게 된다.
또한, 단계 3에서는 게임의 진행에 따라 각 장면에서 각 폴리곤의 좌표 변환 및 투시 변환을 폴리곤수 만큼 반복한다(단계 3). 이 단계 3에서의 처리에 의해 3차원의 폴리곤 데이타는 스크린 상의 2차원 데이타로 변환되며 투시 변환에 의해 시점 위치의 변경에 따르는 원근감의 변화를 처리할 수 있다.
이어서, 각 폴리곤에 필인을 행하고, 픽셀마다 Light-ID를 기록한다(단계 4). 따라서, 이 단계 4에서 장면 중 많은 광원으로부터 픽셀이 영향을 받는 4개의 광원이 지정되게 된다.
그리고, 단계 5에서는 텍스쳐 생성이 행해진다(단계 5). 텍스쳐에는 폴리곤 표면의 모양 혹은 재질감을 포함하여 맵핑에 의해 그 모양 등이 대상의 폴리곤면에 가해진다.
이어서, 본 발명의 특징에 의해, Light-ID에 대응하는 광원 파라메터를 광원 버퍼(17)로부터 판독한다(단계 6). 즉, Light-ID가 광원 버퍼(17)의 어드레스인 경우는 그 어드레스에 기초하여 광원 메모리(18)에 기억된 광원 정보가 판독된다.
그 후, 셰이딩 처리가 행해진다(단계 7). 이 셰이딩 처리에 의해, 광원 및 대상물의 폴리곤 데이타에 기초하여 화면의 조명, 색 분리 및 음영 처리가 행해진다. 또한, 1화면의 비디오 데이타가 프레임 버퍼(5)에 기록된다(단계 8). 이와 같이 단계 5로부터 단계 8까지의 처리를 폴리곤을 형성하는 각 픽셀수만큼 반복하고, 프레임 버퍼(5)에 축적된 1화면의 정보를 CRT 디스플레이 모니터(7)에 표시한다.
이상, 도면에 따른 실시 형태를 설명한 바와 같이 본 발명에 따른 스폿라이트 특성 형성 방법은 스폿의 특성을 계산식에 기초하여, 픽셀마다 연산에 의해 구해지는 방법에 비해서 스폿의 축과 광원 벡터가 이루는 각을 이용하여, 미리 특성점 데이타를 기억하는 특성 테이블을 참조하도록 하고 있으므로 보다 간단한 회로로 자유도가 높은 스폿 특성을 형성하는 것이 가능하다.
또한, 스폿의 특성에 높은 자유도를 가지며 또한 실현하는 회로도 간단하다. 또한, 미리 준비하는 특성 테이블을 2차원으로 확장하면, 비원형의 스폿을 형성하거나 1개의 광원으로 복수의 스폿을 형성하는 것도 가능해진다. 이상 설명한 대로 본 발명에 따르면, Light-ID에 의해 복수의 광원 그룹을 처리하고 선택할 수 있으므로, 한 장면에 동시에 사용할 수 있는 광원수 이상의 광원을 사용할 수 있다.

Claims (23)

  1. 폴리곤을 구성하는 픽셀에 부여되는 스폿라이트 특성을 형성하는 방법에 있어서,
    소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 테이블에 저장하는 단계, 및
    상기 테이블로부터 판독되는 특성치 또는 상기 테이블로부터 판독되는 서로 인접하는 특성치 간을 보간하여 구한 보간치에 의해 상기 스폿라이트 특성 곡선을 형성하는 단계
    를 포함하는 것을 특징으로 하는 스폿라이트 특성 형성 방법.
  2. 폴리곤을 구성하는 픽셀에 부여되는 스폿라이트 특성을 형성하는 방법에 있어서,
    소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 테이블에 저장하는 단계,
    스폿라이트의 광축 벡터와 광원으로부터 각 픽셀로 향하거나 또는 각 픽셀로부터 광원으로 향하는 라이트 벡터와의 내적에 따른 상기 테이블의 어드레스로부터 특성치를 판독하는 단계, 및
    상기 테이블로부터 판독되는 특성치 또는 상기 테이블로부터 판독되는 서로 인접하는 특성치 간을 보간하여 구한 보간치에 의해 상기 스폿라이트 특성 곡선을 형성하는 단계
    를 포함하는 것을 특징으로 하는 스폿라이트 특성 형성 방법.
  3. 제2항에 있어서, 상기 광축 벡터와 상기 라이트 벡터의 내적 중 스폿라이트 페이드(fade)영역 내의 픽셀에 관한 라이트 벡터와의 내적을 정규화하고, 상기 정규화된 내적에 대응하는 상기 테이블의 어드레스로부터 특성치를 판독하는 것을 특징으로 하는 스폿라이트 특성 형성 방법.
  4. 폴리곤을 구성하는 픽셀에 부여되는 스폿라이트 특성을 형성하는 방법에 있어서,
    소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 테이블에 저장하는 단계,
    상기 스폿라이트의 광축 벡터와 상기 스폿라이트의 광축 벡터에 수직인 적어도 2개의 축을 정의하는 단계,
    상기 스폿라이트의 광축 벡터와 이에 수직인 적어도 2개의 축에 의해서 각각 정의되는 적어도 2개의 평면과, 상기 광원으로부터 각 픽셀로 향하는 또는 각 픽셀로부터 상기 광원으로 향하는 라이트 벡터의 상기 적어도 2개의 평면에 대한 정사영(orthogonal projections)이 이루는 각도에 대응하는 상기 테이블로부터 특성치를 판독하는 단계, 및
    상기 판독된 특성치 또는 상기 테이블로부터 판독된 서로 인접하는 특성치 간의 보간치에 의해 상기 스폿라이트 특성 곡선을 형성하는 단계
    를 포함하는 것을 특징으로 하는 스폿라이트 특성 형성 방법.
  5. 표시되는 폴리곤에 스폿라이트의 조명 효과를 주기 위한 스폿라이트 특성 형성부를 갖는 화상 처리 시스템에 있어서,
    상기 스폿라이트 특성 형성부는
    소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 저장하는 테이블,
    상기 테이블로부터 특성치를 판독하기 위한 어드레스를 발생하는 어드레스 생성 회로, 및
    상기 테이블로부터 상기 어드레스에 대응하여 판독되는 서로 인접하는 특성치 간의 보간치를 구하는 보간기
    를 가지며,
    상기 테이블로부터 판독된 특성치 또는 상기 보간기에서 구해진 보간치에 의해 상기 스폿라이트 특성 곡선을 형성하는 것을 특징으로 하는 화상 처리 시스템.
  6. 제5항에 있어서,
    상기 어드레스 생성 회로는
    스폿라이트의 광축 벡터와 광원으로부터 픽셀로 향하거나 또는 픽셀로부터 광원으로 향하는 라이트 벡터와의 내적을 구하는 회로를 가지며,
    상기 내적을 구하는 회로에 의해 구해진 내적의 값에 따라서 상기 테이블로부터 특성치를 판독하는 어드레스를 출력하는 것을 특징으로 하는 화상 처리 시스템.
  7. 제6항에 있어서,
    상기 어드레스 생성 회로는
    상기 내적을 구하는 상기 회로에 의해 구해진 내적치로부터 스폿라이트의 페이드 영역내의 픽셀에 관한 내적치를 추출하는 추출 회로, 및
    상기 추출 회로의 출력을 정규화하는 정규화 회로
    를 더 포함하는 것을 특징으로 하는 화상 처리 시스템.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 저장하는 상기 테이블은 각각 상기 복수의 특성치의 홀수번째의 특성치와 짝수번째의 특성치를 저장하기 위한 2개의 뱅크를 포함하고,
    상기 보간기는 상기 2개의 뱅크의 테이블의 각각으로부터 판독되는 서로 인접하는 특성치 간의 보간치를 구하는 것을 특징으로 하는 화상 처리 시스템.
  9. 폴리곤을 구성하는 픽셀에 대한 스폿라이트 특성을 형성하는 방법에 있어서,
    소정의 스폿라이트 특성 곡선에 대응하는 복수의 특성치를 스폿라이트의 광원으로부터 각 픽셀로 향하거나 또는 각 픽셀로부터 스폿라이트의 광원으로 향하는 라이트 벡터에서 추출되는 독립한 2개의 성분을 파라메터로 하는 2차원 테이블에 저장하는 단계,
    상기 2개의 파라메터에 기초하여 상기 2차원 테이블로부터 특성치를 판독하는 단계, 및
    상기 판독된 특성치 또는 상기 테이블로부터 판독된 서로 인접하는 특성치 간의 보간치에 의해 스폿라이트 특성 곡선을 형성하는 단계
    를 포함하는 것을 특징으로 하는 스폿라이트 특성 형성 방법.
  10. 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주기 위한 화상 처리 시스템에 있어서,
    복수의 광원의 정보를 저장하는 메모리,
    하나의 폴리곤에 대해 소정수의 광원의 정보에 기초하여 셰이딩을 행하는 수단, 및
    상기 소정수의 광원의 정보를 상기 폴리곤에 대응하여 상기 메모리로부터 판독하고 상기 정보를 셰이딩하는 수단에 공급하는 수단
    을 포함하는 것을 특징으로 하는 화상 처리 시스템.
  11. 제10항에 있어서, 상기 소정수의 광원은 상기 폴리곤과 상기 광원과의 거리에 기초하여 대응되어 있는 것을 특징으로 하는 화상 처리 시스템.
  12. 제10항에 있어서, 상기 소정수의 광원의 정보는 폴리곤을 구성하는 복수의 픽셀의 각각에 대한 픽셀 데이타에 포함되는 식별 기호에 의해 특정되는 것을 특징으로 하는 화상 처리 시스템.
  13. 제10항에 있어서, 상기 소정수의 광원은 적어도 일부가 다른 폴리곤과 중복되어 있는 것을 특징으로 하는 화상 처리 시스템.
  14. 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주기 위한 화상 처리 시스템에 있어서,
    복수의 광원에 대한 복수의 그룹의 정보를 저장하는 메모리,
    하나의 폴리곤에 대해 상기 복수의 광원에 대한 상기 그룹의 정보에 기초하여 셰이딩을 행하는 수단, 및
    상기 복수의 광원에 대한 상기 그룹의 정보를 폴리곤에 대응하여 상기 메모리로부터 판독하고, 상기 정보를 셰이딩을 행하는 수단에 공급하는 수단
    을 포함하는 것을 특징으로 하는 화상 처리 시스템.
  15. 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주기 위한 화상 처리 시스템에 있어서,
    복수의 광원에 대한 정보를 저장하는 제1 메모리,
    복수의 광원에 대한 복수의 그룹의 정보를 저장하는 제2 메모리,
    하나의 폴리곤에 대해 상기 복수의 광원의 상기 그룹에 대응하는 광원의 정보에 기초하여 셰이딩을 행하는 수단, 및
    상기 복수의 광원에 대한 상기 그룹의 정보를 폴리곤에 대응하여 상기 제2 메모리로부터 판독하고, 상기 복수의 광원의 그룹에 대한 정보에 따라 상기 복수의 광원의 상기 그룹에 대응하는 광원의 정보를 상기 제1 메모리로부터 판독하고, 상기 정보를 셰이딩하는 수단으로 공급하는 수단
    을 포함하는 것을 특징으로 하는 화상 처리 시스템.
  16. 제14항 또는 제15항에 있어서, 상기 복수의 광원의 그룹은 상기 폴리곤과 상기 광원과의 거리에 기초해서 대응되어 있는 것을 특징으로 하는 화상 처리 시스템.
  17. 제14항 또는 제15항에 있어서, 상기 복수의 광원의 그룹은 상기 폴리곤을 구성하는 복수의 픽셀의 각각에 대한 픽셀 데이타에 포함되는 식별 기호에 의해 특정되는 것을 특징으로 하는 화상 처리 시스템.
  18. 제14항 또는 제15항에 있어서, 상기 복수의 광원의 그룹에서의 광원은 적어도 일부가 다른 폴리곤과 중복되어 있는 것을 특징으로 하는 화상 처리 시스템.
  19. 복수의 폴리곤에 의해 화상 표시되는 오브젝트에 광원에 의한 조명 효과를 주기위한 화상 처리 방법에 있어서,
    화상 장면에서 사용되는 복수의 광원의 정보를 메모리에 기록하는 단계,
    광원에 의해서 영향을 받는 폴리곤들에 식별 기호를 붙이는 단계,
    상기 폴리곤의 데이타에 대해 좌표 변환을 행하는 단계,
    상기 폴리곤을 구성하는 픽셀들에 상기 식별 기호를 기록하는 단계,
    상기 픽셀의 데이타에 기초하여 텍스쳐를 생성하는 단계,
    상기 식별 기호에 대응하는 상기 폴리곤들 각각에 영향을 주는 광원의 정보를 메모리로부터 판독하는 단계,
    상기 픽셀에 상기 메모리로부터 판독된 광원의 정보에 기초하여 셰이딩을 행하는 단계, 및
    상기 픽셀의 데이타를 프레임 버퍼에 기록하는 단계
    를 포함하는 것을 특징으로 하는 화상 처리 방법.
  20. 제19항에 있어서, 복수의 폴리곤에 의해 구성되는 오브젝트에 대해 상기 좌표 변환을 행하고 상기 식별 기호를 기록하는 단계들이 상기 폴리곤의 수만큼 반복되는 것을 특징으로 하는 화상 처리 방법.
  21. 제20항에 있어서, 복수의 픽셀에 의해 구성되는 폴리곤에 대해 상기 텍스쳐를 생성하는 단계에서 상기 픽셀 데이타를 상기 프레임 버퍼에 기록하는 단계까지의 상기 단계들이 상기 픽셀수만큼 반복되는 것을 특징으로 하는 화상 처리 방법.
  22. 제19항에 있어서, 상기 식별 기호는 각 폴리곤에 영향을 주는 복수의 광원의 그룹을 특정하는 것을 특징으로 하는 화상 처리 방법.
  23. 제19항에 있어서, 상기 폴리곤 각각에 영향을 주는 상기 광원은 상기 폴리곤과 상기 광원과의 거리에 기초하여 대응되어 있는 것을 특징으로 하는 화상 처리 방법.
KR1019997000052A 1997-05-07 1999-01-07 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템 KR100295709B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP11597197 1997-05-07
JP1997-115971 1997-05-07
JP1997-175904 1997-07-01
JP17590497 1997-07-01

Publications (2)

Publication Number Publication Date
KR20000023605A true KR20000023605A (ko) 2000-04-25
KR100295709B1 KR100295709B1 (ko) 2001-07-28

Family

ID=26454384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997000052A KR100295709B1 (ko) 1997-05-07 1999-01-07 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템

Country Status (9)

Country Link
US (1) US6333742B1 (ko)
EP (1) EP0974935B1 (ko)
JP (1) JP4060375B2 (ko)
KR (1) KR100295709B1 (ko)
CN (1) CN1231041A (ko)
DE (1) DE69826996T2 (ko)
ES (1) ES2226109T3 (ko)
TW (1) TW371746B (ko)
WO (1) WO1998050890A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084405A (ja) * 1999-09-16 2001-03-30 Sega Corp ポリゴン画像形成方法及び、これを用いた画像処理装置
US6753875B2 (en) * 2001-08-03 2004-06-22 Hewlett-Packard Development Company, L.P. System and method for rendering a texture map utilizing an illumination modulation value
US7948490B2 (en) * 2003-10-22 2011-05-24 Microsoft Corporation Hardware-accelerated computation of radiance transfer coefficients in computer graphics
EP2038734A4 (en) * 2006-06-02 2009-09-09 Samsung Electronics Co Ltd DYNAMIC HIGH CONTRAST DISPLAY SYSTEM WITH MULTI SEGMENT REAR LIGHTING
US8913829B2 (en) 2012-06-05 2014-12-16 Tandent Vision Science, Inc. Automatic processing scale estimation for use in an image process
CN104361863A (zh) * 2014-11-30 2015-02-18 南京巨鲨显示科技有限公司 基于等高圆近似的亮度均匀性调节方法
GB2545226A (en) * 2015-12-09 2017-06-14 Samsung Electronics Co Ltd Determining lighting in a 3D virtual scene

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60246481A (ja) * 1984-05-21 1985-12-06 Yokogawa Hokushin Electric Corp 図形表示装置
JPH0746391B2 (ja) * 1984-09-14 1995-05-17 株式会社日立製作所 図形シエ−デイング装置
US4819192A (en) * 1985-02-26 1989-04-04 Sony Corporation Method of displaying image
JP2806023B2 (ja) 1990-09-19 1998-09-30 ソニー株式会社 画像表示処理装置
JP2973573B2 (ja) 1991-04-12 1999-11-08 ソニー株式会社 画像変換装置
GB9301661D0 (en) * 1993-01-28 1993-03-17 Philips Electronics Uk Ltd Rendering an image
JPH06301794A (ja) 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd 3次元画像生成表示装置
JP2763502B2 (ja) 1994-12-01 1998-06-11 株式会社ナムコ 画像合成装置及び画像合成方法
JPH1063874A (ja) 1996-08-13 1998-03-06 Tsuneo Ikedo スポットライティング回路

Also Published As

Publication number Publication date
KR100295709B1 (ko) 2001-07-28
US6333742B1 (en) 2001-12-25
ES2226109T3 (es) 2005-03-16
EP0974935B1 (en) 2004-10-13
EP0974935A4 (en) 2003-04-16
TW371746B (en) 1999-10-11
DE69826996T2 (de) 2005-03-10
WO1998050890A1 (fr) 1998-11-12
JP4060375B2 (ja) 2008-03-12
EP0974935A1 (en) 2000-01-26
DE69826996D1 (de) 2004-11-18
CN1231041A (zh) 1999-10-06

Similar Documents

Publication Publication Date Title
US7583264B2 (en) Apparatus and program for image generation
US5995111A (en) Image processing apparatus and method
US6677946B1 (en) Method of, an apparatus for, and a recording medium comprising a program for, processing an image
JPH0683979A (ja) 影の生成を伴うコンピュータ図形表示の方法及びシステム
JPH06223201A (ja) 並列画像生成装置
JP2006228231A (ja) 3次元イメージ特殊効果表現方法及びその装置、並びに、vrmlノード及びその生成方法
KR19980702804A (ko) 영상 생성 및 조작을 위한 하드웨어 아키텍처
JPH0757117A (ja) テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
KR100700307B1 (ko) 굴절이 있는 이미지를 렌더링하는 방법 및 장치
GB2357412A (en) Geometry processing in a 3D graphics rendering pipeline
US6529194B1 (en) Rendering method and apparatus, game system, and computer readable program product storing program for calculating data relating to shadow of object in virtual space
KR100277803B1 (ko) 3차원 그래픽 표시장치
US7184051B1 (en) Method of and apparatus for rendering an image simulating fluid motion, with recording medium and program therefor
US5742292A (en) System and method for realistically displaying images indicating the effects of lighting on an object in three dimensional space
KR100295709B1 (ko) 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
JP3005981B2 (ja) 付影処理方法およびその装置
JPH1125286A (ja) 付影処理方法
JP3261832B2 (ja) 画像生成装置
JPH0546782A (ja) 図形表示装置
JPH0773342A (ja) 画像生成装置
JP2518712B2 (ja) コンピュ―タグラフィックにおける高品質レンダリング図作成方法および装置
JPH0729034A (ja) 影付け処理装置および画像生成装置
JP2001148031A (ja) 画像描画方法、画像描画装置、記録媒体及びプログラム
JPH04155592A (ja) グーローシエーディングによるパラメトリック曲面表示装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040428

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee