KR100277803B1 - 3차원 그래픽 표시장치 - Google Patents

3차원 그래픽 표시장치 Download PDF

Info

Publication number
KR100277803B1
KR100277803B1 KR1019970706140A KR19970706140A KR100277803B1 KR 100277803 B1 KR100277803 B1 KR 100277803B1 KR 1019970706140 A KR1019970706140 A KR 1019970706140A KR 19970706140 A KR19970706140 A KR 19970706140A KR 100277803 B1 KR100277803 B1 KR 100277803B1
Authority
KR
South Korea
Prior art keywords
data
display
depth data
fog
mixing ratio
Prior art date
Application number
KR1019970706140A
Other languages
English (en)
Other versions
KR19980702733A (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 KR19980702733A publication Critical patent/KR19980702733A/ko
Application granted granted Critical
Publication of KR100277803B1 publication Critical patent/KR100277803B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • 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/10Geometric effects

Abstract

3차원 도형(3차원 그래픽)을 표시하는 3차원 그래픽 표시기술에 관한 것으로서, 포그효과를 갖는 표시를 고속이고 또한 간단한 구성으로 실현하고 또한 포그효과를 갖는 표시를 여러개의 알고리듬에 대응시키기 위해, CPU; 표시데이타를 기억하는 메모리; 최대값과 스텝폭에 따라서 CPU에 의해서 미리 계산된 혼합비율을 저장하는 테이블과 입력된 깊이데이타의 범위를 조정하는 스케일 변환회로를 갖고, 각각의 화소에 대한 색데이타와 깊이데이타를 계산하고, 스케일 변환회로에 의해서 계산된 깊이데이타를 조정하고, 테이블에서 조정된 깊이데이타에 대한 혼합비율을 리드하고, 혼합비율과 색데이타 및 미리 정해진 표시색데이타에 따라서 표시데이타를 생성하고, 메모리에 생성된 표시데이타를 저장하는 그래픽프로세서를 갖는 구성으로 하였다.
이러한 구성으로 하는 것에 의해, 포그계수의 산출을 1화소당 1사이클에서 고속연산이 가능하게 되어 고속처리를 달성할 수 있고, 테이블 검색방식에 따라서 여러개의 계수산출 알고리듬에 대응할 수 있어 광범위한 어플리케이션에 대응할 수 있다는 효과가 얻어진다.

Description

3차원 그래픽 표시장치
3차원 그래픽의 표시를 실행하는 경우, 가능한 한 자연현상을 표시에 도입하여 현실 세계에 가능한 한 근접시킨 표시를 실행하는 것이 요구된다.
이러한 자연현상의 표시중에 안개신(fog secne)을 표시하는 경우가 있다.
안개신의 표시라는 거은 바로 앞에 표시되는 물체, 도형(이하, 간단히 물체라고 한다)을 확실하게 표시하고, 깊이방향의 안쪽 위치에 표시되는 물체일수록 안개가 띠는 것을 강하게 해서 표시하고, 임의의 거리 이상의 물체는 안개로 가린다는 표시수법이다.
또, 이것과 동일한 수법을 사용해서 뎁스 큐ㅇ이(depth cuing)이라는 효과를 사용하는 경우가 있다.
이 방법은 멀리(안쪽에) 있는 물체일수록 어둡게 표시하고, 거리 또는 깊이 위치(z값으로 나타낼 수 있으며, 이것을 간단히 Z값이라고도 한다)가 임의의 범위 또는 값을 초과한 것은 표시하지 않도록 처리하는 것에 의해 깊이를 더욱 입체적으로 표현하는 것이다.
이들 효과(이하, 이들을 대표해서 포그효과라 한다)는 OpenGal Reference Manual(Addison-Wesley Publishing Company 발행), p.128에 기재되어 있다.
모두 f는 안개의 농도를 나타낸다.-
[식 1. 1]
f = (end-z)//(end-start)
단, start는 안개가 끼기 시작하는 도형의 Z값을 나타낸다.
end는 안개에 의해 가려지는 Z값을 나타낸다.
z는 묘화도형의 Z값을 나타낸다.
[식 1. 2]
f= e^-(density ×z)
단, 기호 ^는 누승을 나타낸다.
density는 정수를 나타낸다.
[식 1. 3]
f= e^-(density ×z)^2
상술한 연산에 의해서 얻어진 f의 값을 사용해서 색정보 또는 도형정보에서 묘화데이타 또는 표시데이타를 생성한다.
상술한 수법에서는 화소단위의 Z값에 따라 f를 산출하므로 누승계산처리가 필요하게 된다.
즉, 고속처리를 실행하기 위해서는 연산을 위한 데이타량이 너무 많아 ??로 하드웨어의 양도 팽대해진다는 문제가 있었다.
또, 이들 계산에서는 알고리듬의 선택이 어플리케이션에 맡겨져 있어 하드웨어에 의해 고정화할 수 없다는 문제가 있었다.
본 발명의 목적은 포그효과를 갖는 표시를 고속이고 또한 간단한 구성으로 실현할 수 있는 3차원 그래픽 표시장치를 제공하는 것이다.
또, 다른 목적은 포그효과를 갖는 표시를 여러개의 알고리듬에 대응시킬 수 있는 구성의 3차원 그래픽 표시장치를 제공하는 것이다.
본 발명은 3차원 도형(3차원 그래픽)을 표시하는 3차원 그래픽 표시기술에 관한 것으로서, 특히 3차원 표시효과, 입체감을 높이기 위한 안개가 낀 것처럼 표시시키는 것을 고속으로 처리한 3차원 그래픽 표시장치에 관한 것이다.
제1도는 본 발명에 의한 포그효과를 표현할 수 있는 그래픽 시스템의 구성예를 도시한 도면,
제2도는 그래픽 프로세서의 내부구성을 도시한 도면,
제3도는 도형묘화 처리의 개요를 도시한 도면,
제4도는 텍스쳐화상을 액세스하기 위한 소오스좌표 연산부의 구성을 도시한 도면,
제5도는 묘화좌표연산부의 구성을 도시한 도면,
제6도는 묘화연산부의 구성을 도시한 도면,
제7도는 포그계수 산출회로의 구성을 도시한 도면.
제8도는 혼합회로의 구성을 도시한 도면,
제9도는 스케일변환회로의 예를 도시한 도면,
제10도는 도형리스트의 예를 도시한 도면,
제11도는 테이블 데이타작성의 흐름도를 도시한 도면.
[발명의 개시]
본 발명의 제1의 특징은 표시할 화소마다 도형 또는 물체의 깊이정보를 생성하는 Z값 생성부, 표시에 사용되는 표시 색정보를 유지하는 표시 색정보 유지부, 상기 Z값에 따라서 묘화할 도형 또는 물체의 색정보와 상기 표시 색정보와의 색의 혼합(blend)비율인 혼합비율계수를 산출하는 혼합계수 산출부 및 상기 혼합비율계수에 따라서 상기 색정보와 상기 표시정보와의 연산을 실행하여 포그 표시 색데이타를 생성하는 색정보 혼합부를 갖는 점에 있다.
본 발명의 제2의 특징은 표시할 화소마다 도형 또는 물체의 깊이정보를 생성하는 Z값 생성부, 표시에 사용되는 표시 색정보를 유지하는 표시 색정보 유지부, 상기 Z값에 따라서 묘화할 도형 또는 물체의 색정보와 상기 표시 색정보와의 색의 혼합비율인 혼합비율계수를 산출하는 혼합계수 산출부, 상기 Z값에 대응해서 산출된 상기 혼합비율계수를 유지하는 혼합비율 계수테이블부, 표시할 도형의 Z값을 리드하고 리드한 Z값에 대응하는 혼합비율계수를 상기 혼합비율 계수테이블에서 리드하는 테이블 참조부 및 상기 테이블참조부에 의해서 리드된 상기 혼합비율계수에 따라서 상기 색정보와 상기 표시정보와의 연산을 실행하여 포그표시 색데이타를 생성하는 색정보 혼합부를 갖는 점에 있다.
도형 또는 물체의 깊이정보(Z값)가 Z값 생성부에 의해서 산출되고, 상기 Z값에 따라 혼합계수 산출부에 의해서 포그의 혼합비율이 화소마다 산출된다. 상기 비율에 따라서 색정보 혼합부는 도형 또는 물체의 색정보와 표시색정보 유지부의 포그의 색정보를 혼합하는 것에 의해 화소단위로 포그효과를 표시할 수 있다.
혼합비율 계수테이블부에는 도형 또는 물체의 깊이정보(Z값)에 대응한 혼합비율계수(포그계수)를 미리 계산해서 이 계산결과를 설정해 둔다.
도형묘화를 실행하는 경우에는 1화소마다의 Z값에 대응하는 테이블을 참조해서 혼합비율계수를 산출할 수 있다.
이와 같이 해서, 화소단위의 혼합비율 계수를 구할 수 있고, 이 혼합비율 계수에 따라서 도형 또는 물체의 색정보와 표시 색정보에서 포그표시 색데이타를 생성할 수 있다.
혼합비율계수를 미리 테이블에 저장해 두는 것에 의해, 1화소단위로의 계수산출은 복잡한 연산처리가 불필요하게 되어 고속처리와 하드웨어의 저감이 가능하게 된다.
또, 테이블의 내용을 변경하는 것에 의해, 알고리듬의 변경에도 대응할 수 있게 된다.
<발명을 실시하기 위한 최량의 형태>
도1에 본 발명을 사용한 그래픽 시스템의 구성예를 도시한다.
이 시스템은 예를 들면 워크스테이션, 퍼스널컴퓨터(이하, 퍼스컴이라 약칭한다), 휴대정보단말 등에 의해 데이타의 처리, 표시처리, 데이타의 입출력처리 등의 처리를 실행하는 처리부(120), 데이타나 명령(커맨드)을 유지하고 리드처리 또는 라이트처리되는 메모리부(30), CRT, 액정, 프린터 등의 표시부(70),(80) 또는 (80)이외의 처리장치, 메모리장치와의 데이타의 입출력처리를 실행하는 입출력처리부(40)으로 구성된다.
처리부(120)은 데이타의 처리나 다른 프로세서의 제어 등을 실행하는 CPU코어부(10), 묘화를 위해 데이타를 처리하는 그래픽 프로세서부(50), 표시부에 데이타를 표시하기 위한 타이밍처리 등을 실행하는 표시프로세서부(5), 상기 CPU코어부, 그래픽프로세서부, 표시프로세서부, 표시부, 메모리부 등을 포함한 외부장치와의 사이의 데이타의 전송제어를 실행하는 메모리 컨트롤러부(20)으로 구성된다.
여기에서, 표시프로세서부와 그래픽 프로세서부는 독립되어 있도록 도시되어 있지만, 1개의 프로세서부로서 형성하는 것도 가능하다.
CPU코어부는 연산부 즉 정수연산부와 부동소수점 연산부를 도 1에서는 갖고 있지만, 이 시스템이 적용되는 분야에 따라서는 어느 한쪽이라도 좋다. 또, 캐시메모리도 필요에 따라서 갖고 있으면 좋고, 도 1과 같이 반드시 데이타 캐시와 명령캐시로 분할될 필요도 없다.
메모리부(30)은 표시를 위한 그래픽 데이타를 유지하는 프레임버퍼영역을 포함한 구성으로 도시되어 있지만, 통상의 메모리영역과 이 프레임버퍼영역은 분리되어 있어도 좋다.
본 발명의 특징으로 되는 포그효과를 갖는 표시는 그래픽 프로세서(50)에 의해서 주로 처리된다.
이 그래픽 시스템에 의해, 3차원 그래픽의 도형을 표시하기 위한 처리수순을 이하에 설명한다.
CPU코어부(10)에서는 표시할 도형의 정점정보를 산출하고, 이 정점정보를 도형리스트로서 주메모리(30)에 저장한다.
그래픽 프로세서(50)은 주메모리에 저장되어 있는 도형리스트를 액세스하고, 그 도형리스트에 따라서 주메모리(30)내의 프레임버퍼영역에 도형의 묘화를 실행한다. 도 10은 도형리스트의 예를 도시한 것이다. 리스트의 최초의 Triangle P1, P2, P3은 P1, P2, P3의 3점을 정점으로 하는 삼각형을 묘화하는 것을 도시한 도형모화커맨드이다. 이하, 마찬가지로 삼각형을 여러개 묘화하는 것이 기술되어 있다. 이 도형리스트의 내용은 그래픽 프로세서(50)에 대한 커맨드이다. 그래픽 프로세서(50)에서는 이 커맨드를 디코드해서 도형의 묘화를 실행한다.
이와 같이 해서 묘화된 정보는 표시프로세서(5)에 의해서 표시리드가 실행되고, CRT(80)으로 전송되어 표시된다.
그래픽 프로세서(50)에서는 포그계수 산출회로(5084)에 의해서 도형의 깊이정보에 따라서 화소마다의 포그계수(혼합비율계수라고도 한다)가 산출되고, 이것에 따라서 도형의 색부가나 계조부가를 실행해서 표시하는 것에 의해 3차원 표시의 효과를 높일 수 있다.
메모리 컨트롤러(20)은 CPU코어부(10), 그래픽 프로세서(50), 표시프로세서(5)로부터의 각가의 액세스를 조정한다.
또, 도 1에서는 I/O버스(100)을 거쳐서 통신이나 CD-ROM 등(도시하지 않음)과 접속할 수 있게 되어 있다. 본 실시예에서는 CPU코어부(10), 그래픽 프로세서(50), 표시프로세서(5), 메모리컨트롤러(20)을 1칩의 LSI로서 구성한 경우의 예를 도시하고 있다.
다음에, 도 2에 그래픽 프로세서(50)의 내부구성을 도시한다. 그래픽 프로세서(50)은 주메모리(30)상의 커맨드리스트(300)을 액세스하고 도형묘화커맨드를 리드한다. 또, 이 커맨드에 따라서 프레임버퍼영역에 도형을 묘화한다. 각 도형에는 정점의 색정보, 깊이정보, 텍스쳐패턴 등이 지정되어 있고, 그래픽 프로세서(50)은 이들 정보에 따라서 화소단위의 좌표값, 색, 깊이 등을 산출하여 묘화해 간다.
주메모리 I/F제어부(501)은 주메모리(30)상의 커맨드 리스트의 액세스, CPU코어부(10)과의 데이타교환, 텍스쳐정보의 리드 등의 처리를 실행하기 위한 인터페이스부이다.
커맨드페치부(502)는 주메모리(30)내의 커맨드를 리드하기 위해 어드레스를 관리하고, 메모리컨트롤러(20)에 대한 액세스제어를 실행한다.
커맨드 프리디코드부(503)은 페치된 커맨드를 디코드하고, 초기값의 계산등의 전처리나 처리 전체의 파이프라인관리 등을 실행한다.
소오스화상 제어부(504)는 텍스쳐맵핑을 수반한 도형묘화를 실행하는 경우에 텍스쳐화상을 주메모리(30)에서 리드하기 위한 제어를 실행한다. 그 경우의 어드레스는 2차원 좌표로서 관리되고, 소오스좌표 연산부(5040)에서 좌표값의 연산이 실행된다.
리드된 소오스화상은 텍스쳐버퍼(509)에 기억되고, 이 버퍼(509)에 존재하는 화상데이타에 대해서는 일일이 주메모리(30)으로의 액세스를 실행하지 않아도 되므로, 고속처리가 가능하게 되어 있다.
묘화제어부(505)는 주메모리(30)내의 프레임버퍼영역에 묘화하기 위한 제어를 실행한다.
묘화좌표연산부(506)은 그것을 위한 묘화좌표값을 산출하는 부분이다.
화소연산부(5070)에서는 묘화하할 도형의 1화소마다의 색정보의 산출을 실행한다. 또, 깊이정보(Z값)을 1화소마다 산출하고 도형의 오버랩을 판정하는 것에 의해서 바로 앞의 도형을 묘화하는 처리를 실행할 수 있다.
버퍼(508)은 도형의 묘화를 실행하는 경우에 주메모리(30)으로의 액세스를 버스트 액세스가 가능하게 되도록 묘화데이타를 일시적으로 유지해 두는 것에 의해, 고속처리에 매유 유효하다.
프레임버퍼 액세스제어부(510)은 묘화제어부(505)가 산출한 어드레스에 따라서 주메모리(30)을 액세스하기 위한 제어신호를 생성하과, 메모리컨트롤러(20)을 거쳐서 주메모리(30)을 액세스한다.
또, 화소연산부(5070)에서는 1화소마다의 색정보를 산출할 때 본 발명의 특징은 포그효과의 연산도 실행할 수 있다. 1화소마다 산출된 Z값에 따라서 포그계수 산출회로(5084)에서는 그 화소의 깊이에 대응한 포그계수를 산출한다.이 계수에 따라서 그 화소의 색정보와 포그색을 혼합하는 것에 의해 화소단위의 포그효과를 실현하는 것이 가능하게 된다.
도 3은 그래픽 프로세서(50)이 처리하는 커맨드의 처리내용을 도시한 도면이다. 소오스화상의 삼각형 모양의 텍스쳐패턴을 묘화화상의 삼각형으로 맵핑하는 상태를 나타내고 있다.
소오스화상은 S, T의 2차원 좌표로 관리되고, 비스듬하게 스캔된다.
묘화화상은 X, Y의 2차원 좌표에 부가해서 도시하지 않은 Z좌표를 사용한 3차원 좌표로 관리된다. 묘화는 삼각형의 측변1과 측변2 사이의 수평선을 순차 묘화하는 것에 의해서 실행된다.
다음에, 이 삼각형을 묘화하기 위한 그래픽 프로세서(50)의 보다 상세한 설명을 실행한다.
도 4에 소오스화상을 액세스하기 위해 S, T좌표를 산출하는 소오스좌표연산부(5040)을 도시한다. 소오스화상은 묘화할 도형의 텍스쳐패턴이다. 이 화상은 2차원의 좌표로 관리되고 있고, 여기에서는 그 좌표를 S, T좌표라고 부르기고 한다. 따라서, 소오스화상을 액세스하기 위해서는 묘화점에 대응한 S, T좌표를 순차 산출하지 않으면 안된다.
먼저, 커맨드 프리디코드부(503)에 의해서 파라미터설정버스를 거쳐서 각부에 초기값이 설정된다.
측변 T좌표계산부(5041)과 측변 S좌표계산부(5042)는 소오스화상의 경사스캔의 개시점을 계산하는 부분이다.
이 계산된 개시점의 정보에 따라 경사스캔용 T좌표계산부(5043)과 경사스캔용 S좌표계산부(5044)가 1화소마다의 좌표값을 산출해 간다.
이 좌표값에 따라서 주메모리(30)에서 텍스쳐화상이 리드된다.
1개의 스캔이 종료하면, 측변 T좌표계산부(5041)과 측변 S좌표계산부(5042)는 다음의 스캔개시점의 좌표값을 산출한다.
도 5에 묘화좌표연산부(506)의 블럭도를 도시한다. 묘화좌표연산부(506)은 프레임버퍼영역에 도형을 묘화하기 위해 묘화좌표(X, Y좌표)를 각 화소마다 산출하는 부분이다.
커맨드 프리디코드부(503)에 의해서 파라미터설정버스를 거쳐서 각부에 초기값이 설정된 후 Y좌표계산부(5061)이 수평스캔용 Y좌표를 결정하고, 측변 1X좌표계산부(5062)와 측변 2X좌표계산부(5063)이 수평선의 시점과 종점의 X좌표를 산출한다.
수평선 X좌표계산부(5064)는 그 2점간의 X좌표를 발생해간다. 이와 같이 해서 얻어진 X, Y좌표에 따라서 묘화된다.
도 6은 화소연산부(5070)의 블럭도를 도시한 도면이다. 화소연산부(5070)은 묘화할 도형의 1화소마다의 색정보를 산출하는 부분이다. 그 산출을 위해서는 상기 소오스좌표연산부(5040)에서 산출된 S, T좌표값에 따라서 리드된 소오스화상과 화소연산부(5070) 내부에서 산출된 휘도정보를 승산하는 것에 의해 각 화소의 색정보를 순차 결정한다. 또, 본 발명의 특징인 화소단위의 포그효과의 연산도 실행한다.
계수레지스터(5083)∼COMP(5087)은 Z값의 산출 및 Z비교를 실행하는 부분이다. 계수레지스터(5083)에는 X좌표가 1화소 이동했을 때의 Z값의 차분이 기억되고, 래치(5080)에는 가산기(5081)에 의해서 묘화할 화소의 Z값을 순차 계산할 결과가 기억된다.
한편, 프레임버퍼리드Z값 레지스터(5079)에는 이제부터 묘화를 실행하고자 하는 좌표의 Z값이 프레임버퍼에서 리드되어 있다.
이 레지스터(5079)와 래치(5080)은 COMP(5078)에 의해서 비교되고, 만일 프레임버퍼의 Z값이 크면 새로운 화소데이타가 묘화되고, 만일 작으면 묘화되지 않는다는 제어가 실행된다.
이것에 의해, 바로 앞의 도형만이 묘화된다. 계수레지스터(5077)∼래치(5075)는 글로 색계산을 실행하는 부분이다.
글로 색계산은 예를 들면 도 3의 묘화화상에 있어서 측변1에서 측변2로 묘화를 실행하는 경우에 측변1과 측변2 사이의 색정보의 차분을 1화소단위로 직선적으로 보간하는 방식이다. 여기에서는 이 글로계산에 의해서 각 화소의 휘도값을 산출하고, 소오스화상제어부(504)에 의해 리드된 텍스쳐데이타에 승산기(5074)에 의해 승산처리하는 것에 의해서 묘화도형의 색데이타를 산출한다.
혼합계수 산출회로(5073)과 혼합회로(5072)는 투명한 물체를 표한하기 위한 화소데이타 혼합처리부이다. 묘화할 도형이 투명한 경우에는 이하의 계산을 화소마다 실행한다.
[식 2. 1]
P=(α×S)+((1-a)×D)
단, P는 묘화데이타
S는 투명물체의 색데이타
α는 투명물체의 투명도를 나타내는 계수(혼합계수)
D는 투명물체의 뒤쪽의 도형데이타
(투명물체를 묘화하기 전의 프레임버퍼데이타)
포그계수 산출회로(5084)와 포그색 레지스터(5071)은 본 발명의 중신으로 되는 포그효과를 내기 위해 1화소마다 포그계수를 산출하고 묘화데이타를 결정하는 부분이다.
포그효과는 자연계의 기상현상으로서, 안개가 낀 풍경을 표현하기 위한 표시효과이다.
포그효과는 묘화도형의 Z값에 따라서 포그색과의 혼합계수를 변화시키는 것에 의해 실현할 수 있다.
즉, 안쪽의 도형 또는 물체일 수록 안개속으로 숨어 버리는 상황을 표현할 수 있다.
이 경우의 혼합 정도는 이하의 식으로 표현된다.
[식 2. 2]
α= (end-z)/(end-start)
단,
start는 안개가 끼기 시작하는 도형의 Z값을 나타낸다.
end는 안개에 의해 가려지는 Z값을 나타낸다.
z는 묘화도형의 Z값을 나타낸다.
[식 2. 3]
α= e^-(density×z)
단, 기호^는 누승을 나타낸다.
density는 정수를 나타낸다.
[식 2. 4]
α= e^-(density×z)^2
이 α값을 다음 식에 대입한다.
[식 2. 5]
P=(α×F)+((1-α)×S)
단, P는 묘화데이타
S는 묘화도형 색데이타
α는 포그색의 혼합계수
F는 포그색
이 식 2.5는 식 2.1과 동일한 계산을 실행한다.
따라서, 상황에 따라서 혼합회로(5072)를 구별해서 사용할 수 있도록 하면, 투명물체의 묘화용 혼합회로와 포그효과용 혼합회로를 공용시킬 수 있다.
또, 상기 식 2. 2∼식 2. 4에 도시한 바와 같이, 포그효과를 내기 위한 계산식은 여러개 존재한다.
따라서, 하드웨어에서는 그들 여러개의 방식에 대응할 수 있는 구성으로 할 필요가 있다.
도 7은 포그계수의 산출을 여러개의 방식에 대응할 수 있는 하드웨어구성으로 해서 테이블 참조방식을 사용한 포그계수 산출회로의 예를 도시한 도면이다.
이 포그계수 산출회로(5084)는 Z값이 입력되면 그것에 따른 포그계수를 출력한다.
여기에서, Z값으로서 테이블을 참조하는 경우에 Z값의 표현비트수가 작으면 테이블의 입력비트수도 동일한 비트수로 할 수 있지만, Z의 비트수가 커져 테이블의 입력비트수를 크게하면 테이블의 하드웨어량이 팽대해져 버린다.
본 실시예에서는 Z값은 16비트이고, 테이블의 입력비트수도 그것과 일치시킨 것으로 하면 테이블의 엔트리수는 65536으로 되어 버린다. 하드웨어량을 고려하면 테이블의 엔트리수는 256정도(입력비트수는 8비트) 이하가 바람직하다.
따라서, 테이블의 입력비트수를 조정하는 방식이 필요하게 된다. 본 실시예에서는 이 문제를 해결하는 수단으로서 Z값의 테이블로의 입력비트를 어플리케이션에 따라서 선택할 수 있도록 하였다.
Z값이 작은 범위에서도 포그효과를 내고자 하는 경우에는 Z값의 비트8∼1을, Z값이 넓은 범위에서 포그효과를 내고자 하는 경우에는 Z값의 비크15∼8을 단계적으로 선택할 수 있다.
Z-MAX레지스터(5085)에는 안개에 가려져 보이지 않게 되어 버리는 Z값의 상위 8비트를 등록해 둔다. 예를 들면, Z값이 65535로서 안개에 가려지도록 하기 위해서는 Z-MAX(5085)에는 00000001을 설정하고, Z값이 131071로서 안개에 가려지도록 하기 위해서는 Z-MAX(5085)에는 00000010을 설정한다.
입력선택회로(5086)에서는 8개의 멀티플렉서 8:1 MPX에 의해서 Z-MAX(5085)에 따른 래치(5090)의 Z값을 테이블(5087)의 입력으로 할 수 있다.
이 결과, 테이블(5087)은 A0∼A7의 입력값에 대응한 데이타를 포그계수로서 출력한다.
그런데, 테이블(5087)로의 입력이 Z값의 비트12∼5와 같은 도중의 비트였던 경우에는 Z값의 2의 13승 이상의 부분이 무시되게 된다. 그 결과, 테이블(5087)은 Z값이 2의 13승 이상으로 되면 잘못된 데이타를 출력하게 된다.
본 실시예에서는 이 문제를 회피하기 위해, Z값을 비교기(5088)에 의해 Z-MAX레지스터(5085)와 항상 비교하고, Z-MAX레지스터(5085)보다 Z값이 커지면 테이블(5087)의 출력을 항상 최대값으로 설정하기 위한 최대값 설정회로(5089)를 마련하고 있다.
상기한 방식에 의해서, 포그효과를 내기 위한 포그계수의 산출을 1화소당 1사이클의 시간에서 계수를 산출할 수 있다.
도 8은 혼합회로(5072)의 블럭도이다. 혼합회로(5072)는 식 2. 5계산식에 따라서 도형의 각 화소의 색정보와 포그색(5071)의 정보를 계수에 따라서 혼합하는 회로이다. 또, 묘호를 실행하고자 하는 화소의 색정보와 프레임버퍼내의 그 화소의 묘화지에 원래 저장되어 있는 색정보를 식 2. 1에 따라서 혼합하는 것에 의해 투명한 물체를 포현하는 것도 가능하다.
본 블럭도의 (5072)에서는 상술한 투명물체의 묘화를 위한 혼합처리와 포그효과를 위한 혼합처리를 겸용할 수 있도록 셀렉터(5091)에 의해서 입력데이타의 전환이 가능하게 되어 있다. DATA1에는 포그색, DATA2에는 프레임버퍼로부터의 리드데이타, DATA3에는 묘화도형의 색정보, K2에는 포그계수, K2에는 투명물체용 혼합계수가 각각 입력된다. 이 상태에 있어서, 포그효과를 위한 혼합처리의 경우에는 CONT신호를 0으로 해서 셀렉터(5091)에 의해 DATA1과 K1을 선택한다. 또, 투명물체를 묘화하는 경우에는 CONT신호를 1로 해서 셀렉터(5091)에 의해 DATA1와 K2를 선택한다.
도 9에 화소연산부(5070)에서 산출한 Z값을 스케일변환회로(591)을 거쳐서 테이블(5087)에 입력하도록 한 혼합계수 산출회로(5073)을 도시한다.
이 스케일변환회로(591)은 스케일설정레지스터(592)에 설정된 값을 입력되는 Z값에 승산하는 것에 의해 Z값의 범위를 조정하는 것이다. 예를 들면, 표시를 실행하는 도형의 Z값의 최대값이 10000인 경우에 테이블(5087)의 계수데이타가 Z값의 최대값이 1000이라고 가정한 데이타밖에 없는 것으로 하면, 통상은 데이블의 계수를 새로 다시 만들게 된다. 그러나, 이 스케일설정레지스터(592)가 있으면, 이 예의 경우 10을 설정하는 것에 의해 이 테이블을 사용하는 것이 가능하게 된다.
이와 같이, Z값의 스케일이 다른 어플리케이션 사이에서 테이블(5087)의 데이타의 공통화를 실행하는 것이 가능하게 된다.
다음에, 포그계수의 테이블(5087)에 설정되는 데이타의 작성에 대해서 설명한다. 도 11은 테이블(5087)의 데이타를 작성하기 위한 처리흐름을 도시한 도면이다. 이 흐름도는 CPU코어부(10)에서 처리되는 것이다. 먼저, (1100)부터 (1104)의 스텝까지는 초기처리이다. Z값의 최대값(ZPEEK)나 단차값(ZSTEP)등이 입력된다. (1105)∼(1107)의 스텝을 반복해서 처리하는 것에 의해, TABLE의 0∼255까지 Z값에 따른 포그계수가 설정된다. 통상, 이 TABLE의 값은 3차원 도형의 모델링을 실행하는 경우에 작성되고, 주메모리(30)에 도 10의 도형리스트와 관련지워져 저장된다. 경우에 따라서는 하드디스크(도시 생략)등의 외부기억장치로 퇴피되는 경우도 있다. 그 후, 그래픽 프로세서(50)내의 테이블(5087)로 이 데이타의 전송이 실행된다. 이 전송의 타이밍은 도형의 묘화를 실행하기 전이라면 언제라도 좋고, 예를 들면 시스템의 기동시에 어플리케이션 프로그램의 기동시 사용자로부터의 지시 등이 있다.
포그계수산출의 알고리듬을 변경하는 경우에는 도 11의 흐름도의 (1105)스텝의 계산식을 본문중의 식 2. 2∼식 2. 4중의 어느 하나로 변경한 후에 CPU코어부(10)에 의해 재차 처리하는 것에 의해서 가능하게 된다.
본 발명에 의하면, 종래에는 소프트웨어에 의해서 산출하고 있던 포그계수의 산출을 1화소당 1사이클에서 고속연산이 가능하게 되어 고속처리를 달성할 수 있다.
또, 테이블 검색방식에 따라서 여러개의 계수산출 알고리듬에 대응할 수 있으므로, 광범위한 어플리케이션에 대응할 수 있다.

Claims (4)

  1. CPU
    표시데이타를 기억하는 메모리;
    최대값과 스텝폭에 따라서 상기 CPU에 의해서 미리 계산된 혼합비율을 저장하느 테이블과 입력된 깊이데이타의 범위를 조정하느 ㄴ스케일 변환회로를 갖고, 각각의 화소에 대한 색데이타와 깊이데이타를 계산하고, 상기 스케일 변환회로에 의해서 계산된 깊이데이타를 조정하고, 상기 테이블에서 상기 조정된 깊이데이타에 대한 혼합비율을 리드하고, 상기 혼합비율과 상기 색데이타 및 미리 정해진 표시색데이타에 따라서 표시데이타를 생성하고, 상기 메모리에 생성된 표시데이타를 저장하는 그래픽프로세서를 포함하는 그래픽처리시스템.
  2. 제1항에 있어서,
    상기 그래픽프로세서는 입력된 상기 깊이데이타와 미리 정한 깊이데이타의 최대값을 비교하고, 입력된 상기 깊이데이타가 상기 미리 정한 깊이데이타의 최대값보다 큰 경우에는 상기 미리 정한 깊이데이타의 최대값을
  3. CPU;
    표시장치;
    표시데이타를 기억하는 메모리;
    최대값과 스텝폭에 따라서 상기 CPU에 의해서 미리 계산된 혼합 비율을 저장하는 테이블과 입력된 깊이데이타의 범위를 조정하는 스케일 변환회로를 갖고, 각각의 화소에 대한 색데이타와 깊이데이타를 계산하고, 상기 스케일 변환회로에 의해서 계산된 깊이데이타를 조정하고, 상기 테이블에서 상기 조정된 깊이데이타에 대한 혼합비율을 리드하고, 상기 혼합비율과 상기 색데이타 및 미리 정해진 표시색데이타에 따라서 표시데이타를 생성하고, 상기 메모리에 생성된 표시데이타를 저장하고, 상기 표시장치에 상기 생성된 표시데이타를 표시하는 그래픽프로세서를 포함하는 그래픽처리시스템.
  4. 제3항에 있어서,
    상기 그래픽프로세서는 입력된 상기 깊이데이타와 미리 정한 깊이데이타의 최대값을 비교하고, 입력된 상기 깊이데이타가 상기 미리 정한 깊이데이타의 최대값보다 큰 경우에는 상기 미리 정한 깊이데이타의 최대값을 출력하는 그래픽 처리시스템.
KR1019970706140A 1995-03-10 1995-03-10 3차원 그래픽 표시장치 KR100277803B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1995/000402 WO1996028794A1 (fr) 1995-03-10 1995-03-10 Dispositif d'affichage graphique tridimensionnel

Publications (2)

Publication Number Publication Date
KR19980702733A KR19980702733A (ko) 1998-08-05
KR100277803B1 true KR100277803B1 (ko) 2001-01-15

Family

ID=14125732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970706140A KR100277803B1 (ko) 1995-03-10 1995-03-10 3차원 그래픽 표시장치

Country Status (3)

Country Link
US (1) US6219062B1 (ko)
KR (1) KR100277803B1 (ko)
WO (1) WO1996028794A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1361686A (zh) 1999-07-15 2002-07-31 久光制药株式会社 经皮吸收制剂
JP2001092989A (ja) * 1999-07-21 2001-04-06 Sega Corp 画像処理方法及びその装置
JP4656616B2 (ja) * 2000-01-28 2011-03-23 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
JP4605914B2 (ja) * 2000-01-28 2011-01-05 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
JP4671519B2 (ja) * 2000-03-21 2011-04-20 パナソニック株式会社 描画プロセッサおよび描画処理システム
US6885378B1 (en) * 2000-09-28 2005-04-26 Intel Corporation Method and apparatus for the implementation of full-scene anti-aliasing supersampling
JP4570238B2 (ja) * 2000-11-30 2010-10-27 株式会社トプコン 眼底像撮影装置
JP3715222B2 (ja) * 2000-12-27 2005-11-09 株式会社ソニー・コンピュータエンタテインメント 描画方法、描画装置、描画処理プログラム、描画処理プログラムを記録した記録媒体、および描画処理プログラム実行装置
US7061495B1 (en) * 2002-11-18 2006-06-13 Ati Technologies, Inc. Method and apparatus for rasterizer interpolation
US7796133B1 (en) 2002-11-18 2010-09-14 Ati Technologies Ulc Unified shader
US8933945B2 (en) * 2002-11-27 2015-01-13 Ati Technologies Ulc Dividing work among multiple graphics pipelines using a super-tiling technique
US7633506B1 (en) * 2002-11-27 2009-12-15 Ati Technologies Ulc Parallel pipeline graphics system
CN100339869C (zh) * 2002-12-20 2007-09-26 Lm爱立信电话有限公司 使用最小深度遮挡剔除和z字形遍历的图形处理设备及方法
US7301537B2 (en) * 2002-12-20 2007-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Graphics processing apparatus, methods and computer program products using minimum-depth occlusion culling and zig-zag traversal
JP4805094B2 (ja) * 2006-10-31 2011-11-02 富士通セミコンダクター株式会社 フォグ効果処理方法、グラフィックス装置、グラフィックス用半導体集積回路装置及びフォグ効果処理プログラム
JP4964057B2 (ja) * 2007-08-08 2012-06-27 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
TW200920120A (en) * 2007-10-24 2009-05-01 Novatek Microelectronics Corp Image output device, display and image processing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721407A (ja) * 1993-07-06 1995-01-24 Sony Corp 画像表示方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58115492A (ja) * 1981-12-29 1983-07-09 シャープ株式会社 パタ−ン認識用自己相関器
JPH04213780A (ja) * 1990-12-10 1992-08-04 Oki Electric Ind Co Ltd 画像処理方法
US5339386A (en) * 1991-08-08 1994-08-16 Bolt Beranek And Newman Inc. Volumetric effects pixel processing
US5490239A (en) * 1992-10-01 1996-02-06 University Corporation For Atmospheric Research Virtual reality imaging system
JPH06301330A (ja) * 1993-04-12 1994-10-28 Ishikawajima Harima Heavy Ind Co Ltd 操船シミュレータの模擬視界生成装置
US5724561A (en) * 1995-11-03 1998-03-03 3Dfx Interactive, Incorporated System and method for efficiently determining a fog blend value in processing graphical images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721407A (ja) * 1993-07-06 1995-01-24 Sony Corp 画像表示方法

Also Published As

Publication number Publication date
US6219062B1 (en) 2001-04-17
KR19980702733A (ko) 1998-08-05
WO1996028794A1 (fr) 1996-09-19

Similar Documents

Publication Publication Date Title
KR100277803B1 (ko) 3차원 그래픽 표시장치
US6160557A (en) Method and apparatus providing efficient rasterization with data dependent adaptations
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US5786822A (en) Method and apparatus for mapping texture on an object displayed at a varying view angle from an observer
US6141013A (en) Rapid computation of local eye vectors in a fixed point lighting unit
US5877769A (en) Image processing apparatus and method
US6972769B1 (en) Vertex texture cache returning hits out of order
US6433782B1 (en) Data processor apparatus and shading apparatus
US6411294B1 (en) Image display apparatus and image display method
JPH05307610A (ja) テクスチャマッピング方法およびその装置
US9530241B2 (en) Clipping of graphics primitives
US7400325B1 (en) Culling before setup in viewport and culling unit
US5912830A (en) System and method for conditionally calculating exponential values in a geometry accelerator
US7292239B1 (en) Cull before attribute read
EP1031946A2 (en) Recording medium,Image processing method and unit with integrated shaping model data
JPH0927045A (ja) 画像処理装置
JPH09245191A (ja) 透明度変換方法及びその装置、画像処理装置
US6850244B2 (en) Apparatus and method for gradient mapping in a graphics processing system
KR100295709B1 (ko) 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템
US7372461B2 (en) Image processing apparatus and method of same
JPH11185054A (ja) 画像処理装置
JPH10207694A (ja) ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム
JP3132220B2 (ja) 3次元モデルの形状作成方法
JP3867071B2 (ja) 画像処理装置、画像処理方法
JPH05298455A (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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20071010

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee