KR20010113703A - 굴절 매핑을 실행하는 시스템 및 방법 - Google Patents

굴절 매핑을 실행하는 시스템 및 방법 Download PDF

Info

Publication number
KR20010113703A
KR20010113703A KR1020017010572A KR20017010572A KR20010113703A KR 20010113703 A KR20010113703 A KR 20010113703A KR 1020017010572 A KR1020017010572 A KR 1020017010572A KR 20017010572 A KR20017010572 A KR 20017010572A KR 20010113703 A KR20010113703 A KR 20010113703A
Authority
KR
South Korea
Prior art keywords
vector
address
refracted
normal vector
line
Prior art date
Application number
KR1020017010572A
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 KR20010113703A publication Critical patent/KR20010113703A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/663Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의되고, 그리고 시선 벡터는 v로 정의될 때, 법선 벡터 n과 시선 벡터 v에 변위 k만큼 승산된 값 kv의 합 (n+kv)이 상기 구조 평면에 평행하도록 변위 k를 결정하고, 상기 굴절된 구조 주소는 상기 구조 주소를 (n+kv)의 상수곱, 즉 L(n+kv)의 양만큼 이동함으로써 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템이 준비된다. 적어도 두 다른 매체들은 공기와 물 또는 유리이다. 이와 같은 시스템에서, 대상물은 수면으로부터 돌출되는 부분과 물밑으로 가라앉는 부분을 가지며, 물밑으로 가라앉는 부분과 관련된 구조의 적어도 일부분에 대하여 굴절 현상에 따라 이동되는 굴절된 구조 주소가 결정될 수 있다.

Description

굴절 매핑을 실행하는 시스템 및 방법 { System for and method of implementing refraction mapping }
예를 들어, 비디오 게임기에서, 수면을 통하여 바다의 바닥을 볼 때, 바다의 바닥은 굴절 현상에 의해 비틀린 것처럼 보인다. 굴절 매핑은 전술한 현상을 시물레이션함에 의해 실제적인 그림을 생성하는 방법으로서 잘 알려져 있다.
종래의 굴절 매핑에서, 수면 위 수직 방향에서 수면 위로 돌출된 육지 부분과 물밑으로 가라앉은 부분이 유사한 투시 기법으로 개별적으로 처리되는 것이 필요하며, 그에 따라 중앙처리장치(CPU; Central Process Unit), 그래픽처리장치 (GPU; Graphic Process Unit) 및 등등을 위한 부담이 증가한다.
본 발명은, 예를 들어 비디오 게임기 등과 같은 엔터테인먼트 시스템을 포함하는 정보 장비에서, 대상물이 굴절 현상을 통하여 보이는 것처럼 이미지를 생성하는 굴절 매핑 기술에 관한 것이다.
도 1은 주 기기(비디오 게임기)와 보조 기기(이동형 전자 장비)를 포함하는 엔터테인먼트 시스템의 외관을 보여주는 평면도;
도 2는 주 기기(비디오 게임기)의 배면도;
도 3은 주 기기(비디오 게임기)의 외관 사시도;
도 4는 주 기기(비디오 게임기)의 주요부의 구성을 보여주는 블록 다이아그램;
도 5는 공기와 물 사이의 경계에서 굴절 현상을 생성하는 관점으로부터 시선의 상황을 도시한 다이아그램;
도 6은 현재 실행되는 굴절 매핑을 도시한 다이아그램;
도 7은 현재 실행되는 굴절 매핑의 절차에 따른 구조의 이미지를 보여주는 다이아그램;
도 8은 시선과 법선 사이에 형성되는 각 α가 도 5의 경우와 비교하여 비교적 작을 때, 공기와 물 사이의 경계에서 굴절 현상을 생성하는 관점으로부터 시선의 상황을 도시한 다이아그램;
도 9는, 도 10과 함께, 물 아래로 부분적으로 가라앉은 울퉁불퉁한 대상물을 굴절 매핑하는 기술을 도시한 다이아그램;
도 10은, 도 9와 함께, 물 아래로 부분적으로 가라앉은 울퉁불퉁한 대상물을 굴절 영상화하는 기술을 도시한 다이아그램;
도 11은 수면 위로 물결이 일어날 때의 굴절 매핑을 도시한 다이아그램;
도 12는 굴절에 의해 생성된 이동의 양과 수면의 법선 사이의 관계를 도시한 다이아그램; 및
도 13은 본 실시형태에 따른 굴절 매핑의 절차에 따른 구조의 이미지를 보여주는 다이아그램이다.
따라서, 전술한 문제들의 관점에서, 본 발명의 목적은 쉬운 방법으로 굴절 매핑을 실행하는 시스템 및 방법을 제공하고, 그와 함께 그 방법의 기록 매체를 제공하는 것이다.
본 발명에 따른 굴절 매핑을 실행하는 시스템은 대상물을 투시 투영하고, 구조 평면에 대하여 대상물의 이차원 구조를 생성하는 수단과; 구조의 적어도 한 부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소를 결정하는 수단;을 포함하고, 이때 굴절된 구조 주소는 다른 매체들의 경계면에서의 법선 벡터 및 시선 벡터에 근거하여 결정된다.
본 발명에 따라 앞서 기술된 굴절 매핑을 실행하는 시스템에서, 굴절된 구조 주소는 법선 벡터와 시선 벡터 또는 구조 평면에 평행한 법선 벡터의 한 성분으로 구성되는 각에 의해 결정되는 것이 바람직하다.
바람직하게는, 본 발명에 따라 앞서 기술된 굴절 매핑을 실행하는 시스템에서, 적어도 두 개의 다른 매체들의 경계면과 시선 벡터의 교차점에서 법선 벡터는 n으로 정의되고, 시선 단위 벡터가 v로 정의될 때, 법선 벡터 n과 시선 단위 벡터 v에 변위 k만큼 승산되는 값 kv의 합(n+kv)이 구조 평면에 평행하도록 변위 k를 결정하고, 구조 주소는 (n+kv)의 상수곱의 양만큼, 즉 L(n+kv)만큼 이동된다.
나아가, 구조 주소는 구조 평면에 평행한 법선 벡터 n의 두 성분들(nx, ny)이 상수 L로 승산된 L(nx, ny)의 양만으로 이동될 수도 있다.
이때, 적어도 다른 두 매체들은 공기, 물 또는 유리와 같이 다른 굴절 지수들을 갖는 것들을 표현하는 것이 바람직하다.
본 발명에 따라 앞서 기술된 굴절 매핑을 실행하는 시스템은 굴절된 구조 주소에 근거하여 적어도 구조의 일부분을 이동하는 수단과; 이동된 구조를 이용하여스크린 위에 투시 전송하는 수단;을 더 포함하는 것이 바람직하다.
수면으로부터 돌출된 부분과 물밑으로 가라앉는 부분을 갖는 대상물과 같은 시스템에서, 가라앉는 부분에 관련된 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동되는 굴절된 구조 주소가 결정될 수 있다.
나아가, 그와 같은 시스템은 바람직하게는 비디오 게임기 내에 제공될 수 있다.
전술한 굴절 매핑을 실행하는 시스템에서, 구조 평면은 관점 좌표계 시스템의 시선 방향인 Z-축에 수직인 평면 위에 정의되고, 예를 들어, 지형의 수면으로부터 돌출된 육지부의 투시 투영과 동일한 절차로 수면 아래의 부분(하저 부분)을 나타내는 것이 가능하고, 그 결과로서, 단지 하나의 표현으로 육지 부분과 하저 부분을 일괄하여 실행함으로써 굴절을 이용하는 임의의 구조가 제작될 수 있다.
이 표현을 실행하는 시스템에 따르면, 굴절 현상에 의해 생성되는 이동의 양은 수면 아래의 하저 부분의 영상에 관련된 스넬의 법칙(the Snell's law)을 정확하게 만족하지는 않는다. 그러나, 쉬운 방법을 이용하여 스넬의 법칙에 근접하는 이동의 양을 얻음에 따라, 물 아래의 하저 부분을 질적으로 투영하는 것이 가능하다.
나아가, 본 발명에 따른 굴절 매핑을 실행하는 방법은 대상물을 투시 투영하고, 구조 평면에 대한 대상물의 이차원 구조를 생성하는 단계와; 구조의 적어도 일부분에 대하여 굴절 현상에 따라 이동하는 굴절된 구조 주소를 결정하는 단계;를 포함하고, 이때 굴절된 구조 주소는 다른 물질들의 경계면에서의 법선 벡터와 시선벡터에 근거하여 결정된다.
바람직하게는, 본 발명에 따른 굴절 매핑을 실행하는 방법에서, 굴절된 구조 주소는 법선 벡터와 시선 벡터 또는 구조 평면에 평행한 법선 벡터의 한 성분으로 구성되는 각에 의해 결정된다.
본 발명에 따른 굴절 매핑을 실행하는 방법에서, 적어도 두 개의 다른 매체들의 경계면과 시선 벡터의 교차점에서의 법선 벡터는 n으로 정의되고, 시선 단위 벡터가 v로 정의될 때, 법선 벡터 n과 시선 단위 벡터 v에 변위 k만큼 승산되는 값 kv의 합(n+kv)이 구조 평면에 평행하도록 변위 k를 결정하고, 굴절된 구조 주소는 (n+kv)의 상수곱의 양, 즉 L(n+kv)만큼 이동된다.
더욱이, 굴절된 구조 주소는 단지 구조 평면에 평행한 법선 벡터 n의 두 성분들(nx, ny)이 상수 L로 승산된 L(nx, ny)의 양만큼 이동될 수도 있다.
나아가, 본 발명의 목적들과 이점들이 첨부된 도면들과 함께 뒤따르는 상세한 설명으로부터 더욱 충분하게 설명될 것이다.
[ 본 발명을 실행하는 시스템 ]
처음에는, 본 발명에 따른 굴절 매핑을 실행하는 것이 가능한 엔터테인먼트 시스템이 첨부되는 도면들을 참조하여 간결하게 기술될 것이다.
도 1은 엔터테인먼트 시스템의 일 실시예로서, 비디오 게임기의 외관을 보여준다. 이 비디오 게임기(1)는 예를 들어 광학 디스크 등 내에 기록되어 있는 게임 프로그램을 읽고, 사용자(게임 플레이어)로부터의 지시에 반응하여 그를 실행한다. 나아가, 게임의 실행은 주로 게임의 득점과, 그의 표시 및 음성(오디오)을 조절하는 것을 의미한다.
비디오 게임기(1)의 주 몸체(2)는 예를 들어, 그 중앙 부분에 부착되어 시디롬(CD-ROM) 등 - 광학 디스크는 비디오 게임 등과 같은 응용 프로그램을 공급하는 기록 매체이다 - 과 같은 광학 디스크의 디스크 장착 유니트(3)와, 게임을 선택적으로 리셋하는 리셋 스위치(4)와, 전원 공급 스위치(5)와, 광학 디스크의 장착을 작동하는 디스크 작동 스위치(6) 및 두 개의 슬롯 유니트들(7A, 7B)을 포함하여 구성된다.
슬롯 유니트들(7A, 7B)에, 두 개의 작동기들(20)을 연결하는 것이 가능하고, 따라서, 두 명의 사용자들이 매치 게임 등을 할 수 있다. 나아가, 이들 슬롯 유니트들(7A, 7B)에, 게임 데이터를 저장(보관)하거나 읽어들이는 것이 가능한 메모리 카드 소자 및/또는 주 몸체로부터 분리됨에 의해 게임을 실행하는 것이 가능한 이동형 전자 장비를 삽입하는 것이 가능하다.
작동기(20)는 제 1 및 제 2 작동 유니트들(21, 22), L 버튼(23L), R 버튼 (23R), 시작 버튼(24), 선택 버튼(25)을 포함하고, 그리고 아날로그 작동을 가능하게 하는 작동 유니트들(31, 32), 이들 작동 유니트들(31, 32)의 작동 모드들을 선택하는 모드 선택 스위치(33) 및 선택된 작동 모드를 디스플레이하는 표시 유니트 (34)를 더 포함한다.
도 2는 비디오 게임기(1) 내의 주 몸체(2)의 전면에 제공되는 슬롯 유니트들 (7A, 7B)의 모양을 보여준다. 슬롯 유니트들(7A, 7B)은 각각 2단으로 형성되고, 메모리 카드(10) 및/또는 이동형 전자 장비(100)들이 삽입되는 메모리 카드 삽입 유니트들(8A, 8B)은 그 상단에 제공되며, 마찬가지로 조절기들(20)의 연결 단자 유니트들(26; 커넥터들)이 접속되는 조절기 연결 유니트들(9A, 9B; 잭들)이 그 하단에 제공된다.
메모리 카드 삽입 유니트들(8A, 8B)의 삽입 홀들(슬롯들)은 약간 비대칭으로 형성되고, 따라서, 메모리 카드들이 잘못 삽입되지 않도록 구성된다. 다른 한편으로는, 조절기 연결 유니트들(9A, 9B) 또한 약간 비대칭으로 형성되고, 따라서 조절기들(20)의 연결 단자들(26)이 잘못 삽입되지 않도록 구성되며, 나아가 그 삽입 홀들은 메모리 삽입 홀들(8A, 8B)과 다른 형태를 갖도록 형성되어 메모리 카드들이 잘못 삽입되지 않는다.
도 3은 비디오 게임기(1)의 전면에서 슬롯 유니트(7A)의 메모리 카드 삽입 유니트(8A) 안으로 이동형 전자 장비(100)가 삽입된 상태를 보여준다.
그리고, 도 4는 비디오 게임기(1)의 주요부의 개략적인 회로 구성의 일 실시예를 보여주는 블록 다이아그램이다.
이 비디오 게임기(1)는 중앙처리장치(51; CPU)와 그 주변 장치 등으로 구성되는 제어 시스템(50)과, 프레임 버퍼(63; frame buffer) 위에 그리기를 수행하는 그래픽처리장치(62; GPU) 등으로 구성되는 그래픽 시스템(60)과, 음악과 음향효과 등을 생성하는 사운드처리장치(SPU) 등으로 구성되는 사운드 시스템(70)과, 응용 프로그램들이 기록되어 있는 광학 디스크의 제어를 수행하는 광학 디스크 제어 유니트(80)와, 사용자로부터의 지시와 데이터의 설정 등의 조절기(20)로부터의 신호를 보관하는 메모리 카드(10)를 제어하고 그리고 아래에 기술된 것처럼 이동형 전자 장비(100)로부터의 데이터의 입출력을 제어하는 통신 제어 장치(90), 및 전술한 유니트들이 각각 연결되는 버스(BUS) 등을 포함하도록 구성된다.
제어 시스템(50)은 CPU(51)와, 인터럽트의 제어 및 동적 기억 접근(DMA; Dynamic Memory Access) 등의 제어를 수행하는 주변 장치 제어 유니트(52)와, 램 (RAM; Random Access Memory)과 소위 작동 시스템(OS; Operating System) 등과 같이 관리를 수행하는 프로그램이 저장된 롬(54; ROM; Read-Only Memory)으로 구성되는 주 메모리(53)와, 그래픽 시스템(60)과, 사운드 시스템(70) 등을 포함한다. 나아가, 여기서, 주 메모리는 그 메모리 위에서 프로그램을 실시하는 것이 가능한 것이다.
CPU(51)는 롬(54) 내에 보관된 작동 시스템(OS)을 실시함으로써 이 비디오 게임기(1)의 전반을 제어하는 것이며, 32비트 리스크-CPU(32-bit RISC-CPU)로 구성된다.
그밖에, 비디오 게임기(1)는 전원이 가해질 때, 제어 시스템(50) 내의 CPU (51)가 롬(54) 내에 보관된 작동 시스템을 실시하도록 구성되고, CPU(51)가 그래픽시스템(60), 사운드 시스템(70) 등의 제어를 실행한다.
나아가, 작동 시스템이 실시될 때, CPU(51)는 작동 승인 등과 같이 비디오 게임기(1)의 전반을 초기화한 후, 광학 디스크 내에 기록된 게임 등과 같은 응용 프로그램을 실시할 수 있도록 광학 디스크 제어 유니트(80)를 제어한다. 이 게임 등과 같은 프로그램을 실시할 때, 이미지의 표시와 음향효과 및 음악의 생성을 제어할 수 있도록, CPU(51)는 사용자로부터의 입력에 반응하여 그래픽 시스템(60), 사운드 시스템(70) 등을 제어한다.
또한, 그래픽 시스템(60)은 좌표 전송 등의 처리를 실행하는 기하 전송 엔진(61; GTE; geometry transfomer engine)과, CPU(51)로부터의 그리기 지시에 관련하여 그리기를 실행하는 GPU와, 이 GPU(62)에 의해 그려진 이미지를 보관하는 프레임 버퍼(63)와, 이산 코사인 전송기(DCT; discrete cosine transformation) 등과 같은 직각 전송기에 의해 압축되고 인코딩된 이미지 데이터를 디코딩하는 이미지 디코더(64)를 포함한다.
GTE(61)는 예를 들어, 병렬로 다수의 연산을 실시하고, 빠른 속도의 CPU(51)로부터의 연산 요구에 반응하여 좌표 전송, 광원 계산, 행렬 및 벡터와 같은 연산을 실행하는 것이 가능하도록 구성된 병렬 연산 메커니즘을 포함한다. 구체적으로, 이 GTE(61)는 예를 들어, 동일한 색상을 갖는 삼각-형상의 다각형을 그리는 평면 음영을 실행하는 연산의 경우, 최대 1,500,000 다각형/초의 좌표 연산을 실행하는 것이 가능하도록 구성되고, 그 결과로서, 이 비디오 게임기를 이용하여, 빠른 속도의 좌표 연산을 실행하는 것과 마찬가지로 CPU(51)의 부하를 경감하는 것이 가능하도록 구성될 수 있다.
나아가, GPU(62)는 CPU(51)로부터의 그리기 명령에 따라 프레임 버퍼(63)에 다각형 등의 그리기를 실행한다. 이 GPU(62)는 최대 360,000 다각형/초의 그리기를 실행하는 것이 가능하도록 구성된다.
더욱이, 프레임 버퍼(63)는 소위 듀얼 포트 램으로 구성되고, 표시와 동시에 읽는 것처럼, 주 메모리로부터의 전송과 GPU(62)로부터의 그리기를 실행하는 것이 가능하도록 구성된다. 예를 들어, 이 프레임 버퍼(63)는 1 Mbyte의 용량을 가지며, 각각 1024 픽셀의 행과 512 픽셀의 열로 이루어진 16 비트 행렬로서 취급된다. 나아가, 이 프레임 버퍼(63)에는, 비디오 출력으로 출력되기 위한 표시 영역 외에, GPU(62)가 다각형 등의 그리기를 실행할 때 동시에 참조할 수 있는 색상 보기 테이블(CLUT; color look up table)이 보관된 CLUT 영역과, 그리기와 동시에 좌표 전송되도록 GPU(62)에 의해 그려지는 다각형 등 내에 삽입(매핑)되는 구성 요소(구조)가 보관되는 구조 영역이 제공된다. 이들 CLUT 영역과 구조 영역은 표시 영역 등의 변화에 관련되어 동적으로 변화할 수 있도록 구성된다.
나아가, GPU(62)는 다각형 위의 구조 영역 내에 보관되는 구조를 붙이기 위한 구조 매핑과 마찬가지로, 전술한 평면 음영 외에 다각형의 정점에서의 색상으로부터 보완함으로써 다각형 내의 색상을 결정하는 글로우 명암(glow shading)을 실행하는 것이 가능하도록 구성된다.
이들 글로우 명암 또는 구조 매핑을 실행할 때, GTE(61)는 최대 500,000 다각형/초의 좌표 연산을 실행하는 것이 가능하다.
또한, 이미지 디코더(64)는 CPU(51)의 제어에 따라 주 메모리(53) 내에 보관된 정지 그림 또는 애니메이션의 이미지 데이터를 디코딩하고, 그리고 주 메모리 (53) 안으로 그것을 보관한다
나아가, GPU(62)를 통하여 프레임 버퍼(63) 안으로 그것을 보관함으로써, 이들 재생된 이미지 데이터는 전술한 GPU(62)에 의해 그려진 이미지의 배경장면으로 이용될 수 있다.
사운드 시스템(70)은 CPU(51)로부터의 지시에 근거하여 음악, 음향효과 등을 생성하는 SPU(71)와, SPU(71)에 따라 파형 데이터 등이 그 안에 기록되는 사운드 버퍼(72), 및 SPU(71)에 의해 생성된 음악, 음향효과 등을 출력하는 스피커(73)를 포함한다.
SPU(71)는 예를 들어, 4비트 미분 신호로서 적응 예고 코딩된 16비트 음성 데이터와 같은 음성 데이터를 재생하는 적응성 미분 PCM(ADPCM ; Adaptive Differential PCM) 디코딩 기능과, 사운드 버퍼(72) 내에 보관된 파형 데이터를 재생함으로써 음향효과 등을 생성하는 재생 기능, 및 사운드 버퍼(72) 내에 보관된 파형 데이터를 재생하고 변조하는 변조 기능 등으로 구성된다.
이들 기능들이 제공됨에 따라, 사운드 시스템(70)은 CPU(51)로부터의 지시에 관련하여 사운드 버퍼(72) 내에 기록된 파형 데이터에 근거하여 음악, 음향효과 등을 생성하는 소위 샘플링 음원으로서 이용되는 것이 가능하도록 구성된다.
광학 디스크 제어 유니트(80)는 광학 디스크 내에 기록된 프로그램과 데이터 등을 재생하는 광학 디스크 소자(81)와, 예를 들어 그 안에 부가된 오류 정정 코드에 따라 기록된 프로그램과 데이터 등을 디코딩하는 디코더(82), 및 광학 디스크 소자(81)로부터 데이터를 임시로 보관함으로써 광학 디스크로부터의 데이터 읽기를 빠르게 하는 버퍼(83)를 포함한다. 서브 CPU(84)가 디코더(82)에 연결된다.
나아가, 광학 디스크 내에 음성 데이터가 보관됨에 따라, 전술한 ADPCM 데이터를 제외하고는, 그것은 광학 디스크 소자(81)에 의해 읽히는 음성 신호가 아날로그/디지털 변환되는 소위 PCM 데이터이다.
ADPCM 데이터에 관하여, 예를 들어 4비트에 의해 16비트 디지털 데이터의 차이를 가리킴으로써 기록되는 음성 데이터는 디코더(82)에서 디코딩된 후 전술한 SPU(71)에 공급되고, 그리고 나서 SPU(71)에서 실행되는 디지털/아날로그 변환의 처리 후에 스피커(73)를 구동시키는 데 사용된다.
또한, PCM 데이터에 관하여, 예를 들어 16비트 디지털 데이터로서 기록된 음성 데이터는 디코더(82)에서 디코딩된 후에 스피커(73)를 구동시키는 데 사용된다.
나아가, 통신 제어 장치(90)는 버스(BUS)를 통하여 CPU(51)와의 통신의 제어를 실행하는 통신 제어기(91)와, 사용자로부터의 지시를 입력하는 조절기(20)가 연결된 조절기 연결 유니트(9)와, 게임의 설정 데이터 등을 보관하는 추가적인 보관 소자로서 메모리 카드(10), 및 아래에 기술된 이동형 전자 장비(100)가 연결되고 통신 제어기(91) 내에 제공되는 메모리 카드 삽입 유니트들(8A, 8B)을 포함한다.
조절기 연결 유니트(9)에 연결된 조절기(20)는 예를 들어 사용자로부터의 지시를 입력하는 16개의 지시키들을 가지며, 통신 제어기(91)로부터의 지시와 관련되는 동시 통신을 이용하여, 약 60 회/초로 통신 제어기(91)에 이들 지시키의 상태를전송한다. 그러므로, 통신 제어기(91)는 CPU(51)에 조절기(20)의 지시키의 상태를 전송한다.
그 결과로서, 사용자로부터의 지시가 CPU(51)에 입력되고, CPU(51)는 실시중인 게임 프로그램 등에 근거하여 사용자로부터의 지시와 관련된 처리를 수행한다.
이때, 주 메모리(53), GPU(62), 이미지 디코더(64) 및 디코더(82) 등에서, 게임의 읽기, 이미지의 표시 또는 그리기 등을 실행할 때 단번에 빠른 속도로 이미지 데이터의 많은 양을 전달하는 것이 필요하다. 따라서, 이 비디오 게임기에서는, 전술한 바와 같이 CPU(51)를 통한 진행 없이 주변 장치 제어 유니트(52)로부터의 제어에 따라 주 메모리(53), GPU(62), 이미지 디코더(64) 및 디코더(82) 등 중의 데이터의 전달을 직접 실행하는 소위 DMA 전달을 실행하는 것이 가능하도록 구성된다. 그 결과로서, CPU(51)의 부하를 경감하는 것과 빠른 속도의 데이터 전달을 실행하는 것이 가능하다.
나아가, 실시중인 게임의 설정 데이터 등을 보관하는 것이 필요한 경우에는, CPU(51)는 통신 제어기(91)로 보관된 데이터를 전송하고, 통신 제어기(91)는 CPU(51)로부터의 데이터를 메모리 카드 삽입 유니트(8A) 또는 메모리 카드 삽입 유니트(8B)의 슬롯 안으로 삽입되는 메모리 카드(10) 또는 이동형 전자 장비(100) 안에 쓴다.
이때, 통신 제어기(91)에는 전기적 파괴를 방지하는 보호 회로가 설치된다. 메모리 카드(10) 및/또는 이동형 전자 장비(100)는 버스(BUS)로부터 분리되고, 기기의 주 몸체가 전원 공급중인 상태에서 부착/분리될 수 있다. 따라서, 메모리 카드(10) 및/또는 이동형 전자 장비(100)의 저장 용량이 run short 되는 등의 경우에는, 기기의 주 몸체의 전원 공급을 멈추지 않고도 새 메모리 카드를 삽입하는 것이 가능하다. 그 결과로서, 새 메모리 카드를 삽입함에 따라, 백업이 필요한 게임 데이터의 손실 없이 필요 데이터가 새 메모리 카드 안으로 쓰여질 수 있다.
병렬 입출력 인터페이스(96; PIO; parallel I/O interface) 및 직렬 입출력 인터페이스(97; SIO)는 메모리 카드(10) 및/또는 이동형 전자 장비(100)를 비디오 게임기(1)에 연결하는 인터페이스이다.
전술한 엔터테인먼트 시스템에서, 본 실시형태에 따른 굴절 매핑이 실행된다.
[ 굴절 매핑 ]
본 실시형태에 따른 엔터테인먼트 시스템에서, 굴절 매핑을 실행하는 시스템 및 방법의 실시형태들이 첨부된 도면을 참고하여 상세하게 기술될 것이다.
매핑에 관하여 다양한 종류의 기술들이 알려져 있다. 연못 또는 수영장의 물가에 서 있는 것처럼, 사람이 수면을 통하여 하저(WB; water bottom)를 바라볼 때, 하저(WB)의 대상물은 굴절에 의해 비틀린 것처럼 보인다. 전술한 바와 같은 현상을 시물레이팅함으로써 하저(WB)에 있는 대상물의 실제적인 그림을 생성하는 방법이 굴절 매핑으로 불리운다.
수면 외에, 투명한 유리 등을 통하여 대상물을 관찰할 때 유사한 굴절 현상이 또한 나타난다. 즉, 둘 이상 투명 또는 반투명 매체들을 통하여 어떤 대상물을 볼 때, 대상물은 이들 매체들의 경계면에서 생성되는 빛의 굴절현상의 효과에 의해이동된 것처럼 보인다. 따라서, 그와 같은 대상물의 그림을 생성할 때 굴절 매핑 기술이 활용된다.
굴절 매핑은 관점(VP; view point)과 대상물 사이의 시선 위에 굴절 현상이 나타날 때, 대상물이 보이는 방법을 계산함으로써 매핑하는 컴퓨터 그래픽(CG) 기술이다.
( 현재 실행되는 굴절 매핑 )
본 실시형태에 따른 굴절 매핑이 더욱 쉽게 이해될 수 있도록, 먼저, 현재 실행되는 굴절 매핑의 절차를 간략하게 설명할 것이다.
컴퓨터 그래픽(CG) 이미지에서, 이차원 스크린 위로 대상물 형태를 투영(표현)하는 것과, 대상물 형태에 대한 구조를 매핑하는 것(구조 매핑)이 행하여진다.
도 5에서, 수면(WL; water surface)과 하저(WB; water bottom)가 나타난다. 수면과 하저(WB) 사이의 간격에서 깊이(DPT)의 물로 채워진다. 물 위에는 공기가 있다. 여기에서, 공기의 굴절 지수를 n1, 그리고 물의 굴절 지수를 n2라 가정한다.
관점(VP; view point)은 왼쪽 위로 하고, 그 전면에 스크린(SC; screen)이 있다고 가정한다. 관점(VP)은 이 위치에 사람의 눈이 있으며, 그로부터 하저(대상물)를 바라본다는 의미이다. 도 5는 관점(VP)으로부터 수면의 한 지점 A를 향한 시선(VL; line of sight)이 있고, 이 지점 A를 바라보는 상태를 보여준다. 도면에서, 물이 없는 경우 직진하는 시선(VL)의 경우와, 물이 있음에 따라 시선(VL)이 굴절된 경우가 나타나 있다. 나아가, 이 문서중에 기술된 바에서, 하저(WB)는 평평한 것으로 가정한다.
도 5에서, 물이 없는 경우, 관점(VP)으로부터 지점 A를 향한 시선(VL)은 곧장 직진하며, 하저(WB)의 한 지점 D에 도착한다. 즉, 지점 D를 바라보는 것이다. 따라서, 스크린(SC) 위에 하저(WB)를 그릴 때, 스크린(SC) 위의 2차원 그림처럼 표시하기 위하여 3차원 대상물을 구성하는 지점 D의 투시 전달이 표현되고, 구조 매핑된다. 즉, 구조 매핑될 때, 하저(WB)를 가로지르는 시선에서 지점 D의 구조를 그리는 위치는 스크린(SC) 위의 P 이다.
다음으로, 물이 오직 하저(WB)로부터 물의 깊이(DPT)로 보관될 때, 관점(VP)으로부터 지점 A를 향한 시선(VL)은 공기와 물의 경계면 중 한 지점 A에서 굴절이 발생하기 때문에 하저의 한 지점 C에 도착한다. 관점(VP)으로부터 수면의 한 지점 A를 바라볼 때, 하저의 지점 C가 보여진다. 따라서, 지점 C의 구조가 스크린(SC) 위의 지점 P 위로 매핑된다.
바꾸어 말하면, 하저에 존재하는 지점 C - 하저에 존재하는 대상물을 구성하는 지점 C - 로부터 방출된 빛이 수면(WL) 위의 지점 A에서 굴절됨에 따라 시선 (VL)을 따르는 관점(VP) 안으로 진입한다. 사람의 눈은 이 굴절을 감각적으로 이해하지 못할 수 있기 때문에, 관점(VP)으로부터 지점 A를 향한 시선(VL)이 곧장 직진하는 것처럼 도시되고, 하저(WB)의 지점 C가 지점 D에 존재하는 것처럼 보인다.
이제, 관점(VP)으로부터 수면 위의 지점 A를 바라볼 때, 보일 수 있는 지점 C의 위치를 질적으로 계산한다. 지점 C의 위치는 아래와 같이 스넬의 법칙으로부터 계산된다. 여기서, 지점 A에서의 법선 n은 수면(WL)으로부터 수직인 것으로 정의된다. 시선(VL)과 법선 n으로부터 형성되는 각은 α로 가정한다. 굴절된 시선 (VL-1)과 법선 n으로부터 형성되는 각은 β로 가정한다. 나아가,물의 깊이는 DPT로 가정한다. 이 순간, 스넬의 법칙에 따라 다음의 수식이 적용된다.
여기서, 삼각형 ADB와 삼각형 ACB를 고려할 때, 다음의 수식들이 적용된다.
이들 수식들로부터, 수학식 1을 변형하고, 수학식 2를 치환함으로써, 다음의 수식을 형성한다.
나아가, 사인과 코사인 사이에, 다음의 수식이 있다.
수학식 3을 변환하고, 수학식 4 및 5를 치환함으로써, 다음과 같이 된다.
수학식 6을 볼 때, DPT는 물의 깊이이고, n1 과 n2는 각각 공기와 물의 굴절 지수들이고, BD 및 AD는 시선에 따라 결정된 값들이며, 이렇게 BC 값을 계산하는 것이 가능하다. 따라서, 수학식 6을 이용하여, 물이 존재할 경우에 하저의 대상물을 구성하는 지점 C의 위치가 결정될 수 있다.
그 결과로서, 물이 없을 때 지점 D가 그려지는 스크린(SC) 위의 지점 P에, 물 있는 경우 지점 D를 대신하여 지점 C가 그려진다. 따라서, 하저(WB)를 표현하는 것이 가능하다.
앞서 기술된 바처럼, 하저(WB)는 평평하다고 가정한다. 그러나, 일반적으로 실제 지형은 단순한 평면이 아니고, 대부분 그 표면 위에 울퉁불퉁한 것들이 존재한다. 그와 같은 하저(WB)를 삼차원 그래픽으로 그리는 것이 필요하다. 그와 같은 울퉁불퉁한 것들로 구성되는 지형을 표현할 때, 지형 구조는 판형 구조가 아니고, 삼차원으로 구성되는 다면체가 된다.
그와 같은 경우에 대하여, 도 6에서, 수면(WL)에 평행하게 위치하는 지형 구조가 하저(WB) 아래에 정의된다.
다음으로, 사전에 물이 존재하지 않는다는 가정하의 지형에 대한 이차원 구조가 이 구조 평면 위에 생성된다. 구체적으로, 울퉁불퉁함을 갖는 지형에 대한 삼차원 계산을 수행하고, 음영을 실행하고, 수면(WL)에 수직인 방향으로부터 평행 투영에 의해 구조 평면 위로 붙임으로써, 이 지형의 이차원(평면) 구조를 생성한다.
그 후, 이 이차원 지형 구조를 이용함으로써 굴절 매핑이 실행된다.
이 순간, 이 지형은 수면(WL)보다 높은 육지로 계속될 수 있다. 육지는 수면(WL)으로부터 돌출되어 있기 때문에, 굴절이 발생하지 않으며, 따라서 관점(VP)의 방향으로부터, 좌표 전달 및 회전을 이용한 투시 전달의 계산을 실시함으로써 표현이 제작되어야 한다.
다른 한편으로는, 물 아래의 지형 - 하저(WB) - 에 대하여, 굴절 현상에 의한 이동이 발생하기 때문에 하저(WV)를 구성하는 각 지점에 관하여 수학식 6을 이용한 그 이동의 양을 계산함으로써 굴절된 주소가 얻어진다.
앞서 기술한 것처럼, 현재 실행되는 방법은 그와 같이 복잡한 절차들에 의해 실행된다. 도 7은 실제 굴절 매핑의 일 실시예를 보여주는 도이다.
먼저, 첫 단계에서, 구조 평면이 수면(WL)에 평행하기 때문에, 완전한 지형에 평형 투영 또는 평형 붙임을 실행한다. 도 7a는 평형 투영되고 물이 없는 하저 (WB)로 제작된 표현의 상태를 보여준다. 이 표현은 GPU(62)에서 실시되고, 얻어진 데이터를 가지고 프레임 버퍼(63)의 표시 영역과 다른 구조 영역 위에 그려진다.
두번째 단계에서, 공기 중에서 물 아래의 지형 부분을 볼 때 굴절된 것처럼 보이기 때문에, 표현은 전술한 스넬의 법칙을 이용한 굴절된 구조 주소를 얻음에따라 제작된다. 도 7b는 수면의 이미지 - 물을 통하여 보이는 하저(WB)의 이미지 - 가 굴절 매핑을 실행하고 구조에 대한 도 7a의 기억 이미지를 취함에 따라 프레임 버퍼(63)의 표시 영역에 생성된 상태를 보여준다.
세번째 단계에서, 수면(WL) 위로 돌출된 지형 부분에서 굴절 현상이 발생하지 않기 때문에, 표현은 투시 전달 기술을 이용한 구조 주소를 얻음에 의해 이 지형 부분이 제작된다. 도 7c는 도 7b에서 도시된 표시 영역에서 생성된 수면의 이미지 위에 투시 투영을 이용하여 육지부분을 표현하는 물 위의 것이 그려지고 그것이 포개진 상태를 보여준다.
따라서, 평형 투영 후에, 투시 투영을 이용한 이차원의 표현을 실행하는 것이 필요하다. 현재의 그리기 방법은 이차원에서 표현들을 실행하고, 그들을 겹치기 때문에, 작업이 더욱 복잡해지고, CPU 및 GPU의 부하가 더욱 무겁게 되며, 그리고 그리는 시간이 또한 길어진다.
( 본 실시형태에 따른 굴절 매핑 )
다음에서, 본 실시형태에 따른 굴절 매핑을 실행하는 방법에 관하여 기술한다. 이 굴절 방법은 프로그램될 수 있고, 광학 디스크와 같은 기록 매체 안으로 단독으로 기록된 상태로 제공될 수 있으며, 또는 게임 소프트웨어의 일부분으로써 게임 소프트웨어와 함께 제공될 수 있다. 굴절 매핑을 실행하는 이 프로그램은 엔터테인먼트 시스템 위에서 활성화되고, 그의 CPU(51)를 이용하여 실시된다.
기록 매체 내에 단독으로 기록된 상태로 굴절 매핑을 실행하는 프로그램이 제공된다는 의미는 게임 소프트웨어 등과 같이 응용 프로그램 개발에 이용될 수 있도록 라이브러리로서 사전에 소프트웨어 엔지니어에게 준비될 수 있다는 것이다. 잘 알려진 바와 같이, 소프트웨어를 개발하는 때에, 새로운 소프트웨어의 모든 기능들을 만들기 위해서는 막대한 시간이 필요하다.
그러나, 일반적으로, 기능들의 분류 안으로 소프트웨어를 구성하는 기능들을 분해할 때, 예를 들어 대상물의 평행 움직임과 같은 소프트웨어의 다양한 분야들에 일반적으로 사용되는 기능들을 포함하는 것이 인정된다.
따라서, 사전에, 소프트웨어 엔지니어를 위한 라이브러리로서, 본 실시형태에 따라 굴절 매핑을 실행하는 기능을 제공하는 것은 더욱 중요해진다. 이들 공통적인 기능들에 대하여 사전에 외부로부터 프로그램으로 공급을 받을 때, 소프트웨어 엔지니어는 다른 공통 기능들보다 특징적인 핵심 부분만을 생성하는 데에 집중하는 것이 가능하다.
도 8은 도 5와 비교하여, 시선(VL)과 법선 n으로 구성되는 각 α1이 비교적 작은 경우를 보여준다. 이 경우에, 수면(WL)에서의 굴절은 도 5의 경우와 비교하여 작아진다. 본 실시형태에서, 시선(VL)과 법선 n으로 구성되는 각 α가 커지는 경우 공기와 물의 경계에서 발생되는 굴절의 양이 또한 커지고, 반대로, 시선(VL)과 법선 n으로 구성되는 각 α가 작아지는 경우 굴절의 양이 또한 작아지는 특성에 주의를 기울임으로써, 전술한 특성을 질적으로 모방함에 의한 간단한 계산 방법을 갖는 굴절 매핑을 실행하는 것이 생각된다.
솔직히 말하면, 이 표현 방법은 물 아래의 하저의 그림을 표현하는 스넬의 법칙에 부합되지 않는다. 즉, 표현시에, 굴절 현상에 의해 생성되는 이동의 양이스넬의 법칙을 완전히 만족하지는 않을 것이다. 그러나, 아래에 기술되는 쉬운 방법을 이용하여 스넬의 법칙에 근사한 이동의 양을 얻을 수 있기 때문에, 물 아래의 하저 부분을 질적으로 표현하는 것이 가능해진다.
도 9에서, 관점 좌표 시스템은 그림의 종이 위에 나타나듯이 Y-Z 평면과 종이에 수직인 방향의 X-축으로 설정된다.
본 실시형태는, 도 9에 나타난 것처럼, Z-축에 수직인 평면 위에 구조 평면이 정의되고, 지형의 수면(WL)으로부터 돌출되는 육지 부분의 투시 투영과 같은 동일한 절차를 이용하여 수면(WL) 아래의 부분(하저 부분)를 표현하는 것이 가능하게 하고, 그 결과로서, 오직 한 번의 표현으로서 하저 부분과 육지부분을 일괄적으로 실행하는 방법이다.
도 9에 나타난 바와 같이, 사전에 시선 방향에서 투시 전달에 의해 그려지는 완전한 지형 위에 지형 구조로 설정된다. 지형 구조는 관점 좌표 시스템의 Z-축에 수직으로 배치된다. 나아가, 지형 구조 평면과 스크린(SC)은 평행한 위치 관계에 있다.
먼저, 물이 없는 상태에서, 지형은 구조 평면 위에 투시 투영된다. 삼차원 지형이 관점(VP)으로부터의 구조 평면에 대하여 투시 투영된다. 구체적으로, 지형을 구성하는 지점 a의 구조 주소는 지형 구조 평면 위의 지점 A에 설정되고, 지형을 구성하는 지점 b의 구조 주소는 지형 구조 평면 위의 지점 B에 설정되고, 그리고 지형을 구성하는 지점 c의 구조 주소는 지형 구조 평면 위의 지점 C에 설정된다.
다음 단계에서, 이 지형에 대하여, 물이 있는 상태이고, 도 9에 도시된 지형의 일 부분이 물 아래에 있는 것으로 고려한다. 도 10에 도시된 바와 같이, 수면 (WL)까지 물이 찬 경우이고, 지형의 일부분이 육지로서 남는다. 이와 같은 경우, 물 아래의 지형(하저 부분)은 공기와 물의 경계에서 발생하는 굴절 현상에 따라 이동되는 것처럼 보인다. 본 실시형태에서, 이 이동의 양은 쉬운 계산 방법을 이용하여 계산된다.
도 10에 도시된 모델에서, 시선 벡터와 수면(WL)의 교차점에서, 수면(WL)에 대한 법선 벡터는 n으로 설정되고, 시선 벡터를 표준으로 하는 법선 벡터는 시선 단위 벡터 v로 설정된다. 법선 벡터 n과 시선 단위 벡터 v가 변위 k만큼 승산된 값 kv의 합 (n+kv)이 Z-축에 수직으로 이루어지도록 변위 k가 결정된다.
도 10을 이용하여 도시되듯이, 변위 k는 벡터 (n+kv)가 구조 평면에 평행하도록 결정된다.
구조 평면은 Z-축에 수직으로 배치되기 때문에, 만약 벡터 (n+kv)가 구조 평면에 평행하다면(예를 들어, 구조 평면 위에 있다면), 벡터 (n+kv)의 Z 좌표는 0이 된다. 따라서, 다음의 수학식 7이 적용된다.
여기에서, nz은 법선 벡터 n의 Z값(스칼라량)을 나타내고, kvz은 벡터 kv의 Z값(스칼라량)을 나타낸다. 수학식 7을 변형함으로써, 다음의 수학식 8이 얻어진다.
수학식 8을 보면, nz은 법선 벡터의 Z값이고, vz은 시선 단위 벡터의 Z값이며, 둘 다 알려진 값이다. 따라서, k는 수학식 8로부터 결정될 수 있다.
공기로부터 물 안으로의 시선(VL)은 도 5에 관계되어 기술된 바와 같이, 그 경계면에서 시계방향으로 굴절된다. 따라서, 이러한 k를 이용하여 (n+kv)를 얻은 후, 그에 음의 부호(-)를 부가함으로써 -(n+kv)가 구조의 이동 주소로 설정된다.
여기에서, 일반적으로, L(n+kv)가 사용되고, 이때 상수 L은 두 종류의 굴절 지수들의 크기에 따라 승산되는 값이다. 나아가, 더욱 쉬운 방법에 따라, 법선 벡터 n의 세 성분들(nx, ny, nz) 중에서, 구조 평면에 평행한 두 성분들(nx, ny)이 상수 L만큼 승산된 L(nx, ny)이 이동 주소로서 사용될 수 있다.
전술한 바에 따라 얻어진 이동 주소를 이용하여 하저(WB)를 매핑함에 따라, 표현은 하저의 굴절된 부분으로 제작된다. 구조 평면에 투시 투영이 수행될 때의 순간에 육지 부분이 표현으로 완성되기 때문에, 이 이미지에 포갬으로써 하저와 육지의 두 부분이 표현으로 제작될 수 있다.
전술한 바와 같이, 물 아래의 하저의 그림과 관련하여, 굴절 현상에 의해 발생하는 이동의 양과 같은 표현 방법이 스넬의 법칙을 정확히 만족시키지 못한다.그러나, 쉬운 방법을 이용하여 스넬의 법칙에 근사한 이동의 양을 얻음으로써, 물 아래의 하저 부분이 질적으로 표현될 수 있다.
현재 실행되는 전술한 굴절 매핑에서, 평형 투영과 투시 투영의 이차원 표현들이 수행되는 것이 필요하다. 그러나, 본 실시형태에서 기술되는 굴절 매핑은 수면(WL)의 법선 벡터와 시선 벡터로부터 계산될 수 있는 구조 이동량과 투시 투영에 의해 생성되는 하저 구조를 이용하여 굴절 매핑을 수행함으로써, 오직 일차원의 표현에 의해 실행될 수 있다.
나아가, 도 10에 도시된 바와 같이, 수면(WL)이 항상 평평한 평면을 형성하는 점은 요구되지 않는다. 해양의 면과 같은 수면은 항상 파도가 형성된 상태에 있다. 도 11은 그와 같이 파도가 형성된 수면(WL)을 보여준다.
이 경우에서, 수면(WL) 위에 파도가 형성될 때, 법선 n과 시선(VL)에 의해 형성되는 각 α는 법선 n이 시선(VL)에 평행하게 접근할 때 점점 작아지고, 결과적으로 이동 주소 -(n+kv)의 이동의 양이 점점 작아지고, 반대로 법선 n과 시선(VL)에 의해 형성되는 각 α는 법선 n이 시선(VL)에 대하여 오른쪽 각으로 접근할 때 점점 커지고, 결과적으로 이동 주소 -(n+kv)의 이동의 양이 점점 커진다. 이 결과로서, 공기와 물의 경계에서 발생하는 굴절 현상에 따른 이동의 양에 근사한 값(이동의 양)이 얻어질 수 있다.
도 11은 이 관계를 도시한 다이아그램이다. 법선 벡터는 파도의 상태에 따라 그 방향이 변화한다. 여기에서, 시선(VL)에 근사적으로 수직인 법선 벡터 n1과, 그에 근사적으로 평행한 법선 벡터 n2가 예가 된다. 법선 벡터 n1에 대하여,벡터 (n1+k1v)가 구조 평면에 평행하도록 k1이 결정된다.
유사하게, 법선 벡터 n2에 대하여, 벡터 (n2+k2v)가 구조 평면에 평행하도록 k2가 결정된다. 앞서 기술한 바와 같이, 파도의 상태에 근거하여 이동의 양을 -(n1+k1v), -(n2+k2v)로 설정함으로써, 이동의 양을 시선(VL)에 근사적으로 수직한 법선 벡터 n1에서 비교적 크게, 그리고 시선(VL)에 근사적으로 평행한 법선 벡터 n2에서 비교적 작게 하는 것이 가능하다.
각 α가 도 5에 도시된 것보다 비교적 크기 때문에 시선(VL)에 근사적으로 수직한 법선 벡터 n1의 상태는 이동의 양이 비교적 큰 경우이고, 반대로 각 α가 도 8에 도시된 것보다 비교적 작기 때문에 시선(VL)에 근사적으로 평행한 법선 벡터 n2의 상태는 이동의 양이 비교적 작은 경우이다. 그 결과, 파도가 형성된 수면 (WL)에서 질적으로 스넬의 법칙을 따르는 굴절 매핑을 실행하는 것이 가능해진다.
도 12는 본 실시형태에 따른 굴절 매핑의 일 실시예를 보여주는 다이아그램이다. 도 12a는 물이 없는 상태에서, 프레임 버퍼(63)의 비디오 출력으로서 출력되는 표시 영역에 그려지는 투시 투영으로 지형을 제작한 표현의 예이다. 도 12b는, 구조로서 도 12a에서 생성된 표시 영역의 이미지를 이용하고, 수면(WL) 아래의 하저(WB)에 대하여, 전술한 쉬운 방법의 굴절에 의해 얻어지는 이동의 양에 의해 굴절 매핑을 실행함으로써 생성된 수면의 이미지 - 수면(WL) 아래의 하저(WB)의 이미지 - 가 도 12a에서 그려진 표시 영역의 이미지에 포개진다.
결론적으로, 굴절 매핑을 실행하는 때에, 굴절되어 표시되는 이미지의 수직 투영을 준비함 없이, 스크린(SC) 위에 투시 투영되는 이미지를 수정함으로써 단순한 방법으로 나타날 수 있다.
본 발명에 따르면, 기록 매체에 기록된 방법과 같이 쉬운 방법으로 굴절 매핑을 실행하는 시스템 및 방법을 제공하는 것이 가능해진다.
본 발명은 그 취지 또는 핵심적인 특성을 분리하지 않으면서 다른 특정 형태들로 실시되는 것이 가능하다. 본 실시형태들은 도시된 모든 측면들이 고려되어 있고, 그에 제한되는 것은 아니며, 발명의 범위는 앞선 기술내용들과 청구항들의 균등한 범위의 수단 내에서 가져오는 모든 변화들에 의해서 보다는 첨부된 청구항들에 의해 표현된다.

Claims (19)

  1. 대상물을 투시 투영하고, 구조 평면에 대한 상기 대상물의 이차원 구조를 생성하는 수단; 및
    상기 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소를 결정하는 수단;을 포함하고,
    상기 굴절된 구조 주소는 다른 매체들의 경계면에서의 법선 벡터와 시선 벡터에 근거하여 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  2. 제 1 항에 있어서, 상기 굴절된 구조 주소는 상기 법선 벡터와 상기 시선 벡터 또는 상기 구조 평면에 평행한 상기 법선 벡터의 한 성분으로 형성되는 각에 의해 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  3. 제 1 항에 있어서, 적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의되고, 그리고 시선 벡터는 v로 정의될 때, 법선 벡터 n과 시선 벡터 v에 변위 k만큼 승산된 값 kv의 합 (n+kv)이 상기 구조 평면에 평행하도록 변위 k를 결정하고, 상기 굴절된 구조 주소는 상기 구조 주소를 (n+kv)의 상수곱, 즉 L(n+kv)의 양만큼 이동함으로써 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  4. 제 1 항에 있어서, 적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의될 때, 상기 굴절된 구조 주소는 단지 상기 법선 벡터 n의 구조 평면에 평행한 두 성분들(nx, ny)이 상수 L만큼 곱하여진 L(nx, ny)의 양의 구조 주소로 이동함으로써 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  5. 제 1 항에 있어서,
    상기 굴절된 구조 주소에 근거하여 구조의 적어도 일부분을 이동하는 수단; 및
    이동된 구조를 이용하여, 스크린 위에 투시 전송하는 수단;
    을 더 포함하는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  6. 제 1 항에 있어서, 상기 대상물은 수면으로부터 돌출된 부분과, 물밑으로 가라앉은 부분을 갖고 있으며,
    상기 물밑으로 가라앉은 부분에 관련된 상기 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소가 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  7. 제 1 항에 있어서, 상기 굴절 매핑을 실행하는 시스템이 비디오 게임기 내에제공되는 것을 특징으로 하는 굴절 매핑을 실행하는 시스템.
  8. 대상물을 투시 투영하고, 구조 평면에 대한 상기 대상물의 이차원 구조를 생성하는 단계; 및
    상기 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소를 결정하는 단계;를 포함하고,
    상기 굴절된 주소는 다른 매체들의 경계면에서의 법선 벡터와 시선 벡터에 근거하여 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 방법.
  9. 제 8 항에 있어서, 상기 굴절된 구조 주소는 상기 법선 벡터와 상기 시선 벡터 또는 상기 구조 평면에 평행한 상기 법선 벡터의 한 성분으로 형성되는 각에 의해 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 방법.
  10. 제 8 항에 있어서, 적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의되고, 그리고 시선 벡터는 v로 정의될 때, 법선 벡터 n과 시선 벡터 v에 변위 k만큼 승산된 값 kv의 합 (n+kv)이 상기 구조 평면에 평행하도록 변위 k를 결정하고, 상기 굴절된 구조 주소는 상기 구조 주소를 (n+kv)의 상수곱, 즉 L(n+kv)의 양만큼 이동함으로써 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 방법.
  11. 제 8 항에 있어서, 적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의될 때, 상기 굴절된 구조 주소는 단지 상기 법선 벡터 n의 구조 평면에 평행한 두 성분들(nx, ny)이 상수 L만큼 곱하여진 L(nx, ny)의 양의 구조 주소로 이동함으로써 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 방법.
  12. 제 8 항에 있어서,
    상기 굴절된 구조 주소에 근거하여 구조의 적어도 일부분을 이동하는 단계; 및
    이동된 구조를 이용하여, 스크린 위에 투시 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 굴절 매핑을 실행하는 방법.
  13. 제 8 항에 있어서, 상기 대상물은 수면으로부터 돌출된 부분과, 물밑으로 가라앉은 부분을 갖고 있으며,
    상기 물밑으로 가라앉은 부분에 관련된 상기 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소가 결정되는 것을 특징으로 하는 굴절 매핑을 실행하는 방법.
  14. 컴퓨터에 의해 읽혀지고 수행될 수 있도록 굴절 매핑을 실행하는 프로그램이기록된 기록 매체에 있어서, 상기 프로그램은
    대상물을 투시 투영하고, 구조 평면에 대하여 상기 대상물의 이차원 구조를 생성하는 단계; 및
    상기 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소를 결정하는 단계;를 포함하고,
    상기 굴절된 구조 주소는 다른 매체들의 경계면에서의 법선 벡터와 시선 벡터에 근거하여 결정되는 것을 특징으로 하는 기록 매체.
  15. 제 14 항에 있어서, 상기 프로그램은 상기 굴절된 구조 주소가 상기 법선 벡터와 상기 시선 벡터 또는 상기 구조 평면에 평행한 상기 법선 벡터의 한 성분으로 형성되는 각에 의해 결정되는 단계를 포함하는 처리 프로그램인 것을 특징으로 하는 기록 매체.
  16. 제 14 항에 있어서, 상기 프로그램은 적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의되고, 그리고 시선 벡터는 v로 정의될 때, 법선 벡터 n과 시선 벡터 v에 변위 k만큼 승산된 값 kv의 합 (n+kv)이 상기 구조 평면에 평행하도록 변위 k를 결정하고, 상기 굴절된 구조 주소는 상기 구조 주소를 (n+kv)의 상수곱, 즉 L(n+kv)의 양만큼 이동함으로써 결정되는 단계를 포함하는 처리 프로그램인 것을 특징으로 하는 기록 매체.
  17. 제 14 항에 있어서, 상기 프로그램은 적어도 두 다른 매체들의 경계면과 시선 벡터의 교차점에서의 상기 법선 벡터는 n으로 정의될 때, 상기 굴절된 구조 주소는 단지 상기 법선 벡터 n의 구조 평면에 평행한 두 성분들(nx, ny)이 상수 L만큼 곱하여진 L(nx, ny)의 양의 구조 주소로 이동함으로써 결정되는 단계를 포함하는 처리 프로그램인 것을 특징으로 하는 기록 매체.
  18. 제 14 항에 있어서, 상기 프로그램은
    상기 굴절된 구조 주소에 근거하여 구조의 적어도 일부분을 이동하는 단계; 및
    이동된 구조를 이용하여, 스크린 위에 투시 전송하는 단계;
    를 더 포함하는 처리 프로그램인 것을 특징으로 하는 기록 매체.
  19. 제 14 항에 있어서, 상기 프로그램은 상기 대상물이 수면으로부터 돌출된 부분과, 물밑으로 가라앉은 부분을 갖고 있으며,
    상기 물밑으로 가라앉은 부분에 관련된 상기 구조의 적어도 일부분에 대하여, 굴절 현상에 따라 이동하는 굴절된 구조 주소가 결정되는 단계를 포함하는 처리 프로그램인 것을 특징으로 하는 기록 매체.
KR1020017010572A 1999-02-19 2000-02-10 굴절 매핑을 실행하는 시스템 및 방법 KR20010113703A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4097799 1999-02-19
JPJP-P-1999-00040977 1999-02-19
PCT/JP2000/000724 WO2000049573A1 (en) 1999-02-19 2000-02-10 System for and method of implementing refraction mapping

Publications (1)

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

Family

ID=12595514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017010572A KR20010113703A (ko) 1999-02-19 2000-02-10 굴절 매핑을 실행하는 시스템 및 방법

Country Status (12)

Country Link
US (2) US6563508B1 (ko)
EP (1) EP1161742A1 (ko)
JP (1) JP3661167B2 (ko)
KR (1) KR20010113703A (ko)
CN (1) CN1340180A (ko)
AU (1) AU2459700A (ko)
BR (1) BR0010038A (ko)
CA (1) CA2363175A1 (ko)
HK (1) HK1040127A1 (ko)
RU (1) RU2001124858A (ko)
TW (1) TW544633B (ko)
WO (1) WO2000049573A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738500B1 (ko) * 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4589517B2 (ja) * 2000-11-08 2010-12-01 株式会社バンダイナムコゲームス 情報記憶媒体及び画像生成装置
ATE336314T1 (de) * 2001-04-19 2006-09-15 Alcoa Inc System zur zufuhr von metallschmelze unter konstantem druck und verfahren zur herstellung von endlosmetallartikeln
US6985148B2 (en) * 2001-12-13 2006-01-10 Microsoft Corporation Interactive water effects using texture coordinate shifting
US6894696B2 (en) * 2001-12-21 2005-05-17 Sony Corporation Method and apparatus for providing refractive transparency in selected areas of video displays
US7146036B2 (en) * 2003-02-03 2006-12-05 Hewlett-Packard Development Company, L.P. Multiframe correspondence estimation
US7934627B2 (en) * 2005-10-13 2011-05-03 Alcoa Inc. Apparatus and method for high pressure extrusion with molten aluminum
JP4747881B2 (ja) * 2006-02-27 2011-08-17 セイコーエプソン株式会社 演算処理装置によるデータ変換方法、テクスチャの作成方法、プログラム、記録媒体、及びプロジェクタ。
CN101226643B (zh) * 2007-01-17 2010-05-19 财团法人资讯工业策进会 可依水面实际高度绘制3d水面的装置及方法
JP4600515B2 (ja) * 2008-05-07 2010-12-15 ソニー株式会社 情報提示装置及び情報提示方法、撮像装置、並びにコンピュータ・プログラム
US9123160B1 (en) 2011-10-30 2015-09-01 Lockheed Martin Corporation Concurrent mesh generation in a computer simulation
US9147283B1 (en) * 2011-10-30 2015-09-29 Lockhead Martin Corporation Water surface visualization during a simulation
GB2528655B (en) 2014-07-24 2020-10-07 Advanced Risc Mach Ltd Graphics Processing Systems
GB2535792B (en) * 2015-02-27 2021-03-31 Advanced Risc Mach Ltd Graphic processing systems
US10614619B2 (en) 2015-02-27 2020-04-07 Arm Limited Graphics processing systems
GB2535791B (en) * 2015-02-27 2021-03-31 Advanced Risc Mach Ltd Graphics processing systems
GB2541928B (en) 2015-09-04 2018-01-31 Advanced Risc Mach Ltd Graphics processing systems
GB2543766B (en) 2015-10-26 2018-02-14 Advanced Risc Mach Ltd Graphics processing systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61210395A (ja) 1985-03-14 1986-09-18 ソニー株式会社 画像処理装置
US5224208A (en) * 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
JP3063125B2 (ja) 1990-08-28 2000-07-12 ソニー株式会社 地形データ作成装置
JPH05101161A (ja) 1991-10-04 1993-04-23 Sony Corp アニメーシヨン作成装置
KR0147439B1 (ko) * 1994-02-04 1998-09-15 윌리엄 티. 엘리스 굴절 현상에 대해 하드웨어에 근거한 그래픽 워크스테이션 솔루션
GB2326806A (en) * 1996-03-14 1998-12-30 I I Interactive Innovations Lt Computerized graphics systems
DE69718291T2 (de) * 1996-11-21 2003-11-13 Koninkl Philips Electronics Nv Verfahren und gerät zur erzeugung eines computergrafikbildes
JPH10208067A (ja) * 1997-01-21 1998-08-07 Namco Ltd 画像生成装置及び画像生成方法
US6256047B1 (en) * 1997-06-04 2001-07-03 Konami Co., Ltd. Method of judging hits and computer-readable storage medium storing game data
JP3951362B2 (ja) * 1997-06-12 2007-08-01 株式会社セガ 画像処理装置、ゲーム装置、その方法および記録媒体
JP3576126B2 (ja) * 2001-07-30 2004-10-13 株式会社ナムコ 画像生成システム、プログラム及び情報記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100738500B1 (ko) * 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법

Also Published As

Publication number Publication date
US7075533B2 (en) 2006-07-11
RU2001124858A (ru) 2003-09-10
US20030085895A1 (en) 2003-05-08
US6563508B1 (en) 2003-05-13
JP3661167B2 (ja) 2005-06-15
CA2363175A1 (en) 2000-08-24
BR0010038A (pt) 2002-01-15
AU2459700A (en) 2000-09-04
CN1340180A (zh) 2002-03-13
WO2000049573A1 (en) 2000-08-24
TW544633B (en) 2003-08-01
JP2002537611A (ja) 2002-11-05
EP1161742A1 (en) 2001-12-12
HK1040127A1 (zh) 2002-05-24

Similar Documents

Publication Publication Date Title
JP3668019B2 (ja) 記録媒体、画像処理装置および画像処理方法
KR20010113703A (ko) 굴절 매핑을 실행하는 시스템 및 방법
JP3725524B2 (ja) コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ
JP3577016B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
US6747642B1 (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3D videographics system
JP3249955B2 (ja) 画像生成システム及び情報記憶媒体
JP3369159B2 (ja) 画像描画方法、画像描画装置、記録媒体及びプログラム
CA2319279A1 (en) Method and apparatus for providing non-photorealistic cartoon outlining within a 3d videographics system
EP1288866B1 (en) Image generation method
JP5007633B2 (ja) 画像処理用プログラム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体、画像処理装置、画像処理方法
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001101443A (ja) ポリゴン画像表示方法、ポリゴン画像作成装置及び記録媒体
JP3737784B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP4001556B2 (ja) ゲーム装置及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP3429271B2 (ja) 3次元画像処理方法、その装置、3次元画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置
JP4247856B2 (ja) 画像生成システム及び情報記憶媒体
MXPA01008417A (en) System for and method of implementing refraction mapping
JP4450535B2 (ja) 画像生成システム及び情報記憶媒体
JPH11175746A (ja) 画像生成装置及び情報記憶媒体
JP2007164736A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001314646A (ja) ゲーム装置および情報記憶媒体
JP2003242526A (ja) プログラム、情報記憶媒体及びゲーム装置
JP3715568B2 (ja) 画像描画装置、記録媒体及びプログラム
JP4443084B2 (ja) 画像生成システム及び情報記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application