KR101146660B1 - 화상처리장치, 화상처리방법 및 정보기록매체 - Google Patents

화상처리장치, 화상처리방법 및 정보기록매체 Download PDF

Info

Publication number
KR101146660B1
KR101146660B1 KR1020107014655A KR20107014655A KR101146660B1 KR 101146660 B1 KR101146660 B1 KR 101146660B1 KR 1020107014655 A KR1020107014655 A KR 1020107014655A KR 20107014655 A KR20107014655 A KR 20107014655A KR 101146660 B1 KR101146660 B1 KR 101146660B1
Authority
KR
South Korea
Prior art keywords
polygon
planar body
projection
viewpoint
covering
Prior art date
Application number
KR1020107014655A
Other languages
English (en)
Other versions
KR20100090719A (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 KR20100090719A publication Critical patent/KR20100090719A/ko
Application granted granted Critical
Publication of KR101146660B1 publication Critical patent/KR101146660B1/ko

Links

Images

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

Landscapes

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

Abstract

기억부(201)는, 가상공간 내의 대상체 및 해당 대상체가 근접하는 면 형상체의 형상, 위치 및 방향, 해당 대상체를 덮도록 배치되는 피복 폴리곤을 기억하고, 해당 피복 폴리곤의 각각은 투과도 정보를 구비하며, 해당 투과도 정보는 피복되는 대상체의 그림자를 표현하는 것으로, 중심부분이 불투명하고, 바깥쪽을 향해서 서서히 투명도를 증가시키며, 선택부(202)는, 대상체에 대응하는 피복 폴리곤 중에서, 면 형상체에 접촉하는 등의 소정의 조건을 충족시키는 피복 폴리곤을 투영용 폴리곤으로서 선택하고, 생성부(203)는, 면 형상체, 투영용 폴리곤, 대상체의 순서로, 상기 가상공간을 2차원 평면에 투사하여, 대상체의 그림자를 면 형상체 상에 묘화한다.

Description

화상처리장치, 화상처리방법 및 정보기록매체{IMAGE PROCESSING DEVICE, IMAGE PROCESSING METHOD, AND INFORMATION RECORDING MEDIUM}
게임 등에 있어서, 가상공간 내의 대상체가 마루바닥 등과 같은 바닥이나 벽 등의 면 형상체에 근접했을 때 생기는 그림자 등의 상(像)을 간이하게 묘화하는 데 적합한 화상처리장치, 화상처리방법 및 정보기록매체, 나아가서는, 이를 컴퓨터상에서 실현하기 위한 프로그램에 관한 것이다.
게임에 사용되는 화상을 생성하는 3차원 컴퓨터 그래픽의 분야에 있어서는, 게임의 리얼리티를 향상시키기 위해서, 가상공간 내의 대상체의 그림자를 바닥, 책상, 그리고 벽 등의 표면을 나타내는 면 형상체에 투영하는 것이 알려져 있다. 예를 들어, 특허문헌 1에는, 광원의 위치, 대상체의 위치 및 자세 등의 변화에 따라서 그림자의 투과도를 변화시켜, 보다 리얼한 그림자를 실장하는 기술이 개시되어 있다. 또한, 그림자뿐만 아니라, 발광하는 대상체에 의한 상이 바닥에 투영되는 바와 같은 기술에 응용하고자 하는 요망도 있다.
JP 2007-195747 A
고속으로 이동하는 대상체 등을 실시간에 묘화할 경우에는, 그림자를 생성하는 처리는 고속으로 행해지는 것이 바람직하다. 그러나, 그림자의 묘화에 필요한 계산량은, 하드웨어의 성능에 따라서는 제한될 경우가 있어, 그림자를 생성하는 처리가 화상처리 전체에 악영향을 준다고 하는 문제가 있었다.
본 발명은 이상과 같은 과제를 해결하기 위한 것으로, 게임장치 등에 있어서, 가상공간 내의 대상체가 바닥이나 벽 등에 근접했을 때 생기는 그림자 등의 상을 간이하게 묘화하는 데 적합한 화상처리장치, 화상처리방법 및 정보기록매체, 나아가서는, 이를 컴퓨터상에서 실현하기 위한 프로그램을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 제1관점에 따른 화상처리장치는, 기억부, 선택부 및 생성부를 구비하고, 가상공간 내에 배치되는 대상체, 면 형상체 및 해당 면 형상체에 투영되는 상기 대상체의 상을 나타내는 화상을 생성한다.
우선, 기억부는, 상기 가상공간 내에 배치되는 시점의 위치 및 시선의 방향, 상기 가상공간 내에 배치되는 대상체 및 면 형상체의 형상, 위치 및 방향, 그리고, 상기 대상체를 덮도록 배치되는 복수의 피복 폴리곤의 형상, 위치 및 방향을 기억한다.
여기서, 시점은 3차원 가상공간을 보고 있는 가상 카메라이며, 시선은 가상 카메라가 향하고 있는 방향이다. 상기 가상공간의 2차원 화상은, 상기 시점에서부터 상기 시선방향으로 본 상기 가상공간을, 2차원 평면(투사면 또는 투영면이라고도 불림)에 투사함으로써 생성된다. 면 형상체는, 대상체와는 다른 기타의 대상체로, 지면(바닥)이나 벽 등의 넓은 표면을 상정하고 있다. 개개의 대상체 및 면 형상체의 형상은, 예를 들어, 폴리곤이라 불리는 미소한 다각형의 조합 등에 의한 표면(surface)으로 정의(모델화)된다.
피복 폴리곤은, 상기 대상체가 근접한 면 형상체에 투영되는 그림자나 예기치 않은 불필요한 것이 찍힌 것 등의 상(이하 주로 「그림자」를 예로서 설명함)을 표현하는 다각형이다. 복수의 피복 폴리곤이 다면체를 구성해서, 대상체를 덮도록 배치된다. 실세계에 있어서는, 가까이 존재하는 것에 대해서 그림자가 분명히 투영된다. 따라서, 본 발명에 따른 화상처리장치에 있어서는, 상기 피복 폴리곤에 면 형상체가 접촉하거나, 해당 피복 폴리곤에 면 형상체가 포함되는 바와 같을 경우에, 대상체에 근접하는 면 형상체가 있는 것으로 생각한다. 그리고, 면 형상체에 접촉하고 있는 등의 소정의 조건을 충족시키는 피복 폴리곤을 투영용 폴리곤으로서 선택해서 묘화함으로써, 상기 대상체의 그림자를 면 형상체 위에 생성한다.
또한, 임의의 대상체와 해당 대상체를 덮는 피복 폴리곤과의 사이에는 소정의 거리가 유지되고, 이 거리에 따라서 그림자를 나타내는 방법이 다르다. 즉, 상기 대상체로부터 보다 멀리 있는 면 형상체에 대해서도 그림자를 투영하고자 할 경우에는, 상기 대상체와 피복 폴리곤 사이의 거리를 보다 크게 취하면 된다. 반대로 상기 대상체의 가까이에 있는 면 형상체에 대해서만 그림자를 투영하고자 할 경우에는, 상기 대상체와 피복 폴리곤 사이의 거리를 보다 작게 취하면 된다.
선택부는, 상기 복수의 피복 폴리곤 중, 소정의 묘화 조건을 충족시키는 것을 투영용 폴리곤으로서 선택한다. 즉, 선택부는, 전술한 바와 같이, 면 형상체에 접촉하고 있는 등의 소정의 조건을 충족시키는 피복 폴리곤을 투영용 폴리곤으로서 선택한다.
생성부는, 상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 가상공간을 화상을 생성한다. 즉, 생성부는, 선택부에 의해 선택된 투영용 폴리곤을 묘화해서, 상기 대상체의 그림자를 면 형상체 위에 생성한다. 또한, 생성부는, 전형적으로는 Z버퍼법 등을 이용해서 대상체를 묘화한다. 즉, 예를 들어, 묘화하는 화상 데이터를 구성하는 화소마다, 시점에 가장 가까운 폴리곤에 대응하는 텍스처(texture) 정보(또는 투과도 정보)의 색으로, 상기 화소를 칠하도록 해서 대상체(및 면 형상체나 피복 폴리곤)를 묘화해서 음면(陰面) 처리를 행한다.
또, 생성부는, 상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 면 형상체를 묘화하고, 상기 시점에서부터 상기 시선방향으로 본 상기 투영용 폴리곤을 묘화하며, 상기 시점에서부터 상기 시선방향으로 본 상기 대상체를 묘화함으로써, 상기 시점에서부터 상기 시선방향으로 상기 가상공간을 본 화상을 생성하도록 해도 된다.
여기서, 상기 대상체에는 충돌 판정 처리가 실시되므로, 상기 대상체와 면 형상체와의 배치는 겹치는 일은 없다. 즉, 상기 대상체가 면 형상체에 「깊이 박히는」 것과 같은 상태가 생기는 일은 없다. 그러나, 피복 폴리곤에는 이러한 충돌 판정 처리가 실시되지 않으므로, 피복 폴리곤과 면 형상체의 위치가 겹쳐서 배치될 경우가 있다. 즉, 시점의 방향에서부터 보아서, 투영용 폴리곤이 면 형상체의 표면에 「깊이 박힌」 상태로 배치될 경우가 있다. 그러나, 피복 폴리곤이 면 형상체에 깊이 박혀 있을 경우, 투영용 폴리곤은 면 형상체에 가려져서 묘화되지 않는다. 이 문제를 회피하기 위해서, 생성부는, 시점의 방향에서부터 보아서, 상기 면 형상체, 상기 투영용 폴리곤, 상기 대상체의 순서로 묘화해서, 가상공간의 2차원 화상을 생성하도록 해도 된다.
또한, 임의의 피복 폴리곤과 상기 면 형상체와의 배치가 서로 접촉하는 배치인 경우, 해당 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것으로 한다. 즉, 투영용 폴리곤으로서 묘화되는 피복 폴리곤의 조건은, 면 형상체의 형상을 구성하는 폴리곤과 접촉하고 있는 피복 폴리곤인 것으로 한다. 또한, 임의의 피복 폴리곤과 상기 면 형상체가 서로 접촉하는지의 여부는, 예를 들어, 양자가 교차하는지의 여부로 판정한다.
또, 임의의 피복 폴리곤과 상기 면 형상체와의 배치가 상기 임의의 피복 폴리곤이 상기 면 형상체에 포함되는 배치일 경우, 상기 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것으로 해도 된다. 즉, 면 형상체의 내부에 포함되는 바와 같은 피복 폴리곤도, 투영용 폴리곤으로서 묘화한다.
또한, 상기 복수의 피복 폴리곤의 각각과 상기 면 형상체와의 배치가 서로 접촉하거나, 혹은 상기 피복 폴리곤이 상기 면 형상체에 포함되는 배치인 것 중에서, 상기 면 형상체의 표면에 대한 기울기가 최소인 피복 폴리곤만이 상기 소정의 묘화 조건을 충족시키는 것으로 해도 된다. 즉, 선택부는, 면 형상체의 표면을 구성하는 폴리곤과 접촉하거나 또는 면 형상체의 내부에 포함되는 피복 폴리곤 중, 해당 면 형상체의 표면과 가장 평행에 가까운 피복 폴리곤이 상기 면 형상체의 표면에 대해서 가장 영향을 끼치는 피복 폴리곤이라고 간주하여, 상기 피복 폴리곤을 투영용 폴리곤에 채용한다. 이것에 의해, 광원의 위치를 고려한 복잡한 계산을 행하지 않고, 그림자인 듯한 표현을 실현한다.
또, 기억부는, 광원의 위치를 또한 기억하고, 생성부는, 상기 광원으로부터 멀어지도록 소정의 거리만큼 상기 투영용 폴리곤을 이동시키고 나서, 상기 광원에 상기 대상체와 상기 면 형상체가 비추이는 것으로 해서 묘화하도록 해도 된다. 즉, 광원의 위치에 따라서, 투영용 폴리곤을 이동시킴으로써, 광원의 위치에 의한 영향을 투영용 폴리곤에 반영시킨다.
또한, 생성부는, 상기 투영용 폴리곤을 포함하는 평면과 상기 면 형상체의 표면을 포함하는 평면과의 교선이 존재할 경우, 해당 교선을 중심으로 상기 투영용 폴리곤을 회전시키고, 상기 교선이 존재하지 않을 경우, 해당 두 평면의 법선을 따라서 상기 투영용 폴리곤을 이동시켜, 상기 투영용 폴리곤을 상기 면 형상체의 표면 위에 배치하고 나서 묘화하도록 해도 된다.
이 경우, 상기 투영용 폴리곤은 면 형상체의 표면 위를 따르도록 이동되므로, 전술한 바와 같이, 생성부는 상기 면 형상체, 상기 투영용 폴리곤, 상기 대상체의 순서로 묘화시키지 않더라도, 투영용 폴리곤은 면 형상체에 가려지는 일없이 묘화된다.
또한, 임의의 피복 폴리곤이 상기 대상체보다도 상기 시점에 가까울 경우, 상기 면 형상체와의 배치에 관계없이, 상기 소정의 묘화 조건은 충족시키지 않는 것으로 해도 된다. 즉, 본 발명에 따른 화상처리장치에 있어서는, 면 형상체와 접촉하고 있거나 또는 면 형상체에 포함되어 있는 피복 폴리곤이더라도, 시점과 대상체 사이에 존재하는 피복 폴리곤은 투영용 폴리곤으로서 선택하지 않는다. 따라서, 시점에서부터 보아서 대상체보다도 항상 뒤쪽에(깊숙이) 그림자가 표시되도록 묘화된다.
본 발명의 다른 관점에 따른 화상처리방법은, 기억부, 선택부 및 생성부를 구비하는 화상처리장치가 실행하여, 가상공간 내에 배치되는 대상체, 면 형상체 및 해당 면 형상체에 투영되는 상기 대상체의 상을 나타내는 화상을 생성한다.
기억부에는, 상기 가상공간 내에 배치되는 시점의 위치 및 시선의 방향, 상기 가상공간 내에 배치되는 대상체 및 면 형상체의 형상, 위치 및 방향, 그리고, 상기 대상체를 덮도록 배치되는 복수의 피복 폴리곤의 형상, 위치 및 방향이 기억된다.
상기 화상처리방법에 있어서, 선택 공정에서는, 선택부가 상기 복수의 피복 폴리곤 중 소정의 묘화 조건을 충족시키는 것을 투영용 폴리곤으로서 선택한다.
생성공정에서는, 생성부가, 상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 가상공간의 화상을 생성한다.
또, 임의의 피복 폴리곤과 상기 면 형상체와의 배치가 서로 접촉하는 배치일 경우, 해당 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것을 특징으로 한다.
참고로, 본 발명의 다른 관점에 따른 프로그램은, 컴퓨터를, 상기 화상처리장치로서 기능시키도록 구성한다.
또한, 본 발명의 프로그램은, 컴팩트 디스크, 가요성 디스크, 하드 디스크, 광자기 디스크, 디지털 비디오 디스크, 자기 테이프, 반도체 메모리 등의 컴퓨터 판독가능한 정보기록매체에 기록할 수 있다. 상기 프로그램은, 해당 프로그램이 실행되는 컴퓨터와는 독립해서, 컴퓨터 통신망을 거쳐서 배포?판매될 수 있다. 또한, 상기 정보기록매체는, 컴퓨터와는 독립해서 배포?판매할 수 있다.
본 발명은, 게임 등에 있어서, 가상공간 내의 대상체가 바닥이나 벽 등에 근접했을 때 생기는 그림자 등의 상을 간이하게 묘화하는 데 적합한 화상처리장치, 화상처리방법 및 정보기록매체, 나아가서는, 이를 컴퓨터상에서 실현하기 위한 프로그램을 제공할 수 있다.
도 1은 본 발명의 실시형태에 따른 화상처리장치 등이 실현되는 전형적인 게임장치의 개요구성을 나타낸 모식도;
도 2는 본 실시형태에 따른 화상처리장치의 개요를 나타낸 도면;
도 3a는 대상체와 해당 대상체에 대응하는 피복 폴리곤을 비스듬하게 본 모습을 도시한 도면;
도 3b는 대상체와 상기 대상체에 대응하는 피복 폴리곤을 위쪽에서 본 모습을 도시한 도면;
도 3c는 대상체와 상기 대상체에 대응하는 피복 폴리곤을 옆쪽에서 본 모습을 도시한 도면;
도 3d는 피복 폴리곤에 대응해서 기억되는 투과도 정보의 예를 나타낸 도면;
도 4는 본 실시형태에 따른 화상처리장치의 동작을 설명하는 순서도;
도 5a는 본 실시형태에 따른 투영용 폴리곤의 선택 처리를 설명하는 순서도;
도 5b는 본 실시형태에 따른 대상체의 묘화 처리를 설명하는 순서도;
도 6a는 본 실시형태에 따른 투영용 폴리곤의 선택 처리를 설명하는 도면;
도 6b는 본 실시형태에 따른 투영용 폴리곤의 선택 처리를 설명하는 도면;
도 6c는 본 실시형태에 따른 투영용 폴리곤의 선택 처리를 설명하는 도면;
도 6d는 본 실시형태에 따른 투영용 폴리곤의 선택 처리를 설명하는 도면;
도 7은 묘화된 투영용 폴리곤의 예를 나타낸 도면;
도 8은 다른 실시형태에 따른 화상처리장치의 동작을 설명하는 순서도;
도 9a는 투영용 폴리곤을 면 형상체를 따르도록 이동시키는 모습을 도시한 도면;
도 9b는 투영용 폴리곤을 면 형상체를 따르도록 이동시키는 모습을 도시한 도면;
도 9c는 투영용 폴리곤을 면 형상체를 따르도록 이동시키는 모습을 도시한 도면;
도 9d는 투영용 폴리곤을 면 형상체를 따르도록 이동시키는 모습을 도시한 도면;
도 10a는 광원의 위치에 따라서 투영용 폴리곤을 이동시키는 모습을 도시한 도면;
도 10b는 광원의 위치에 따라서 투영용 폴리곤을 이동시키는 모습을 도시한 도면;
도 10c는 광원의 위치에 따라서 투영용 폴리곤을 이동시키는 모습을 도시한 도면.
(실시형태 1)
도 1은 본 발명의 실시형태의 하나에 따른 화상처리장치가 실현되는 전형적인 게임장치의 개요구성을 나타낸 모식도이다. 이하, 본 도면을 참조해서 설명한다.
게임장치(100)는, CPU(Central Processing Unit)(101), ROM(Read Only Memory)(102), RAM(Random Access Memory)(103), 인터페이스(interface)(104), 컨트롤러(105), 외부 메모리(106), 화상 처리부(107), DVD-ROM(Digital Versatile Disk-ROM) 드라이브(108), NIC(Network Interface Card)(109) 및 음성 처리부(110)를 구비한다.
게임용의 프로그램 및 데이터를 기억한 DVD-ROM을 DVD-ROM 드라이브(108)에 장착해서, 게임장치(100)의 전원을 투입함으로써, 상기 프로그램이 실행되어, 본 실시형태의 화상처리장치가 실현된다.
CPU(101)는 게임장치(100) 전체의 동작을 제어하여, 각 구성요소와 접속되어 제어신호나 데이터를 주고 받는다.
ROM(102)은 전원투입 직후에 실행되는 IPL(Initial Program Loader)을 기억한다. 이 IPL을 CPU(101)가 실행함으로써, DVD-ROM에 기록된 프로그램이 RAM(103)에 독출되어(즉, 읽어내어), CPU(101)에 의한 실행이 개시된다.
또, ROM(102)에는 게임장치(100) 전체의 동작 제어에 필요한 오퍼레이팅 시스템(operating system)의 프로그램이나 각종 데이터가 기록된다.
RAM(103)은, 데이터나 프로그램을 일시적으로 기억하기 위한 것으로, DVD-ROM으로부터 독출한 프로그램이나 데이터, 기타 게임의 진행이나 채팅 통신에 필요한 데이터가 유지된다.
인터페이스(104)를 개재해서 접속된 컨트롤러(105)는, 사용자가 게임을 실행할 때에 행하는 조작 입력을 접수한다.
인터페이스(104)를 개재해서 착탈 가능하게 접속된 외부 메모리(106)에는, 예를 들어, 채팅 통신의 로그 데이터 등이 다시 기록하는 것이 가능하도록 기억된다. 사용자는, 컨트롤러(105)를 개재해서 지시 입력을 행함으로써, 이들 데이터를 적절하게 외부 메모리(106)에 기억할 수 있다.
DVD-ROM 드라이브(108)에 장착되는 DVD-ROM에는, 전술한 바와 같이 게임을 실현하기 위한 프로그램과 게임에 부수되는 화상 데이터나 음성 데이터가 기록된다. CPU(101)의 제어에 의해서, DVD-ROM 드라이브(108)는, 이것에 장착된 DVD-ROM에 대한 독출 처리를 행하여, 필요한 프로그램이나 데이터를 독출한다. 독출된 데이터는 RAM(103) 등에 일시적으로 기억된다.
화상 처리부(107)는, DVD-ROM으로부터 독출된 데이터를 CPU(101)나 화상 처리부(107)가 구비하는 화상 연산 프로세서(도시 생략)에 의해서 가공 처리한 후, 이것을 화상 처리부(107)가 구비하는 프레임 메모리(도시 생략)에 기록한다. 프레임 메모리에 기록된 화상정보는, 소정의 동기 타이밍에서 비디오 신호로 변환되어 화상 처리부(107)에 접속되는 모니터(도시 생략)에 출력된다. 이것에 의해, 각종 화상표시가 가능해진다.
화상 연산 프로세서는, 2차원의 화상의 중첩 연산이나 α블렌딩 등의 투과 연산, 각종 포화 연산을 고속으로 실행할 수 있다.
또, 3차원 가상공간에 배치되어, 각종 텍스처 정보가 부가된 폴리곤 정보를, Z버퍼법에 의해 렌더링(rendering)해서, 소정의 시점 위치로부터 3차원 가상공간에 배치된 폴리곤을 내려다본 렌더링 화상을 얻는 연산의 고속 실행도 가능하다.
또한, CPU(101)와 화상 연산 프로세서가 협조 동작함으로써, 문자의 형상을 정의하는 폰트 정보에 따라서, 문자열을 2차원 화상으로서 프레임 메모리에 묘화하거나, 각 폴리곤 표면에 묘화하는 것이 가능하다. 폰트 정보는, ROM(102)에 기록되어 있지만, DVD-ROM에 기록된 전용의 폰트 정보를 이용하는 것도 가능하다.
NIC(109)는 게임장치(100)를 인터넷 등의 컴퓨터 통신망(도시 생략)에 접속하기 위한 것이다. NIC(109)는, 예를 들어, LAN(Local Area Network)을 구성할 때에 이용되는 10BASE-T/100BASE-T 규격에 따르는 것이나, 전화 회선을 이용해서 인터넷에 접속하기 위한 아날로그 모뎀, ISDN(Integrated Services Digital Network) 모뎀, ADSL(Asymmetric Digital Subscriber Line) 모뎀, 케이블 텔레비전 회선을 이용해서 인터넷에 접속하기 위한 케이블 모뎀 등과, 이들과 CPU(101)와의 중개를 행하는 인터페이스(도시 생략)에 의해 구성된다.
인터넷 내의 SNTP 서버에 NIC(109)를 개재해서 접속하고, 이곳으로부터 정보를 취득함으로써 현재의 일시 정보를 얻을 수 있다. 또, 각종 네트워크 게임의 서버 장치가, SNTP 서버와 마찬가지의 기능을 하도록 구성 설정해도 된다.
음성 처리부(110)는 DVD-ROM으로부터 독출한 음성 데이터를 아날로그 음성신호로 변환하고, 이것에 접속된 스피커(도시 생략)로부터 출력시킨다. 또, CPU(101)의 제어 하, 게임의 진행 중에 발생시켜야 할 효과음이나 악곡 데이터를 생성하고, 이것에 대응한 음성을 스피커로부터 출력시킨다.
그 밖에, 게임장치(100)는, 하드 디스크 등의 대용량 외부기억장치를 이용해서, ROM(102), RAM(103), DVD-ROM 드라이브(108)에 장착되는 DVD-ROM 등과 마찬가지 기능을 하도록 구성해도 된다.
또, 본 실시형태에 따른 화상처리장치(200)는, 게임장치(100)나, 휴대식의 게임장치상에 실현되지만, 일반적인 컴퓨터상에 실현할 수도 있다. 일반적인 컴퓨터는, 상기 게임장치(100)와 마찬가지로, CPU, RAM, ROM, DVD-ROM 드라이브 및 NIC를 구비하고, 게임장치(100)보다도 간이한 기능을 갖춘 화상 처리부를 구비하며, 외부기억장치로서 하드 디스크를 지닌 것 외에, 가요성 디스크, 광자기 디스크, 자기 테이프 등을 이용할 수 있도록 되어 있다. 또한, 컨트롤러가 아니라, 키보드나 마우스 등을 입력장치로서 이용한다. 그리고, 게임 프로그램을 설치한 후에, 그 프로그램을 실행시키면, 화상처리장치로서 기능시킬 수 있다.
이하에서는, 특별히 기재하지 않는 한, 화상처리장치에 대해서, 도 1에 나타낸 게임장치(100)에 의해 설명을 가한다. 화상처리장치는, 필요에 따라서 적절하게 일반적인 컴퓨터의 요소로 치환할 수 있고, 이들 실시형태도 본 발명의 범위에 포함된다.
(화상처리장치의 개요 구성)
도 2는 본 실시형태에 따른 화상처리장치(200)의 개요구성을 나타낸 모식도이다. 화상처리장치(200)는, 대상체의 그림자를 면 형상체 상에 투영하는 장치이며, 도 2에 나타낸 바와 같이, 기억부(201), 선택부(202), 생성부(203) 등을 구비한다. 이하에, 화상처리장치(200)의 각 구성요소에 대해서 본 도면을 참조해서 설명한다.
기억부(201)는 3차원 가상공간 내를 표현하기 위한 각종 정보를 기억한다.
우선, 기억부(201)는 3차원 가상공간 내의 각 요소(대상체 혹은 모델이라고도 불림)의 형상 정보를 기억한다. 각 대상체는, 그 형상을 폴리곤이라 불리는, 미소한 다각형(예를 들어, 2각형이나 사각형 등)의 조합에 의해서 정의되는 서피스(표면)로서 표현된다.
또한, 기억부(201)는 각 대상체의 가상공간 내에 있어서의 형상, 위치 및 방향을 기억한다. 예를 들어, 기억부(201)는, 가상공간의 전체를 표현하는 글로벌(global) 좌표계(월드(world) 좌표계)와, 대상체마다 고정된 로컬(local) 좌표계를 기억한다. 전형적으로는, 대상체의 대표점(예를 들어, 중심)이 로컬 좌표계의 원점이며, 대상체의 표면 형상(즉, 대상체를 구성하는 폴리곤의 형상이나 상기 폴리곤이 배치되는 위치)이 로컬 좌표계에 의거해서 정의된다. 한편, 개개의 대상체의 위치는, 예를 들어, 대상체의 대표점을 글로벌 좌표계에 의거해서 정의하는 것으로 결정된다. 그리고, 대상체의 방향은, 예를 들어, 대상체의 대표점에서부터 대상체의 정면방향으로 연장되는 방향 벡터의 회전량 등에 의해서 정의한다.
또, 위치 정보는 직교좌표계를 이용해서 정의해도, 1개의 동경과 2개의 편각을 이용한 극좌표계를 이용해서 (r, θ, φ)로 표시해도 된다.
마찬가지로, 기억부(201)는, 대상체의 그림자가 투영되는 바닥 등의 면 형상체에 대해서도, 그 형상, 위치 및 방향 등의 정보를 기억한다.
또한, 기억부(201)는, 대상체를 덮도록 해서 배치되는 피복 폴리곤의 형상, 방향 및 위치를 기억한다. 피복 폴리곤은, 피복 폴리곤이 덮는 대상체의 로컬 좌표계에 대하여 고정해서 그 형상, 위치, 방향이 정의된다. 따라서, 대상체가 이동하면 피복 폴리곤도 추종해서 이동한다.
도 3에, 원기둥계의 대상체(310)를 덮도록, 복수의 피복 폴리곤(320)이 직방체 형상으로 배치되어 있는 예를 나타낸다. 도 3a는 대상체(310)와, 해당 대상체에 대응하는 복수의 피복 폴리곤(320)을 비스듬히 위쪽에서부터 본 사시도, 도 3b는 위쪽에서 본 도면, 도 3c는 옆쪽에서부터 본 도면을 나타낸다. 상기 예에서는, 정방형의 피복 폴리곤(320)이 6개, 서로 직각에 배치되어 있지만, 피복 폴리곤의 형상이나 수는 이것으로 한정하지 않고, 기타 다각형의 피복 폴리곤을, 대상체를 덮는 데 필요한 수만큼 사용해도 된다. 단, 피복 폴리곤에 의한 다면체는 볼록 다면체로 하는 것이 전형적이다. 피복 폴리곤은, 도 3에 나타낸 바와 같이, 대응하는 대상체로부터 소정의 거리를 두고 배치하는 것이 바람직하지만, 인접하도록 배치해도 된다.
또, 시점이나 투사면에 대해서도, 전술한 바와 같이, 글로벌 좌표계나 로컬 좌표계를 이용해서 위치나 방향을 정의한다. 투사면의 위치, 방향은, 가상 카메라의 위치, 방향이 사용자의 조작 등에 의해서 변경되었을 때, 갱신된다.
그 밖에, 기억부(201)는 대상체 각각의 표면에 붙이는 텍스처로 불리는 화상 데이터나, 상기 가상공간을 비추는 광원의 위치 등도 기억한다. 텍스처 정보를 대상체의 표면 형상에 붙임으로써, 대상체의 질감을 표현하는 것이 가능해진다.
기억부(201)는, 피복 폴리곤의 각각에 대응해서, 그림자를 표현하기 위한 투과도 정보도 기억한다. 투과도 정보는, 피복 폴리곤의 중심부에 있어서 가장 불투명하고(즉, 투과시키지 않고), 중심에서 멀어짐에 따라서, 서서히 투명하게 되도록(즉, 투과시키도록) 정의된다. 또, 불투명한 부분은 그림자를 나타내므로, 검정 등의 어두운 색을 지정하는 것이 전형적이다. 도 3d에 피복 폴리곤이 갖춘 투과도 정보의 예를 나타낸다. 검은 부분이 불투명한 부분, 흰 부분이 투명부분을 나타내고 있다. 여기서, 피복 폴리곤의 형상을 명확히 하기 위해서, 투과도 정보의 주위에 정방형을 명기하고 있지만, 실제로는 이 정방형은 묘화되지 않는다. 또한, 투과도 정보는 중심의 불투명 부분이 원형으로 되어 있지만, 대상체의 형상에 따라서 원형 이외의 형상을 사용해도 된다.
이들 기억부(201)에 기억되는 정보는 예를 들어 DVD-ROM에 미리 격납되어 있고, CPU(101)가 DVD-ROM 드라이브(108)에 장착된 DVD-ROM을 독출해서 RAM(103)에 일시 기억시킨다. 혹은, 외부 메모리(106)에 기억시킨 이들 정보를, CPU(101)에 독출시켜, RAM(103)에 일시 기억시켜도 된다. 또한, CPU(101)는, 일시 기억된 정보를, 예를 들어, 게임의 진행에 따라서, 수시로 갱신할 수 있다. 이와 같이, CPU(101), RAM(103), DVD-ROM 드라이브(108) 등이 협동해서 동작함으로써, 기억부(201)로서 기능한다.
선택부(202)는, 상기 복수의 피복 폴리곤 중, 소정의 묘화 조건을 충족시키는 것을 투영용 폴리곤으로서 선택하는 것이다. 소정의 묘화 조건에 대해서는, 본 화상처리장치의 동작 처리의 설명 부분에서 상세히 설명한다. 선택부(202)는, 면 형상체, 그리고, 피복 폴리곤의 형상, 위치 및 방향에 의거해서, 투영용 폴리곤을 선택한다. CPU(101)와 RAM(103)이 협동해서 동작함으로써, 선택부(202)로서 기능한다. 또한, 투영용 폴리곤의 선택을 위해서 행하는 일련의 처리는, 그래픽용 라이브러리(library)나 전용 하드웨어가 제공하는 화상처리용의 연산 기능을 이용해서 실현가능하기 때문에, 게임의 개발 기간의 단축이나, 그림자를 묘화하는 처리 속도의 향상이 가능해진다.
생성부(203)는, 기억부(201)에 기억된 대상체의 위치 및 방향, 시점의 위치, 그리고, 투사면의 위치 및 방향에 의거해서, 상기 시점에서부터, 상기 3차원 가상공간 내의 각 대상체를 투사면에 투사(투영)해서, 모니터 등의 표시장치에 표시하는 화상 데이터를 생성한다. 또, 선택부(202)에 의해서 선택된 상기 대상체에 대한 투영용 폴리곤을 묘화함으로써, 해당 대상체의 그림자를 면 형상체 상에 생성한다. 본 실시형태에서는, 예를 들어, 1점 투시법으로 투시 투영한다. CPU(101), RAM(103) 및 화상 처리부(107)가 협동해서 동작함으로써, 생성부(203)로서 기능한다.
(화상처리장치의 동작)
이상과 같은 구성을 가진 화상처리장치(200)의 동작을, 도 4를 참조해서 설명한다. 또, 본 실시형태에 있어서는, 게임 캐릭터는 바닥이나 벽 등의 넓은 표면을 따라서 이동하여, 이들 바닥이나 벽 등의 면 형상체 위에, 고속으로 이동하는 게임 캐릭터의 그림자가 묘화된다. 전형적으로는, 게임 캐릭터의 이동 범위에는 제한이 마련되므로, 게임 캐릭터가 면 형상체의 단부에 도달하여, 면 형상체로부터 부분적으로 돌출하는 바와 같은 경우는 고려하지 않는다.
또한, 면 형상체의 단부에 캐릭터가 이동가능한 경우에도 본 발명을 적용하는 것은 가능하다. 이때, 현실과 다른 형태로 그림자가 투영되는 것으로 되지만, 단부에 캐릭터가 장시간 머무는 일은 드문 것으로 여겨지므로, 사용자가 위화감을 느끼는 일은 지극히 적은 것으로 생각된다.
화상처리장치가, 전원이 투입되어서, 처리를 개시하면, RAM(103)에 필요한 정보(예를 들어, 가상 카메라의 위치나 방향, 그리고 대상체의 형상, 위치 및 방향 등)가 판독되고, 기억부(201)가 초기화된다(스텝 S11).
이때, 사용자는, 콘트롤러(105)를 이용해서, 가상 카메라(시점)의 위치, 가상 카메라의 방향(시선방향), 가상 카메라의 촬영 배율(줌율) 외에, 대상체의 위치나 방향, 그리고 대상체의 움직임 등의 파라미터를 변경하는 취지의 지시를 할 수 있게 되어 있다.
CPU(101)는, 상기 사용자로부터 가상 카메라에 관한 파라미터의 변경의 지시 입력이 있었는지의 여부를 판단한다(스텝 S12). 지시 입력이 있었을 경우(스텝 S12: 예), CPU(101)는 지시에 따라서, 기억부(201)의 가상 카메라의 위치, 방향을 갱신한다(스텝 S13). 또, CPU(101)는, 갱신된 가상 카메라의 위치나 방향, 그리고 줌율에 따라서, 시점에서부터 시선방향으로 본 가상공간을 투사하는 투사면이 해당 가상공간 내에 배치되는 위치나 방향을 산출한다(스텝 S14).
즉, CPU(101)는 시점을 기점으로 하는 시선 벡터(시선의 방향을 나타내는 벡터)와 수직으로 교차하는 방향을 산출하고, 이것을 투사면의 방향으로 한다. 즉, 시선 벡터는 투사면의 중심을 관통하여, 투사면의 법선 벡터와 일치한다. 그리고, 줌인(zoom in)일 때에는 투사면을 3차원 공간 내의 촬영 대상에 가깝도록(시점에서 멀어지도록) 병행 이동시키고, 줌 아웃(zoom out)일 때에는 촬영 대상으로부터 멀어지도록(시점에 가깝도록) 평행 이동시킨다. 시선 벡터의 방향을 변경할(즉, 가상 카메라를 파노라마 방식으로 할) 때에는, 시선 벡터의 방향을 따라서 투사면의 방향도 변화시킨다.
또, 사용자로부터 가상 카메라에 관한 파라미터의 변경의 지시 입력이 없었을 경우(스텝 S12: 아니오), 처리는 스텝 S15로 진행한다.
이어서, CPU(101)는, 상기 사용자로부터의 대상체의 위치나 방향에 관한 지시 입력이 있었는지의 여부를 판단한다(스텝 S15). 지시 입력이 있었을 경우(스텝 S15: 예), CPU(101)는 지시 입력에 의거해서 3차원 공간 내에서 대상체를 평행 이동이나 회전시켜, 기억부(201)에 기억되는 대상체의 위치나 방향을 갱신한다(스텝 S16). 대상체에 대응해서 피복 폴리곤이 존재할 경우, 피복 폴리곤은, 상기 대상체에 고정되어 있기 때문에, 대상체의 이동에 대한 지시 입력에 대응해서, 피복 폴리곤의 위치나 방향도 산출한다(스텝 S17). 지시 입력이 없었을 경우(스텝 S15: 아니오), 처리는 스텝 S18로 진행한다.
또한, 가상 카메라의 위치나 방향, 촬영 배율, 대상체의 위치 및 방향 등의 파라미터는, 제어 프로그램 등으로부터 부여되어도 된다. 혹은, 시간의 경과에 대응해서 파라미터를 소정의 값으로 변경하거나, 랜덤하게 변경하거나 해도 된다.
이어서, 선택부(202)는, 그림자를 묘화하고자 하는 대상체의 각각에 대해서, 상기 대상체를 덮는 복수의 피복 폴리곤 중에서, 그림자로서 묘화하는 투영용 폴리곤을 선택한다(스텝 S18). 투영용 폴리곤을 선택부(202)가 선택하는 처리를 도 5a를 참조해서 설명한다.
우선, 선택부(202)는 상기 대상체를 덮는 피복 폴리곤의 정점 중, 면 형상체에 매몰되어 있는 정점을 추출한다(스텝 S181). 피복 폴리곤의 정점이 면 형상체에 매몰되어 있는지의 여부는, 상기 정점에서부터 면 형상체를 구성하는 표면을 향해서 뻗는, 면 형상체의 표면에 대해서 수직인 벡터와, 상기 면 형상체의 법선 벡터와의 방향을 비교해서 판단한다. 두 벡터의 방향이 동일하면, 상기 정점은 면 형상체에 매몰되어 있다. 두 벡터의 방향이 반대 방향이면, 상기 정점은 면 형상체에 매몰되어 있지 않다.
예를 들어, 도 6a는, 도 3에 나타낸 대상체(310) 및 피복 폴리곤(320)을 옆쪽에서부터 본 모습을 나타낸 도면이다(즉, 도 3c와 마찬가지의 도면이다). 이때, 도 6a에 나타낸 바와 같이, 면 형상체(430)의 표면(A)에 피복 폴리곤이 매몰되어 배치되어 있는 것으로 한다. 예를 들어, 도 6a의 정점(X1)이 면 형상체(430)에 매몰되어 있는지의 여부를 판단하기 위해서는, 정점(X1)으로부터 표면(A)에 대해서 수직으로 뻗는 벡터(v1) 및 표면(A)에 대한 법선 벡터(X2)의 방향을 비교한다. 도 6a에 있어서는 두 벡터의 방향은 동일하기 때문에, 정점(X1)은 면 형상체(430)에 매몰되어 있다고 판단된다. 이 처리를 모든 정점에 대해서 행하여, 매몰되어 있는 정점을 추출한다.
피복 폴리곤의 임의의 정점이 면 형상체에 매몰되어 있다고 판단되면, 해당 정점에 접하는 적어도 3개의 피복 폴리곤은 면 형상체에 접촉하고 있다(즉, 교차하고 있다 또는 포함되어 있다)라고 판단할 수 있다. 선택부(202)는 스텝 S181에서 추출한 정점에 접하고 있는 모든 피복 폴리곤을 투영용 폴리곤 후보로서 선택한다(스텝 S182).
도 6b은 도 6a에 나타낸 대상체(310)를 비스듬히 위쪽에서부터 본 도면이다. 이 도 6b에 나타낸 바와 같이, 면 형상체에 매몰되어 있는 정점은 (X1), (X2), (X3), (X4)인 것으로 판단된다. 그리고, 도 6a에 나타낸 대상체(130)를 위쪽에서부터 본 도 6c에 나타낸 바와 같이, 정점(X1), (X2), (X3), (X4)에 접하는 피복 폴리곤(320A), (320B), (320C), (320D), 그리고, 밑면을 구성하는 폴리곤(320E)이 면 형상체와 접촉하고 있는 피복 폴리곤으로서 선택된다.
이어서, 선택부(202)는 스텝 S182에서 선택된 피복 폴리곤 중, 시점에서부터 시선방향으로 보아서, 상기 대상체보다도 멀리 위치하는 피복 폴리곤을 선택한다(스텝 S183). 대상체보다도 멀리 있는 피복 폴리곤은, 예를 들어, 다음의 처리를 피복 폴리곤의 각각에 행하여 선택하면 된다.
즉, 스텝 S182에서 선택된 피복 폴리곤의 각각에 대해서, 법선 벡터(피복 폴리곤의 표면의 외향 법선 벡터)와, 시점에서부터 피복 폴리곤의 대표점(예를 들어 중심)까지를 연결하는 방향 벡터(혹은 시선 벡터)가 이루는 각도를, 내적을 구하는 등 해서 산출하고, 상기 각도가 90° 이내이면, 상기 피복 폴리곤은, 상기 대상체보다도 멀리 있는 것으로 한다. 본 실시형태의 경우, 피복 폴리곤은 대응하는 대상체를 덮도록 배치되므로, 시점에서부터 피복 폴리곤의 대표점까지를 연결하는 방향 벡터와 가까운 방향을 향하고 있는 피복 폴리곤은, 시점에서부터 보아서 상기 대상체의 뒤쪽에 존재하는 피복 폴리곤인 것을 알 수 있다.
이 밖에, 시점과 대상체의 대표점(예를 들어, 중심)의 거리가 시점과 피복 폴리곤의 대표점(예를 들어, 중심)의 거리보다도 작을 경우에, 시점에서부터 보아서, 상기 피복 폴리곤이 상기 대상체의 후방에 있는 것으로 해도 된다.
예를 들어, 도 6d에 나타낸 바와 같이, 시점(440)의 방향에서부터 대상체(310)를 보고 있을 경우(즉, 도 6c에 있어서는, 비스듬히 위쪽에서부터 화살표 방향으로 대상체(310)를 보고 있을 경우)를 예로 들어 설명한다. 이때, 예를 들어, 피복 폴리곤(320A)의 법선 벡터(420)와, 시점에서부터 피복 폴리곤의 대표점을 통과하는 방향 벡터(410)가 이루는 각도(α)는 90° 이내이기 때문에, 피복 폴리곤(320A)은 대상체(310)보다도 뒤쪽에 있다고 선택부(202)는 판단한다. 마찬가지로, 피복 폴리곤(320C)을 제외한, 밑면에 배치되는 피복 폴리곤(320E), 피복 폴리곤(320D)(도 6d에 있어서는 읽는 사람의 방향을 향하고 있는 피복 폴리곤) 및 (320D)에 대면해서 배치되는 피복 폴리곤(320B)도 대상체(310)보다도 뒤쪽에 배치되어 있다고 판단된다.
이어서, 선택부(202)는, 이와 같이 해서 선택된 상기 피복 폴리곤의 각각에 대해서 면 형상체의 표면과 가장 가까운 기울기 지니고 있는 피복 폴리곤을 투영용 폴리곤으로서 1개 선택한다(스텝 S184). 이것은, 예를 들어 스텝 S183에서 산출된 피복 폴리곤의 법선 벡터를 이용해서 선택한다.
즉, 스텝 S182에서 선택된 피복 폴리곤의 각각에 대해서, 상기 피복 폴리곤의 법선 벡터의 반대 방향의 벡터와, 면 형상체의 법선 벡터를 비교한다. 그래서, 두 벡터의 방향이 가장 가까운 것(즉, 내적이 가장 1에 가까운 것)을 1개 선택한다. 도 6d에 있어서는, 피복 폴리곤(320A), (320B), (320D), (320E) 중, 피복 폴리곤(320E)이 면 형상체(430)의 표면에 가장 가까운 기울기를 지니고 있는 것으로 판단된다.
또, 면 형상체의 표면에 가장 가까운 기울기를 지니고 있는 피복 폴리곤이 복수개 얻어진 경우에는, 어느 쪽인가 한쪽을 선택해도, 그들을 양쪽 투영용 폴리곤으로서 채용해도 된다.
이상의 스텝 S181 내지 S184를, 그림자를 묘사하고자 하는 모든 대상체에 대해서 행하여, 투영용 폴리곤을 선택한다. 그리고, 상기 선택된 투영용 폴리곤을, 대응하는 대상체에 관련시켜서, 화상처리장치(200)의 RAM(103)에 기억한다.
이어서, 생성부(203)는, 다음에 나타낸 스텝 S19 및 S20을 상기 가상공간 내의 전체 대상체 및 선택된 전체 투영용 폴리곤에 대해서 실시하여, 상기 가상공간의 2차원 화상을 묘화한다.
우선, 생성부(203)는 대상체 및 선택된 투영용 폴리곤의 투사처 영역을 구한다(스텝 S19). 본 실시형태에서는, 전술한 바와 같이, 각 대상체를 투사면에 1점 투시법으로 투시 투영하므로, 시점에서 멀리 있는 대상체는 작아지고, 가까이 있는 대상체는 크게 투영되는 것으로 된다. 단, 1점 투시법 대신에, 평행 투영을 채용할 수도 있다.
대상체의 투영처를 구하면, 투영처의 각 영역에, 대응하는 텍스처가 대응하는 영역(투영용 폴리곤에 있어서는, 투영처에 투과도 정보)을 붙여서(매핑해서) 묘화한다(스텝 S20). 스텝 S20의 상세한 처리를 도 5b의 순서도에 나타낸다.
우선, 생성부(203)는, 화상처리장치(200)의 RAM(103) 등을 참조해서, 현재 주목하고 있는 대상체에 대해서, 투영용 폴리곤이 선택되어 있는지의 여부를 판단한다(스텝 S201). 투영용 폴리곤이 선택되어 있지 않은 대상체에 대해서는(스텝 S201: 아니오), 생성부(203)는, 음면 처리를 행하기 위해서, 예를 들어, Z버퍼법 등을 이용한다(스텝 S202). 즉, 생성부(203)는 묘화하는 화상 데이터를 구성하는 화소마다, 시점(투사면)에 가장 가까운 폴리곤에 대응하는 텍스처 정보(또는 투과도 정보)의 색으로, 해당 화소를 칠하도록 한다.
이때, 예를 들어, 도 6d에 있어서, 투영용 폴리곤(320E)은, 시점에서부터 보아서 면 형상체(430)보다도 안쪽에 배치된다. 따라서, 상기와 같은 음면 처리를 행하면, 투영용 폴리곤(320B)은 대상체(310)에 완전히 가려져 버린다. 혹은, 투영용 폴리곤의 일부가 면 형상체에 「깊이 박힌」 상태에서 배치되는 바와 같은 경우, 해당 「깊이 박힌」 부분이 면 형상체에 의해서 가려져 버린다.
이 문제를 회피하기 위해서, 투영용 폴리곤이 선택되어 있는 대상체에 대해서는(스텝 S201: 예), 생성부(203)는, 상기 시점에서부터 상기 시선방향으로 본 상기 면 형상체를 우선 묘화하고, 이어서, 상기 시점에서부터 상기 시선방향으로 본 상기 투영용 폴리곤을 묘화한다. 그리고, 최후에, 상기 시점에서부터 상기 시선방향으로 본 상기 대상체를 묘화한다(스텝 S203). 이것에 의해, 면 형상체, 투영용 폴리곤, 그리고, 대상체의 순서로 항상 묘화되어, 투영용 폴리곤이 면 형상체에 가려져 버리는 것을 회피할 수 있다.
이상의 화상생성 처리를 종료하면, 생성부(203)는 수직동기 개입중단이 생길 때까지 대기한다(스텝 S21). 이 대기 중에는, 다른 처리(예를 들어, RAM(103) 내에 기억되는 각 대상체 및 가상 카메라의 위치나 방향을, 시간의 경과나 사용자로부터의 처리에 의거해서 갱신하는 등의 처리)를 코루틴(coroutine)적으로 실행해도 된다.
수직동기 개입중단이 생기면, 생성부(203)는 묘화한 화상 데이터(통상 프레임 버퍼에 기억)의 내용을 모니터(도시 생략)에 전송해서, 화상을 표시하고(스텝 S22), 스텝 S12로 되돌아온다. 예를 들어, 도 6d에 나타낸 대상체에 대해서는, 밑면의 피복 폴리곤만이 투영용 폴리곤으로서 묘화되어, 시점방향에서부터 보면, 도 7과 같은 그림자가 얻어진다. 즉, 투과도 정보의 중심부분은 불투명하기 때문에, 그림자인 듯한 표현이 실현된다. 그리고, 외측을 향해서 서서히 투명으로 되는 부분에 대해서는, 피복 폴리곤보다 이전에 묘화된 면 형상체가 표시된다. 또한, 투영용 폴리곤의 외주는 실제로는 묘화되지 않는다. 본 도면에서는, 이해를 용이하게 하기 위해서 투영용 폴리곤의 외주인 정방형을 명기하고 있다.
(실시형태 2)
실시형태 1에서는, 생성부(203)는, 면 형상체 중에 「깊이 박힌」 상태로 배치되는 피복 폴리곤이 있는 것을 고려해서, 시점에서부터 시선 방향으로 가상공간을 보고서, 면 형상체, 피복 폴리곤, 대상체의 순서로 묘화함으로써, 피복 폴리곤이 면 형상체에 가려지지 않고, 항상 묘화되도록 하였다. 본 실시형태에서는, 생성부(203)는, 피복 폴리곤이 면 형상체를 따라서 표시되도록 피복 폴리곤의 위치를 변화시킨다. 또, 실시형태 2의 화상처리장치의 구성은 도 2에 나타낸 화상처리장치(200)와 동일하기 때문에 설명을 생략한다.
(화상처리장치의 동작)
본 실시형태의 처리의 흐름을 도 8에 나타낸다. 화상처리장치(200)는, 도 4에 나타낸 스텝 S11 내지 S18, S21 및 S22와 마찬가지의 처리(스텝 S71 내지 S78, S82 및 S83)를 행한다. 본 실시형태에서는, 화상처리장치(200)의 생성부(203)는 추가로 스텝 S79를 실시하여, 투영용 폴리곤으로서 선택된 피복 폴리곤을 면 형상체를 따르도록 이동시킨다.
피복 폴리곤을 면 형상체를 따르도록 이동시키는 방법을, 도 9를 참조해서 설명한다. 도 9a는, 도 6a와 마찬가지로, 대상체(310) 및 해당 대상체(310)에 대응하는 복수의 피복 폴리곤(320)을 옆쪽에서부터 본 모습을 도시한 도면이다. 여기에서, 피복 폴리곤(320) 중, 밑부분의 피복 폴리곤(320E)이 투영용 폴리곤으로서 선택되어 있다. 그리고, 면 형상체(900)는, 선(910)에 있어서 피복 폴리곤(320E)과 교차하고 있다. 도 9b에, 피복 폴리곤(320E)과 면 형상체(900)가 교차하고 있는 부분을 비스듬히 본 모습을 나타낸다.
도 9B에 나타낸 바와 같이 투영용 폴리곤(320E)을 포함하는 평면과 면 형상체(900)의 표면은, 선(910)에서 교차한다. 생성부(203)는, 우선, 투영용 폴리곤(320E)을 면 형상체(900)와 교차하고 있는 선(910)에 대해서 회전시켜, 면 형상체(900)의 표면과 평행하게 한다. 도 9c는, 투영용 폴리곤(320E)을 선(910)에 대해서 화살표 방향으로 회전시켜, 면 형상체(900)와 평행하게 되도록 얻어진 투영용 폴리곤(320E')을 나타낸다.
최후에, 도 9d에 나타낸 바와 같이, 소정의 거리(대응하는 대상체(310)와 충돌하지 않는 거리)만큼, 면 형상체(900)의 표면의 법선 벡터(v)의 방향을 따라서, 투영용 폴리곤을 평행 이동시킨다(이동 후의 투영용 폴리곤을 (320E")로 나타낸다). 이것에 의해, 실시형태 1과 같이 면 형상체, 시점에서부터 시선방향으로 보아서, 피복 폴리곤, 대상체의 순서로 묘화시키지 않더라도, 투영용 폴리곤은 항상 표시된다. 즉, 투영용 폴리곤은 시점에서부터 보아서 면 형상체보다도 가까이 배치되므로, 대상체나 피복 폴리곤의 투사처 영역을 구하고(스텝 S80), 상기 투사처 영역에 대응하는 텍스처나 투과도 정보를 붙여서, Z버퍼법 등의 음면 처리를 행하여 묘화(스텝 S81)함으로써, 피복 폴리곤은 면 형상체에 가려지는 일없이 묘화된다.
또한, 도 6a와 같이 투영용 폴리곤이 완전하게 면 형상체에 포함되어 있을 경우에도 투영용 폴리곤을 포함하는 평면 및 면 형상체를 포함하는 평면을 연장해서, 두 평면이 교차하는 선이 존재할 경우에는, 해당 선에 대해서 투영용 폴리곤을 회전시키면 된다. 한편, 투영용 폴리곤을 포함하는 평면과 면 형상체를 포함하는 평면이 완전하게 평행하게 되어 있을 경우, 생성부(203)는 투영용 폴리곤의 회전은 행하지 않고, 소정의 거리(대응하는 대상체에 부딪치지 않는 거리)만큼, 면 형상체의 표면의 법선 벡터의 방향을 따라서 평행 이동시킨다.
이상, 본 발명의 실시형태에 대해서 설명했지만, 본 발명에 있어서, 투영용 폴리곤을 선택하기 위하여 행하는 처리는, 그래픽용 라이브러리나 전용 하드웨어가 제공하는 화상처리용의 연산 기능을 이용해서 실현하는 것이 가능하기 때문에, 게임의 개발 기간의 단축이나, 그림자를 묘화하는 처리 속도의 향상이 가능해진다. 또, 상기 실시형태에 있어서는, 대상체의 밑부분에 면 형상체가 있을 경우만 설명했지만, 옆쪽이나 위쪽에 면 형상체가 있을 경우에 대해서도 마찬가지로 유효하다. 또한, 방의 모서리 등에 있어서, 바닥과 벽이라고 하는 복수의 면 형상체가 존재하는 바와 같은 경우에는, 각각의 면 형상체에 대해서 본 실시형태를 적용하면 된다.
본 발명은, 전술한 실시형태로 한정되지 않고, 다양한 변형 및 응용이 가능하다. 또한 전술한 실시형태의 각 구성요소를 자유롭게 조합시키는 것도 가능하다.
예를 들어, 상기 실시형태에 있어서 그림자를 생성할 경우에 대해서, 광원은 고려하지 않고 있다. 그렇지 않고, 광원의 위치를 고려해서, 광원으로부터 멀어지도록, 투영용 폴리곤을 이동시켜도 된다. 즉, 도 10a의 대상체(1000)에 대응하는 투영용 폴리곤(1010)을, 도 10b에 나타낸 바와 같이, 광원으로부터 멀어지도록 이동시켜도 된다.
이 경우, 예를 들어, 광원의 위치나 방향 등을 기억부(201)에 기억시켜 두고, 도 4의 스텝 S18 후, 혹은, 도 8의 스텝 S79에 있어서 투영용 폴리곤의 위치를 정한 후에, 광원의 위치나 방향에 의거해서, 다음과 같이 투영용 폴리곤을 더욱 이동시킨다. 즉, 도 10c에 나타낸 바와 같이, 투영용 폴리곤(1010)을 포함하는 평면(1020)과 광원(1030)로부터 상기 평면(1020)으로 뻗은 선(L)이 수직으로 교차하는 점(P1)과, 상기 투영용 폴리곤의 대표점(P2)(예를 들어, 중심)을 연결하는 방향 벡터(V)에 따라서, 상기 투영용 폴리곤을 소정의 거리만큼 평행 이동시키면 된다.
또, 상기 실시형태에 있어서는, 투영용 폴리곤은 그림자를 묘화하기 위해서 이용했지만, 그 밖의 용도에도 이용하는 것이 가능하다. 예를 들어, 면 형상체의 표면에 반사나 예기치 않은 불필요한 것이 찍힌 것 등이 있는 바와 같이 표현할 수도 있다. 예를 들어, 피복 폴리곤에 대응하는 투과도 정보의 그림자의 부분에, 해당 피복 폴리곤의 위치부터 본 대상체의 거울상 화상을 붙인다. 그리고, 상기 실시형태에 설명한 수순으로 투영용 폴리곤을 묘화하면, 대상체의 부근에 위치하는 면 형상체 위에, 해당 대상체의 거울상 화상이 표시되어, 면 형상체가 반사하고 있는 듯한 표현이 실현된다.
혹은, 피복 폴리곤에 대응하는 투과도 정보의 그림자의 부분에 소정의 색을 지니게 함으로써 상기 대상체가 상기 소정의 색으로 희미하게 발광하고 있는 듯한 표현도 가능해진다.
또, 상기 실시형태에 있어서는, 소정의 조건을 충족시키는 피복 폴리곤을 투영용 폴리곤으로서 1개 선택하였다. 그렇지 않고, 예를 들어 도 5에 나타낸 투영용 폴리곤의 선택 처리에 있어서, 스텝 S184를 생략하고, 스텝 S183까지의 조건을 충족시키는 복수의 피복 폴리곤을 모두 투영용 폴리곤으로서 선택해도 된다. 혹은, 스텝 S182에 있어서, 면 형상체의 표면과 교차하고 있는 피복 폴리곤만 선택하고, 완전히 면 형상체에 포함되어 있는 피복 폴리곤은 선택하지 않도록 해도 된다.
예를 들어, 도 6에 나타낸 대상체, 피복 폴리곤, 면 형상체에 대해서, 스텝 S184를 생략해서 투영용 폴리곤의 선택 처리를 적용하면, 피복 폴리곤(320A), (320B), (320D), 및 밑면에 배치되는 피복 폴리곤(320E)이 투영용 폴리곤으로서 선택된다. 선택된 투영용 폴리곤은 그대로 묘화해도 된다. 또는, 실시형태 2를 적용해서, 면 형상체를 따르도록, 이동시키고 나서 묘화해도 된다. 이것에 의해, 예를 들어 라디오시티(radiosity)법을 이용한 것 같은 복수의 그림자가 묘화된다.
또한, 면 형상체의 형상으로서는, 평면뿐만 아니라, 구면 등의 곡면을 이용할 수도 있다. 이 경우, 대상체의 근방에서 곡면에 접하는 평면을 고려하여 해당 평면을 상기 발명에 있어서의 「면 형상체」의 형상으로서 적용한다. 예를 들어, 곡면이 구면일 경우에는, 그 중심과 대상체의 중심을 연결하는 직선과 수직이면서 구면에 접하는 「접평면」을 구할 수 있다.
또한, 본원에 대해서는, 일본국 특허 출원 제2008-004260호를 기초로 하는 우선권을 주장하고, 해당 기초출원의 내용을 모두 본원에 원용하는 것으로 한다.
100: 게임장치 101: CPU
102: ROM 103: RAM
104: 인터페이스 105: 컨트롤러
106: 외부 메모리 107: 화상 처리부
108: DVD-ROM 드라이브 109: NIC
110: 음성 처리부 200: 화상처리장치
201: 기억부 202: 선택부
203: 생성부

Claims (10)

  1. 가상공간 내에 배치되는 대상체, 면 형상체 및 해당 면 형상체에 투영되는 상기 대상체의 상을 나타내는 화상을 생성하는 화상처리장치(200)로서,
    상기 가상공간 내에 배치되는 시점의 위치 및 시선의 방향, 해당 가상공간 내에 배치되는 대상체 및 면 형상체의 형상, 위치 및 방향, 그리고, 상기 대상체를 덮도록 배치되는 복수의 피복 폴리곤의 형상, 위치 및 방향을 기억하는 기억부(201);
    상기 복수의 피복 폴리곤 중, 소정의 묘화 조건을 충족시키는 것을 투영용 폴리곤으로서 선택하는 선택부(202); 및
    상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 가상공간의 화상을 생성하는 생성부(203)를 포함하고,
    임의의 피복 폴리곤과 상기 면 형상체와의 배치가 서로 접촉하는 배치일 경우, 상기 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것을 특징으로 하는 화상처리장치(200).
  2. 제1항에 있어서, 상기 생성부(203)는, 상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 면 형상체를 묘화하고, 상기 시점에서부터 상기 시선방향으로 본 상기 투영용 폴리곤을 묘화하며, 상기 시점에서부터 상기 시선방향으로 본 상기 대상체를 묘화함으로써, 상기 시점에서 상기 시선의 방향에 상기 가상공간을 본 화상을 생성하는 것을 특징으로 하는 화상처리장치(200).
  3. 제1항에 있어서, 임의의 피복 폴리곤과 상기 면 형상체와의 배치가, 해당 임의의 피복 폴리곤이 해당 면 형상체에 포함되는 배치일 경우, 상기 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것을 특징으로 하는 화상처리장치(200).
  4. 제3항에 있어서, 상기 복수의 피복 폴리곤의 각각과 상기 면 형상체와의 배치가 서로 접촉하거나 혹은 상기 피복 폴리곤이 상기 면 형상체에 포함되는 배치인 것 중에서, 상기 면 형상체의 표면에 대한 기울기가 최소인 피복 폴리곤만이 상기 소정의 묘화 조건을 충족시키는 것으로 하는 것을 특징으로 하는 화상처리장치(200).
  5. 제1항에 있어서, 상기 기억부(201)는, 광원의 위치를 또한 기억하고,
    상기 생성부(203)는, 상기 광원으로부터 멀어지도록 미리 설정된 거리만큼 상기 투영용 폴리곤을 이동시키고 나서, 상기 광원에 상기 대상체와 상기 면 형상체가 비추이는 것으로 해서 묘화하는 것을 특징으로 하는 화상처리장치(200).
  6. 제5항에 있어서, 상기 생성부(203)는, 상기 투영용 폴리곤을 포함하는 평면과 상기 면 형상체의 표면을 포함하는 평면의 교선이 존재할 경우, 해당 교선을 중심으로 상기 투영용 폴리곤을 회전시키고, 상기 교선이 존재하지 않을 경우, 상기 두 평면의 법선을 따라서 상기 투영용 폴리곤을 이동시켜, 상기 투영용 폴리곤을 상기 면 형상체의 표면 상에 배치하고 나서 묘화하는 것을 특징으로 하는 화상처리장치(200).
  7. 제1항에 있어서, 임의의 피복 폴리곤이 상기 대상체보다도 상기 시점에 가까울 경우, 상기 면 형상체와의 배치에 관계없이, 상기 소정의 묘화 조건은 충족시키지 않는 것으로 하는 것을 특징으로 하는 화상처리장치(200).
  8. 가상공간 내에 배치되는 대상체, 면 형상체 및 해당 면 형상체에 투영되는 상기 대상체의 상을 나타내는 화상을 생성하는 화상처리방법으로서,
    상기 화상처리방법은, 기억부(201), 선택부(202) 및 생성부(203)를 포함하는 화상처리장치(200)가 실행하고,
    상기 기억부(201)에는, 상기 가상공간 내에 배치되는 시점의 위치 및 시선의 방향, 상기 가상공간 내에 배치되는 대상체 및 면 형상체의 형상, 위치 및 방향, 그리고, 상기 대상체를 덮도록 배치되는 복수의 피복 폴리곤의 형상, 위치 및 방향이 기억되고,
    상기 화상처리방법은,
    상기 선택부(202)가, 상기 복수의 피복 폴리곤 중, 소정의 묘화 조건을 충족시키는 것을 투영용 폴리곤으로서 선택하는 선택공정; 및
    상기 생성부(203)가, 상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 가상공간의 화상을 생성하는 생성공정을 포함하고,
    임의의 피복 폴리곤과 상기 면 형상체와의 배치가 서로 접촉하는 배치인 경우, 상기 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것을 특징으로 하는 화상처리방법.
  9. 컴퓨터를, 가상공간 내에 배치되는 대상체, 면 형상체 및 해당 면 형상체에 투영되는 상기 대상체의 상을 나타내는 화상을 생성하는 화상처리장치(200)로서 기능시키는 프로그램을 기록한 정보기록매체로서,
    상기 프로그램은, 상기 컴퓨터를,
    상기 가상공간 내에 배치되는 시점의 위치 및 시선의 방향, 상기 가상공간 내에 배치되는 대상체 및 면 형상체의 형상, 위치 및 방향, 그리고, 상기 대상체를 덮도록 배치되는 복수의 피복 폴리곤의 형상, 위치 및 방향을 기억하는 기억부(201);
    상기 복수의 피복 폴리곤 중, 소정의 묘화 조건을 충족시키는 것을 투영용 폴리곤으로서 선택하는 선택부(202); 및
    상기 대상체 및 면 형상체의 형상, 위치 및 방향, 상기 시점의 위치 및 시선의 방향, 그리고, 상기 투영용 폴리곤의 형상, 위치 및 방향에 의거해서, 상기 시점에서부터 상기 시선방향으로 본 상기 가상공간의 화상을 생성하는 생성부(203)
    로서 기능시키고,
    임의의 피복 폴리곤과 상기 면 형상체와의 배치가 서로 접촉하는 배치일 경우, 상기 임의의 피복 폴리곤은 상기 소정의 묘화 조건을 충족시키는 것을 특징으로 하는 프로그램을 기록한 정보기록매체.
  10. 삭제
KR1020107014655A 2008-01-11 2008-12-26 화상처리장치, 화상처리방법 및 정보기록매체 KR101146660B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2008-004260 2008-01-11
JP2008004260A JP4852555B2 (ja) 2008-01-11 2008-01-11 画像処理装置、画像処理方法、ならびに、プログラム
PCT/JP2008/073835 WO2009087936A1 (ja) 2008-01-11 2008-12-26 画像処理装置、画像処理方法、情報記録媒体、ならびに、プログラム

Publications (2)

Publication Number Publication Date
KR20100090719A KR20100090719A (ko) 2010-08-16
KR101146660B1 true KR101146660B1 (ko) 2012-05-23

Family

ID=40853058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107014655A KR101146660B1 (ko) 2008-01-11 2008-12-26 화상처리장치, 화상처리방법 및 정보기록매체

Country Status (7)

Country Link
US (1) US20100277474A1 (ko)
EP (1) EP2234068A1 (ko)
JP (1) JP4852555B2 (ko)
KR (1) KR101146660B1 (ko)
CN (1) CN101911127B (ko)
TW (1) TWI393069B (ko)
WO (1) WO2009087936A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161956A (zh) * 2016-08-16 2016-11-23 深圳市金立通信设备有限公司 一种拍摄时预览画面的处理方法和终端

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120249544A1 (en) 2011-03-29 2012-10-04 Giuliano Maciocci Cloud storage of geotagged maps
US9396581B2 (en) 2013-10-18 2016-07-19 Apple Inc. Contact shadows in visual representations
JP6708213B2 (ja) * 2015-08-12 2020-06-10 ソニー株式会社 画像処理装置と画像処理方法とプログラムおよび画像処理システム
KR102325297B1 (ko) * 2015-11-09 2021-11-11 에스케이텔레콤 주식회사 Ar 컨텐츠 자동 배치 방법
JP6897442B2 (ja) * 2017-09-12 2021-06-30 株式会社Jvcケンウッド 車両用装置、キャリブレーション結果判定システム、および、キャリブレーション結果判定方法、ならびに、プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280596A (ja) 2003-03-17 2004-10-07 Nintendo Co Ltd シャドウボリューム生成プログラム及びゲーム装置
JP2007007064A (ja) 2005-06-29 2007-01-18 Konami Digital Entertainment:Kk ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2976963B2 (ja) * 1998-03-19 1999-11-10 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置
US6437782B1 (en) * 1999-01-06 2002-08-20 Microsoft Corporation Method for rendering shadows with blended transparency without producing visual artifacts in real time applications
JP3599268B2 (ja) * 1999-03-08 2004-12-08 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置及び記録媒体
JP4079410B2 (ja) * 2002-02-15 2008-04-23 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4082937B2 (ja) * 2002-06-07 2008-04-30 任天堂株式会社 ゲームシステム及びゲームプログラム
CN100478995C (zh) * 2003-07-31 2009-04-15 新加坡国立大学 梯形阴影映像
US7164430B2 (en) * 2003-09-25 2007-01-16 Via Technologies, Inc. Anti-aliasing line pixel coverage calculation using programmable shader
CN1278282C (zh) * 2003-12-04 2006-10-04 北京金山数字娱乐科技有限公司 场景动态光影实现方法
US7030878B2 (en) * 2004-03-19 2006-04-18 Via Technologies, Inc. Method and apparatus for generating a shadow effect using shadow volumes
US7567248B1 (en) * 2004-04-28 2009-07-28 Mark William R System and method for computing intersections between rays and surfaces
US20060017729A1 (en) * 2004-07-22 2006-01-26 International Business Machines Corporation Method to improve photorealistic 3D rendering of dynamic viewing angle by embedding shading results into the model surface representation
WO2006049870A1 (en) * 2004-10-27 2006-05-11 Pacific Data Images Llc Volumetric shadows for computer animation
JP4833674B2 (ja) 2006-01-26 2011-12-07 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4948218B2 (ja) * 2007-03-22 2012-06-06 キヤノン株式会社 画像処理装置及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280596A (ja) 2003-03-17 2004-10-07 Nintendo Co Ltd シャドウボリューム生成プログラム及びゲーム装置
JP2007007064A (ja) 2005-06-29 2007-01-18 Konami Digital Entertainment:Kk ネットワークゲームシステム、ゲーム装置、ゲーム装置の制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161956A (zh) * 2016-08-16 2016-11-23 深圳市金立通信设备有限公司 一种拍摄时预览画面的处理方法和终端

Also Published As

Publication number Publication date
KR20100090719A (ko) 2010-08-16
US20100277474A1 (en) 2010-11-04
EP2234068A1 (en) 2010-09-29
JP2009169508A (ja) 2009-07-30
TW200947345A (en) 2009-11-16
CN101911127A (zh) 2010-12-08
TWI393069B (zh) 2013-04-11
WO2009087936A1 (ja) 2009-07-16
JP4852555B2 (ja) 2012-01-11
CN101911127B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
KR101158255B1 (ko) 화상처리장치, 화상처리방법 및 정보기록매체
KR101146660B1 (ko) 화상처리장치, 화상처리방법 및 정보기록매체
JP2002236934A (ja) グラフィックシステムにおいて改良されたフォグ効果を提供するための方法および装置
US6717575B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
CN115082607A (zh) 虚拟角色头发渲染方法、装置、电子设备和存储介质
JP4267646B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP2005032140A (ja) 画像生成システム、プログラム及び情報記憶媒体
US20110102449A1 (en) Image Display Device, Image Display Method and Computer-Readable Information Recording Medium
CN108986228B (zh) 用于虚拟现实中界面显示的方法及装置
JP4229319B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4575937B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3445568B2 (ja) 水面の画像の形成方法、それを実現するためのコンピュータ読み取り可能な記憶媒体、及びゲームシステム
JP5063022B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2002092640A (ja) ゲームシステム及び情報記憶媒体
Zheng et al. Interactive Design and Optics-Based Visualization of Arbitrary Non-Euclidean Kaleidoscopic Orbifolds
JP2006252291A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4530312B2 (ja) ゲームシステム及び情報記憶媒体
JP4589517B2 (ja) 情報記憶媒体及び画像生成装置
JP2009271664A (ja) 表示装置、表示方法、ならびに、プログラム
JP4750085B2 (ja) 画像表示装置、画像表示方法、ならびに、プログラム
JPH11238145A (ja) 三次元立体構造体の二次元表示方法
CN115953519A (zh) 一种画面渲染方法、装置、计算机设备以及存储介质
JP2003216967A (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee