KR20060082736A - 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 - Google Patents
단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20060082736A KR20060082736A KR1020050003455A KR20050003455A KR20060082736A KR 20060082736 A KR20060082736 A KR 20060082736A KR 1020050003455 A KR1020050003455 A KR 1020050003455A KR 20050003455 A KR20050003455 A KR 20050003455A KR 20060082736 A KR20060082736 A KR 20060082736A
- Authority
- KR
- South Korea
- Prior art keywords
- color
- density
- calculated
- vertices
- calculating
- Prior art date
Links
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06B—FIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
- E06B1/00—Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
- E06B1/56—Fastening frames to the border of openings or to similar contiguous frames
- E06B1/60—Fastening frames to the border of openings or to similar contiguous frames by mechanical means, e.g. anchoring means
- E06B1/6046—Clamping means acting perpendicular to the wall opening; Fastening frames by tightening or drawing them against a surface parallel to the opening
-
- E—FIXED CONSTRUCTIONS
- E06—DOORS, WINDOWS, SHUTTERS, OR ROLLER BLINDS IN GENERAL; LADDERS
- E06B—FIXED OR MOVABLE CLOSURES FOR OPENINGS IN BUILDINGS, VEHICLES, FENCES OR LIKE ENCLOSURES IN GENERAL, e.g. DOORS, WINDOWS, BLINDS, GATES
- E06B1/00—Border constructions of openings in walls, floors, or ceilings; Frames to be rigidly mounted in such openings
- E06B1/56—Fastening frames to the border of openings or to similar contiguous frames
- E06B1/60—Fastening frames to the border of openings or to similar contiguous frames by mechanical means, e.g. anchoring means
- E06B1/6069—Separate spacer means acting exclusively in the plane of the opening; Shims; Wedges; Tightening of a complete frame inside a wall opening
- E06B1/6076—Separate spacer means acting exclusively in the plane of the opening; Shims; Wedges; Tightening of a complete frame inside a wall opening of screw-type
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Image Generation (AREA)
Abstract
본 발명은 임의의 객체에 대하여 3차원 렌더링을 수행하기 위한 공간상의 위치변환을 수행하고, 객체를 구성하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 한가지 색상을 이용한 조명 계산을 수행하여 해당 정점에서의 광원에 의한 색상 농도를 산출하는 지오메트리 처리부와, 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 산출된 정점들의 색상 농도를 이용하여 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들(fragments)의 색상농도를 산출하고, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 래스터라이제이션 처리부를 포함하는 단색광을 이용한 3차원 렌더링 처리 장치를 제공한다.
본 발명에 의하면, 지오메트리 처리와 래스터라이제이션 처리를 수행할때 연산해야 하는 색상의 개수가 줄게 되므로 3차원 그래픽스에서의 필요 연산량을 효과적으로 줄일 수 있어서 모바일 디바이스 환경에 적합한 솔루션을 제공한다.
래스터라이제이션, 조명, 텍스쳐, 텍스쳐맵핑, RGB, 단색광
Description
도 1은 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 수행 흐름도.
도 2는 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리 장치의 구성도.
도 3은 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리 방법에서 래스터라이제이션 처리 흐름을 설명하기 위한 도면.
도 4는 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리 방법을 수행하는 이동통신 단말기의 구성 예시도.
도 5a 내지 도 5c는 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리의 결과 영상과 일반 3차원 렌더링 처리의 결과 영상의 비교도.
<도면의 주요부분에 대한 부호의 설명>
100 : 3차원 렌더링 처리 장치 110 : 지오메트리 처리부
111 : 모델 뷰 변환 처리부 112 : 조명 처리부
113 : 투영 처리부 114 : 클리핑 처리부
115 : 화면 맵핑 처리부 120 : 래스터라이제이션 처리부
121 : 주사 변환 처리부 122 : 픽셀 처리부
200 : 이동 통신 단말기 210 : 메모리
220 : 제어부 230 : 표시부
240 : 입력부 250 : 폴더
261 : 음성 메모리 262 : 음성 처리부
263 : 착신음 발생부 264 : RF부
265 : 스피커 266 : 마이크로폰
본 발명은 3차원 그래픽스의 렌더링에 관한 것으로, 상세하게는 모바일 디바이스 환경에 적합한 단색광을 이용한 3차원 렌더링 처리방법 및 그 장치에 관한 것이다.
3차원 컴퓨터 그래픽은 현실을 보다 실감있게 표현하기 위한 가장 핵심적인 연구 분야이다.
3차원 컴퓨터 그래픽은 3차원의 좌표를 가지는 모델링 데이터로부터 빛과 재질, 그리고 시점 등에 대한 정보를 바탕으로 만들어 진다. 3차원 그래픽에서 처리해야 하는 정보의 양은 2차원 컴퓨터 그래픽의 양에 비해 매우 크다. 따라서 범용 프로세서만을 사용하여 실시간으로 3차원 데이터를 처리하기에는 많은 무리가 따른다. 따라서 3차원 컴퓨터 그래픽에서는 전용 그래픽 프로세서를 사용하는 것이 일반화되어 있다.
3차원 컴퓨터 그래픽에서 렌더링(rendering)은 그림자나 색상과 농도의 변화 등과 같은 3차원 질감을 넣음으로써 컴퓨터 그래픽에 사실감을 추가하는 기술이다.
일반적으로, 3차원 컴퓨터 그래픽에서, 한 장면 내에 있는 대상물의 표면(또는 체적)을 표현하는 기하 구조는 렌더링 기술을 통하여 픽셀로 변환되어 프레임 버퍼에 기억되고, 이어서 디스플레이 장치에 디스플레이된다.
렌더링 기술로는 폴리곤(polygon) 렌더링 기법과 볼륨렌더링 기법들이 소개되어 활용되고 있으며, 분산 렌더링 시스템도 소개되어 있다.
예를 들어, 폴리곤 렌더링 기법은 3차원 컴퓨터 그래픽에서 사용되는 대표적인 렌더링 방법이다. 이 방법은 정점데이터와 색상 값을 입력 받은 후, 그래픽 하드웨어 내에서 각 정점에 대한 면을 생성하고 기하연산을 통해 면을 변환한다. 그리고 입력된 색상값을 바탕으로 이 면에 해당되는 색상을 표현함으로써 3차원 이미지를 만들어 내는 방법이다.
렌더링을 통해 3차원 컴퓨터 그래픽 데이터를 처리하는 과정은 크게 지오메트리(Geometry) 처리와 래스터라이제이션(Rasterization) 처리를 수행한다.
지오메트리 처리는 객체에 대한 공간상의 위치 변환과 빛에 대한 계산이 이루어지는 과정이다. 래스터라이제이션 처리는 지오메트리 처리에 의해 변환된 프리미티브(점, 선, 삼각형 등)들을 프레임 버퍼(Frame buffer)에 픽셀 데이터 값으로 변환시키는 과정이다.
한편, 현재 대부분의 게임이나 그래픽스에서는 렌더링 과정에서 적은 양의 폴리곤으로 모델에 맞는 텍스쳐(texture)를 입혀서 실감나는 장면을 구현함에 따라 실제 폴리곤의 최종 색상은 텍스쳐의 색상에 기반하는 경우가 대분이다. 따라서, 3차원 그래픽스 파이프 라인에서 폴리곤의 색상정보를 구하기 위해서 많은 연산과정들이 수행된다.
그러나, 각종 모바일 디바이스(휴대폰, 휴대용 컴퓨터, PDA)는 일반 컴퓨터 환경과는 달리 연산기능 및 연산 처리속도에서 많이 뒤떨어진다. 따라서 상술한 바와 같은 3차원 컴퓨터 그래픽의 렌더링을 위해 수행되는 각종 연산과정을 모바일 디바이스의 연산 처리능력내에서 구현가능하도록 각종 연산과정을 단순화시키는 과정이 필요하다.
본 발명은 이러한 필요성에 의해 안출된 것으로, 모바일 디바이스 환경에서 3차원 렌더링을 수행하기에 적합하도록 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치를 제공하는 것을 그 목적으로 한다.
이러한 목적을 달성하기 위하여 본 발명의 일측면에 의하면, 임의의 객체에 대하여 3차원 렌더링을 수행하기 위한 공간상의 위치변환을 수행하고, 객체를 구성 하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 한가지 색상을 이용한 조명 계산을 수행하여 해당 정점에서의 광원에 의한 색상 농도를 산출하는 지오메트리 처리부와, 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 산출된 정점들의 색상 농도를 이용하여 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들(fragments)의 색상농도를 산출하고, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 래스터라이제이션 처리부를 포함하는 단색광을 이용한 3차원 렌더링 처리 장치를 제공한다.
또한, 본 발명의 다른 측면에 의하면, 3차원 렌더링을 수행할 객체를 구성하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 한가지 색상을 이용한 조명 계산을 수행하여 해당 정점에서의 광원에 의한 색상 농도를 산출하는 단계와, 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 산출된 정점들의 색상 농도를 이용하여 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들(fragments)의 색상농도를 산출하는 단계와, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 단계를 포함하는 단색광을 이용한 3차원 렌더링 처리 방법을 제공한다.
본 발명의 다른 측면에 의하면, 렌더링하고자 하는 객체에 대하여 R, G, B 삼원색상 중 제 1 색상의 농도를 계산하고, 제 2 색상 및 제 3 색상의 농도를 제 1 색상의 농도와 동일한 값으로 설정하여 각 프래그먼트들(fragments)의 색상 농도를 산출하고, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 3차원 렌더링을 수행하는 제어부와, 객체 데이터와, 텍스쳐 데이터, 3차원 렌더링을 수행하기 위한 프로그램, 렌더링 처리된 픽셀 데이터를 저장하는 데이터 저장부와, 렌더링 처리된 픽셀 데이터를 화면으로 출력하는 표시부를 포함하는 이동 통신 단말기를 제공한다.
우선, 사용되는 용어에 대하여 간략하게 정의하도록 한다.
정점은 2차원이나 3차원 공간에서 위치를 나타내는 점을 말하며, 꼭지점(vertex)라고도 한다.
폴리곤(polygon)은 3개의 정점으로 만들어진 삼각형을 말한다.
변환은 행렬을 가지고 이동 회전이나 크기 변환을 수행하는 것을 말한다.
엣지(edge)는 폴리곤에서 정점과 정점을 연결하는 직선을 말한다.
텍스쳐 맵핑(texture mapping)이란 3차원 정점에 2차원 텍스쳐 이미지(jpg, bmp, gif 등)를 입히는 것을 말한다.
셰이딩(shading)이란 폴리곤에 음영을 넣은 작업이다. 대표적으로는 플랫 셰이딩(flat shading), 고라우드 셰이딩(gouraud shading), 퐁 셰이딩(phong shading)등이 있다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 수행 흐름도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 을 위해 우선, 임의의 객체에 대하여 3차원 렌더링을 수행하기 위한 공간상의 위치변환을 수행한다(S1).
이후, 해당 객체를 구성하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 제 1 색상의 농도를 계산한다(S2).
제 1 색상의 농도가 계산되면 R, G, B 삼원 색상중에서 제 2 색상, 제 3 색상의 색상 농도를 제 1 색상과 동일한 값으로 설정하는 조명 계산을 수행하여 해당 정점에서의 광원이 포함된 색상 농도를 산출한다(S3).
해당 정점에서의 광원이 포함된 색상 농도가 산출되면, 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할한다(S4).
그리고, 각 폴리곤에 대하여 산출된 R, G, B 삼원 색상중의 제 1 색상농도와 동일한 값으로 제 2 색상, 제 3 색상의 색상 농도를 설정하여 증분 값들(gradients values)을 산출하여 삼각형 셋업과 엣지 셋업한다(S5).
엣지 셋업이후에는 산출된 R, G, B 삼원 색상중의 제 1 색상농도와 동일한 값으로 제 2 색상, 제 3 색상의 색상 농도를 설정하는 스팬처리를 수행하여 해당 정점들에 의해 이루어지는 폴리곤내에 있는 각 플래그먼트들(fragments)의 색상농도를 산출한다(S6).
각 플래그먼트들의 색상농도가 산출되면 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 생성함으로써 렌더링을 완료한다(S7).
도 2는 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리 장치의 구성도이다.
도 2를 참조하면, 본 발명에 의한 단색광을 이용한 3차원 렌더링 처리장치(100)는 지오메트리 처리부(110)와, 래스터라이제이션 처리부(120)와, 데이터 저장부(130)를 포함하여 구성된다.
지오메트리 처리부(110)는 임의의 정점에 대하여 R, G, B중에서 임의로 선택된 하나의 색상을 이용하여 객체를 구성하는 각 픽셀의 색 농도를 구하여 공간상의 위치변환과 빛에 대한 계산을 수행하여 해당 정점에서의 광원이 포함된 색상 농도를 산출한다.
지오메트리 처리부(110)는 임의의 객체에 대한 공간상의 위치변환을 수행한후 해당 객체에 조명되는 빛에 대한 계산을 수행할 때, R, G, B 중에서 선택된 한가지 색상을 이용하여 해당 객체에 대한 조명 계산을 수행한다.
지오메트리 처리부(110)는 조명 계산의 수행시에 객체에 조명되는 빛의 세기와 조명에 따른 색상 농도를 계산하여 해당 정점에서의 광원에 의한 색상농도를 산출하게 된다.
객체를 구성하는 각 정점에서의 광원에 의한 색상농도를 산출하기 위해서는 조명에 따른 각 정점에서의 R, G, B 색상 농도가 사용된다. 이에 따라 R, G, B의 각 색상에 대한 색상 농도를 산출하는 것이 필요하다.
이때, R, G, B의 각 색상에 대하여 색상 농도를 산출하는 과정을 개별적으로 수행하게 되면, 한가지 색상에 대해 소요되는 연산을 동일하게 세번 수행해야 하기 때문에 연산 시간이 길어진다.
그런데, R, G, B 색상의 특성상 R, G, B 농도가 임의의 a값으로 서로 동일한 값을 갖게 되면 회색이 된다. 따라서, R, G, B 색상중 하나의 색상, 예를 들어 R 색상을 선택하여 R 색상의 색농도를 계산한 다음, G 색상과 B 색상의 색상농도를 R 색상의 색상농도와 같은 값으로 하여 해당 정점에서의 색상 농도를 산출하게 되면, 결국적으로 광원에 포함된 색상은 고려되지 다만 각 정점에서의 색상농도만 고려되어진다. 따라서, 객체에 임의의 색상이 가미되지 않는 백색광의 효과를 얻을 수 있게 된다.
그리고, R, G, B 색상중 하나의 색상에 의해 계산된 색상농도를 이용한 최종 결과물과 R, G, B 색농도를 각각 계산하여 산출된 색상농도를 이용한 최종 결과물을 비교하여 보면 별로 차이가 없다. 왜냐하면, 지오메트리 처리부(110)에서는 객체를 이루는 각 플래그먼트들이 가지는 색농도만 필요하며, 래스터라이제이션 처리부(120)에서 이루어지는 텍스쳐 맵핑시에 구체적인 색상이 입혀지기 때문이다.
한편, 래스터라이제이션 처리부(120)는 지오메트리 처리부(110)에 의해 임의의 정점에서의 광원이 포함된 색상 농도가 산출되면, 각 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 산출된 정점들의 색상 농도를 이용하여 해당 정점들에 의해 이루어지는 폴리곤내에 있는 각 플래그먼트들(fragments)의 색상농도를 산출하고, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 과정을 수행한다.
이때, 래스터라이제이션 처리부(120)는 각 픽셀에 대하여 R, G, B 색상 중에서 모든 색상의 농도를 산출하는 것이 아니라, 한가지 색상만을 선택하여 해당 색상의 농도를 산출한다. 이에 따라 각 폴리곤내의 각 플래그먼트들에 대한 한가지 색상 농도가 구해진다.
이후, 래스터라이제이션 처리부(120)는 해당 객체에 색상을 입히기 위하여 텍스쳐 맵핑을 수행하게 된다. 이때, 각 폴리곤내의 각 플래그먼트에 대한 색농도가 산출되었으므로, 래스터라이제이션 처리부(120)는 각 폴리곤내의 각 플래그먼트에 입혀질 텍스쳐의 색상 정보를 맵핑한다.
이와 같이 지오메트리 처리부(110)에서 객체에 대한 조명계산을 수행할 때, R, G, B 색상의 모든 색상에 대하여 각각 계산을 수행하지 않고 R 색상의 농도를 계산하여 R 색상 농도와 동일한 값을 G 색생과 B 색상의 색상농도로 하여 계산을 수행하고, 래스터라이제이션 처리부(120)에서 폴리곤을 구성하는 각 플래그먼트들의 색상농도를 구할 때 R 색상에 대한 색상 농도를 계산하여 R 색상 농도와 동일한 값을 G 색상과 B 색상의 색상농도로 하여 계산을 수행함으로써, 전체적으로 수행되는 연산의 갯수를 줄일 수 있다.
데이터 저장부(130)는 3차원 렌더링을 수행하기 위한 객체 데이터와, 해당 객체에 입힐 텍스쳐 데이터와, 3차원 렌더링이 수행되어 스크린에 출력되기 위한 픽셀 데이터를 저장하는 것으로, 프레임 버퍼가 여기에 해당된다.
지오메트리 처리부(110)와, 래스터라이제이션 처리부(120)에 대하여 좀더 상세히 살펴보도록 한다.
여기에서는, 지오메트리 처리부(110)와, 래스터라이제이션 처리부(120)를 구현하기 위하여 현재 사용되고 있는 3차원 그래픽에 사용되는 가장 대표적인 렌더링 방법인 오픈지엘 인터페이스(OpenGL interface : Open Graphics Library interface)를 이용하는 오픈지엘 렌더러를 이용하도록 한다.
본 발명에 따른 단색광을 이용한 3차원 렌더링 방법을 OpenGL ES에서 구현가능하게 하기 위해서는 일반적으로 사용되는 openGL ES 라이브러리에 단색광 모드에 필요한 절차를 추가하여 구현할 수 있다. 이렇게 함으로써 그래픽 파이프 라인에서 처리되는 색의 개수가 줄게 된다.
지오메트리 처리부(110)는 도시된 바와 같이 모델 뷰 변환 처리부(111)와, 조명 처리부(112)와, 투영 처리부(113)와, 클리핑 처리부(114)와, 화면 맵핑 처리부(115)로 이루어진다.
모델 뷰 변환(model veiw transform) 처리부(111)는 3차원 렌더링을 위한 객체에 대한 좌표변환을 수행한다.
기하 데이터는 3차원 공간의 맥락에서 모델 뷰 변환 처리부(111)에 전달된다. 모델 뷰 변환 처리부(111)는 그러한 기하 데이터를 2차원 뷰포트에 그리기 위해 필요한 기하학적 변환을 수행한다.
하나의 객체 모델이 최종적으로 화면에 디스플레이 되기까지 해당 모델은 여러 개의 다른 공간 또는 좌표계로 변환된다. 원래 하나의 모델은 자신의 고유한 모델 공간에 존재하는데 이러한 모델에 자신의 위치와 방향을 정하도록 해주는 모델 변환이 적용된다. 동일한 모델에 여러 가지 모델 변환이 적용되는 것도 가능하다.
적용되는 모델 변환은 객체의 위치를 옮기고(Translation), 객체를 회전시키며(Rotation), 그 모양과 크기를 줄이거나 늘이게(Scaling) 된다.
렌더링 파이프라인에는 몇 가지 서로 다른 좌표계들이 쓰인다. 모형의 정점들은 일반적으로 물체 공간(또는 객체 공간)을 기준으로 저장된다. 물체 공간은 특정 모형에 대해 국한되며 그 모형에만 쓰이는 좌표계이다. 모형의 위치와 방향은 세계 공간을 기준으로 저장된다. 세계 공간은 모든 물체 공간들을 한 데 묶는 좌표계이다.
모델 변환에 의해 변형되는 대상은 모델의 정점과 법선 벡터들이다. 물체의 좌표는 모델 좌표라고 불리며, 모델 변환이 이 좌표들에 적용되고 나면 그 모델은 세계 좌표계 또는 세계 공간에 위치한다고 말한다. 세계 공간은 유일하며, 모델들이 고유의 모델 변환에 의해 변환되고 나면 모든 모델들은 동일한 공간에 존재하게 된다.
하나의 물체를 렌더링하려면 그 물체의 정점들을 카메라 공간으로 변환해야 한다. 카메라 공간은 x와 y 축이 화면 디스플레이와 정렬되며 z 축은 시선 방향과 평행한 좌표계로, 시점 공간(eye space)이라고도 부른다. 물체 공간을 세계 공간으로 변환하는 행렬과 세계 공간을 카메라 공간으로 변환하는 행렬을 결합함으로써 물체 공간의 정점들을 카메라 공간으로 직접 변환하는 것도 가능하다.
조명 처리부(112)는 좌표변환된 객체에 대하여 일정한 지점으로부터 빛을 조명하여 그 조명에 따른 각 픽셀의 색상 농도를 산출한다.
모델이 좀 더 현실감 있게 보이도록 하기 위해서 장면에 한 개 혹은 그 이상 의 광원들을 집어넣을 수 있다. 사용자는 광원을 끄거나 켬으로써 그 광원이 최종 이미지에 영향을 미치도록 할지를 선택할 수 있다.
기하 모델은 각 정점과 연관된 색상을 가질 수 있고, 자신에게 덧씌워질 텍스처(이미지)를 가질 수도 있다. 조명을 사용하지 않고도 텍스처를 이용하여 표면에 3차원 효과를 줄 수 있지만, 색상만으로는 어렵다.
광원의 조명 모델은 세 가지로 분류하는데 전체적으로 모든 방향으로부터 비추어지는 엠비언트 조명(Ambient Light), 특정한 방향으로부터 비추어지지만 반사는 여러 방향으로 이루어지는 확산 조명(Diffuse Light), 확산광처럼 유방향성 빛이지만 특정한 방향으로 뚜렷하게 빛을 반사시키는 스페큘러 조명(Specular Light)이 그것이다.
광원에 의해 영향을 받게 되는 모델들이 정해지면 통상적으로 사용되는 조명 계산식(lighting equation)을 이용하여 모델의 각 정점 색상을 계산한다.
이때, 조명 처리부(112)는 모델의 각 정점 색상을 계산할 때, 각 정점에 대하여 R, G, B 색상을 농도를 계산해야 한다. 여기에서는 임의의 정점에 대하여 R 색상에 대한 색상 농도를 계산하고, G 색상과 B 색상의 농도는 계산된 R 색상의 농도와 동일한 농도로 설정하여 각 정점에 대한 조명 계산을 수행한다.
R, G, B 색상중 R 색상만의 농도를 계산하여 R 색상 농도를 G 색상, B 색상 농도로 하여 조명 계산을 수행하는 것은 R, G, B 색상 모델의 특성을 이용한 것이다.
R, G, B 색상 모델은 주어진 색상을 빨간색(Red), 초록색(Green), 파란색 (Blue)의 세가지 원색을 검정색 바탕에 적절히 더해 표현하는 방식(additive model)이다.
따라서, 임의의 색상은 (R, G, B)(0.0 ≤ R, G, B ≤1.0)으로 표현될 수 있다.
예를 들어, 빨간색(Red)=(1, 0, 0), 초록색(Green)=(0, 1, 0), 파란색(Blue)=(0, 0, 1), 시안색(Cyan)=(0, 1, 1), 자홍색(Magenta)=(1, 0, 1), 노란색(Yellow)=(1, 1, 0), 검정색(blacK)=(0, 0, 0), 흰색(White)=(1, 1, 1), 회색(Gray)=(a, a, a)이 될 수 있다.
R, G, B 색상 모델은 직관적이지 않으나 기계적으로 편리하게 다룰 수 있어 디스플레이 시스템 등에서 널리 쓰일 뿐만 아니라 컴퓨터 그래픽스 분양에서 근간을 이루는 색깔 모델이다.
따라서, 여기에서는 R, G, B의 색상중 선택된 R 색상의 농도를 계산하여 그 R 색상의 농도가 a라고 하면 임의 정점에 대하여 (R, G, B)=(a, a, a)로 함으로써 객체의 각 정점들이 회색의 서로 다른 농도를 가지고 표현될 수 있게 하였다.
하나의 정점에 대하여 R 색상에 대한 조명 계산식은 통상적으로 사용되는 조명 계산 알고리즘에 따라 수행하면 되므로 여기에서는 상세한 언급을 하지 않도록 한다.
아울러, 여기에서는 R, G, B의 삼원색상중에서 R 색상을 선택하였으나, 편의에 따라 G 또는 B가 선택될 수 있음은 자명한 일이다.
이와 같이 R, G, B 색상의 특성상 R, G, B 색상 농도가 임의의 a로서 서로 동일한 값을 갖게 되면 회색이 되므로 조명 처리부(112)에서 수행된 조명 계산의 결과로서 회색의 색상을 가지면서 광원이 포함된 색상 농도가 산출되어 진다.
이때, 조명 계산식은 실세계에서 광자(photon)와 표면간에 일어나는 현상을 근사적으로 표현한 것이다. 실시간 그래픽스에서는 이러한 현상을 완벽하게 표현하기에 많은 시간이 소요된다. 예를 들어 자연계에서 일어나는 실제 반사 현상과 그림자는 이 수식으로 다 표현할 수 없다.
모델들은 보통 삼각형의 집합으로 표현되는데, 그 이유는 대부분의 그래픽스 하드웨어에서 기본 기하 요소로 삼각형을 사용하기 때문이다. 표면의 각 정점에서의 색상은 광원의 위치와 속성, 정점의 위치와 법선 벡터, 정점을 포함하고 있는 물체의 특성(물성)을 이용하여 계산한다.
삼각형의 각 정점들에서의 색상은 화면상에 렌더링되는 시점에서 삼각형 위의 모든 점들로 보간된다. 이러한 보간 기법(Interpolation processing)을 고라우드(Gouraud) 셰이딩이라고 한다.
투영 처리부(113)는 조명 처리부(112)에 의해 조명 처리가 이루어지면 투영(Projection)을 한다. 이것은 시야 영역을 양끝 모서리 점이 (-1, -1, -1)과 (1, 1, 1)의 좌표를 가지는 단위 정육면체로 변환하는 것이다. 이러한 단위 정육면체를 정규 시야 영역(canonical view volume)이라고 한다. 대표적인 두 가지 투영방법으로 평행 투영(parallel projection)이라고도 불리우는 직교 투영(orthographic projection)과 원근 투영(perpective projection)이 있다.
직교 투영에서 시야 영역은 보통 직사각형 상자 모양이고, 직교 투영에 의해 이러한 시야 볼륨은 단위 정육면체로 변환된다. 직교 투영의 주된 특징은 평행선이 변환 후에도 평행을 유지한다는 것이다. 이 변환은 평행 이동과 크기 변환의 조합으로 표현된다.
원근 투영은 좀 더 복잡하다. 여기서는 물체가 카메라에서 멀어질수록 투영한 후에 더 작게 보인다. 또한 평행선은 수평선에서 한 점으로 수렴할 수도 있다.
그러므로 원근 투영 변환은 인간이 물체의 크기를 인지하는 방법을 흉내낸 것이라고 할 수 있다. 기하학적 용어로 절두체(frustum)라 불리우는 시야 영역은 직사각형의 바닥면을 가지고 정점이 잘려진 피라미드 모양을 가진다.
클리핑(Clipping) 처리부(114)는 투영 처리부(113)에 의해 투영처리된 기하요소 중에서 시야 영역에 포함되는 기하요소만을 남겨두고 시야 영역에서 가리워지는 부분을 잘라낸다.
전체 또는 일부가 시야 영역에 포함되는 기하 요소들만이 래스터라이제이션 처리부(120)로 전달되어야 한다. 래스터라이제이션 처리부(120)는 그것들을 화면에 그려준다. 시야 영역에 완전히 포함되는 기하 요소들은 그대로 래스터라이제이션 처리부(120)에 전달된다. 시야 영역에서 완전히 벗어나 있는 기하 요소들은 렌더링이 되지 않으므로 더 이상 다음 단계로 넘기지 않는다. 시야 볼륨 내에 부분적으로 포함되는 기하 요소들에 대해서는 클리핑이 필요하다.
예를 들어 한 정점은 시야 볼륨의 바깥쪽에 있고, 다른 정점은 안쪽에 있는 선분은 시야 볼륨의 경계를 기준으로 클리핑되어 바깥쪽에 있는 정점은 그 선분과 시야 볼륨의 교차점에 위치하는 새로운 정점으로 대치된다. 이전 단계에서 투영 변 환을 한 후 변환된 기하 요소들은 단위 정육면체를 기준으로 클리핑된다. 클리핑하기 전에 시야 변환과 투영을 수행하는 것이 좋다. 그 이유는 투영의 종류와 무관하게 기하 요소들을 항상 단위 정육면체에 대해 클리핑하는 것이 쉽기 때문이다.
화면 맵핑(Screen Mapping) 처리부(115)는 클리핑 처리부(114)에 의해 클리핑된 시야 영역내에 있는 기하 요소들을 화면 좌표계로 맵핑한다.
화면 매칭 처리부(115)에 의해 화면 좌표계로 맵핑되기 전까지 좌표는 아직 3차원이다. 각 기하 요소의 x와 y좌표들은 화면 좌표계(screen coordinates)를 형성하기 위해 변환된다. z좌표를 포함한 화면 좌표계를 윈도 좌표계(window coordinates)라고 한다. 하나의 장면은 (x1, y1)을 최소 모서리로 가지고 (x2, y2)를 최대 모서리로 가지는 윈도 내에 렌더링되어야 한다.
여기서 x1<x2이고, y1<y2 이다. 그러면 화면 맵핑은 크기 변환 연산과 평행 이동을 연이어서 하는 것이라고 생각할 수 있다. z좌표는 이 맵핑에 영향을 받지 않는다. 새로운 x좌표와 y좌표는 화면 좌표라 불린다. 이 값들은 z좌표 (-1≤z≤1)와 함께 래스터라이제이션 처리부(120)로 전달한다.
래스터라이제이션 처리부(120)는 주사 변환(scan conversion) 처리부(121)와, 픽셀 처리부(122)로 이루어진다.
주사 변환 처리부(121)는 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 상기 산출된 정점들의 색상 농도를 이용하여 증분 값들(gradients values)의 계산 및 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들의 색상농도를 산출한다.
여기서, 프래그먼트들은 폴리곤을 구성하는 정점과 정점간, 또는 엣지와 엣지간에 존재한다.
주사 변환 처리부(121)에 적용되는 대표적인 알고리즘으로는 스캔-라인 알고리즘(scan-line algorithm)과 타일링 트래버설 알고리즘(tiling-traversal algorithm)이 있다.
주사 변환 처리부(121)는 삼각형의 세 정점을 셋업한 다음, 각 정점간의 엣지를 셋업하는 과정에서 증분을 결정하여 결정된 증분을 반영하여 엣지 셋업을 수행하고, 스팬 처리를 수행하여 삼각형에 있는 내부 영역을 한 줄(span)씩 픽셀들로 채운다. 이 과정을 래스터화(rasterization)라고 부른다. 이때에도 삼각형의 엣지간의 각 픽셀을 채울 때에도 보간법이 사용된다.
도 3을 참조하면, 주사 변환 처리부(121)는 삼각형 셋업과 엣지 셋업, 스팬 처리를 수행하는 동안에 각 픽셀마다 깊이, 보간된 정점 색, 보간된 텍스쳐 좌표들을 계산한다. 그런 정보들과 픽셀 자체의 위치를 하나로 묶어서 플래그먼트(fragment)라고 하는 것이다.
주사 변환 처리부(121)에서 플래그먼트의 색상 농도를 구하는 과정에도 각 픽셀마다 R, G, B의 각 색상농도가 필요하다. 여기에서는, R, G, B 색상에 대한 색상농도를 개별적으로 계산하지 않고, 지오메트리 처리부(110)에 의해서 산출된 R, G, B 색상중에서 선택된 R 색상의 농도를 이용하여 G 색상과 B 색상의 농도는 R 색상의 농도와 같은 값으로 설정하여 계산하도록 한다.
이렇게 함으로써, 주사 변환 처리부(121)는 삼각형 셋업과 엣지 셋업과 플래 그먼트의 색상 농도를 산출할때에도 R 색상 한가지에 대하여 계산하고, 그 계산된 R 색상의 농도를 G 색상과 B 색상의 농도로 설정한다.
즉, 주사 변환 처리부(121)는 엣지 셋업 과정에서도 삼각형 정점간에 보간법을 통해 계산된 증분만큼 반영하여 삼각형의 엣지를 설정할때도 R 색상 한가지에 대하여 색상 농도를 계산하고, 그 계산된 R 색상의 농도를 G 색상과 B 색상의 농도로 설정한다.
또한, 주사 변환 처리부(121)는 스팬 처리 과정에서도 삼각형 엣지간에 보간법을 통해 계산된 증분만큼 반영하여 삼각형 내의 픽셀을 채워갈 때에도 R 색상 한가지에 대하여 색상 농도를 계산하고, 그 계산된 R 색상의 농도를 G 색상과 B 색상의 농도로 설정한다.
주사 변환 처리부(121)에서 삼각형 셋업과정과 엣지 셋업과 스팬처리를 수행하고 나면 주사 변환 처리부(121)는 해당 객체를 구성하는 각 픽셀에 대한 색농도를 가지고 있게 된다.
픽셀 처리부(122)는 폴리곤으로 이루어진 객체의 표면에 텍스쳐(이미지)를 입혀서 좀더 사실적인 영상을 빠른 속도로 생성하는 텍스쳐 맵핑을 수행하여 블렌딩한다.
즉, 픽셀 처리부(122)는 주사 변환 처리부(121)에 의해 산출된 해당 객체를 구성하는 각 픽셀에 대한 색농도와 해당 객체에 입히고자 하는 텍스쳐의 텍스쳐 맵핑을 통해 구해진 텍스쳐 픽셀의 색상 정보를 블렌딩하여 최종 픽셀의 색상을 산출하여 해당 색상 정보를 가지는 픽셀 데이터를 생성하여 스크린에 출력하기 위해 데 이터 저장부(130)에 저장한다.
이에 따라 주사 변환 처리부(121)에 의해 각 픽셀에 대하여 색농도만을 지니고 있던 객체는 픽셀 처리부(122)의 텍스쳐 맵핑과 블렌딩을 통해 주사 변환 처리부(121)에 의해 설정된 색농도를 가지며 텍스쳐에 설정된 색상이 입혀지게 된다.
도 4는 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리 방법을 수행하는 이동통신 단말기의 구성 예시도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리 방법을 수행하는 이동통신 단말기는 단색광을 이용한 3차원 렌더링 처리를 수행하기 위한 절차가 프로그래밍된 프로그램을 저장하고 있는 메모리(210)와, 그 메모리에 저장된 프로그램을 읽어들여 해당 프로그램에 프로그래밍된 절차를 수행할 수 있는 제어부(220)와, 화면창을 제공하는 표시부(230)와, 버튼으로 구성되는 키입력부(240)와, 폴더(250)와, 음성 메모리(261)와, 음성 처리부(262)와, 착신음 발생부(263)와, RF부(264)와, 스피커(265)와, 마이크로폰(266)을 포함하여 구성된다.
메모리(210)에는 제어부(220)의 동작 프로그램, 시스템 프로그램이 저장되며, 동작 프로그램이나 시스템 프로그램은 통상 포함된 롬(ROM) 영역에 저장되고 필요에 의해 소거가 가능하다. 전기적으로 소거 가능한 롬으로는 이이피롬(EEPROM), 플래시 메모리 등이 있다. 그리고, 메모리(210)는 또한 여러 동작 프로그램 수행 중에 발생하는 데이터를 일시 저장하는 램(RAM)을 포함한다.
메모리(210)에는 단색광을 이용한 3차원 렌더링 처리를 수행하기 위한 프로그램과, 객체 데이터와, 텍스쳐 데이터, 렌더링 처리된 픽셀 데이터가 저장된다.
제어부(220)는 이동 통신 단말기의 전반적인 동작을 제어함과 동시에, 본 발명에 따른 이동통신 단말기에서의 단색광을 이용한 3차원 렌더링 처리를 수행할때 전체적인 절차에 대한 제어를 수행하게 된다. 그리고, 구비되는 각종 구성들의 제어를 이루게 된다.
제어부(220)는 렌더링하고자 하는 객체에 대하여 R, G, B 삼원색상 중 제 1 색상의 농도를 계산하고, 제 2 색상 및 제 3 색상의 농도를 제 1 색상의 농도와 동일한 값으로 설정하여 각 프래그먼트의 색상 농도를 구하여 그 색상 농도와, 텍스쳐 맵핑을 통해 산출된 텍스쳐 픽셀의 색상 정보와 블렌딩하여 최종 픽셀의 색상을 산출하여 3차원 렌더링을 수행한다.
음성 메모리(261)는 음성 통화 또는 착신음, 멜로디를 포함하여 각종 음성 데이터를 저장한다.
표시부(230)는 액정표시장치(LCD) 등과 같은 표시장치로서, 제어부(220)의 제어를 받아 이동통신 단말기의 상태나 프로그램의 진행 상황을 표시한다. 즉, 이동통신 단말기의 전반적인 상태 및 입력되는 사용자 정보 등을 표시한다.
또한, 표시부(230)는 렌더링 처리된 픽셀 데이터를 화면으로 출력하여 표시한다.
키입력부(240)는 다수의 숫자 키와 메뉴 키 및 각종 기능을 수행하기 위한 기능 키로 이루어지며, 외부의 조작에 의해 제어부(220)로 키 데이터를 출력한다.
따라서, 제어부(220)는 키입력부(240)에 의한 사용자의 메뉴 표시 요구에 따라 해당 메뉴를 메모리(210)로부터 독출하여 표시부(230)에 표시한다. 즉, 키입력 부(240)는 통상적인 사용자 정보 입력 수단으로, 다수의 숫자 키와 기능키 등 적용되는 이동통신 단말기에 적절한 다수의 키들을 구비하며, 구비된 각 키들의 입력이 있으면 입력 키 각각에 있어 해당되는 고유의 키 데이터를 출력하여 제어부(220)로 전달함으로써, 키입력부(240)의 키 입력 동작을 통해 메뉴 표시 모드로의 진입 및 메뉴의 선택이 이루어지게 된다. 그러면, 제어부(220)에서 해당 키 입력에 따른 메뉴를 메모리(210)에서 독출하여 표시부(230)에 표시하게 된다.
RF부(264)는 제어부(220)의 제어를 받으며, 제어부(220)로부터 출력되는 신호를 무선신호로 변환한다. 또한, RF부(264)는 안테나를 통해 수신된 무선신호를 원하는 신호로 변환하여 출력한다. 이때, RF부(264)는 다른 이동 통신 단말기 또는 각종 네트워크 게임을 제공하는 서버와 통신을 수행하여 각종 3차원 그래픽이 지원되는 게임이 진행될 수 있도록 해당 데이터들을 송수신한다.
음성처리부(262)는 마이크로폰(microphone)(266)으로부터 입력된 음성 신호를 변조하여 음성 데이터로 변환하고, RF부(264)로부터 입력된 음성 데이터 및 음성 메모리(261)에 저장된 음성 데이터를 음성신호로 복조하여 스피커(speaker)(265)를 통해 음성으로 출력한다.
착신음 발생부(263)는 제어부(220)의 제어를 받아 스피커를 통해 수화음을 발생한다.
이와 같이 구성된 본 발명의 이동 통신 단말기(200)는 RF부(264)를 통해 다른 이동 통신 단말기 또는 각종 네트워크 게임을 제공하는 서버와 연결되어 각종 3차원 그래픽이 지원되는 게임을 진행할 수 있다.
이러한 경우, 본 발명에 의한 이동 통신 단말기(200)의 제어부(220)는 RF부(264)를 통해 수신한 3차원 객체 데이터를 메모리(210)에 저장하고 그 3차원 객체 데이터를 3차원 렌더링을 위해 우선, 임의의 객체에 대하여 3차원 렌더링을 수행하기 위한 공간상의 위치변환을 수행한다.
이후, 해당 객체를 구성하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 제 1 색상의 농도를 계산한다.
제 1 색상의 농도가 계산되면 R, G, B 삼원 색상중에서 제 2 색상, 제 3 색상의 색상 농도를 제 1 색상과 동일한 값으로 설정하는 조명 계산을 수행하여 해당 정점에서의 광원이 포함된 색상 농도를 산출한다.
해당 정점에서의 광원이 포함된 색상 농도가 산출되면, 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할한다.
그리고, 각 폴리곤에 대하여 산출된 R, G, B 삼원 색상중의 제 1 색상농도와 동일한 값으로 제 2 색상, 제 3 색상의 색상 농도를 설정하여 증분 값들(gradients values)을 산출하여 삼각형 셋업과 엣지 셋업한다(S5).
엣지 셋업이후에는 산출된 R, G, B 삼원 색상중의 제 1 색상농도와 동일한 값으로 제 2 색상, 제 3 색상의 색상 농도를 설정하는 스팬 처리를 수행하여 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들(fragments)의 색상농도를 산출한다.
각 플래그먼트들의 색상농도가 산출되면 텍스쳐 맵핑을 통해 폴리곤내의 각 플래그먼트들에 대한 텍스쳐의 색상정보를 얻는다.
이후, 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 생성하여 렌더링을 완료하고 렌더링이 완료된 픽셀 데이터를 메모리(210)에 저장한다.
그리고, 메모리(210)에 저장된 픽셀 데이터는 제어부(220)의 제어에 따라 표시부(230)에 순차적으로 출력되어진다.
본 발명은 바람직한 실시예 및 많은 구체적인 변형 실시예를 참조하여 설명되었다. 그렇지만, 구체적으로 설명된 것과는 다른 많은 기타 실시예들이 또한 본 발명의 사상 및 범위 내에 들어간다는 것을 관련 분야의 당업자들은 이해할 것이다.
본 발명에 의하면, 지오메트리 처리와 래스터레이션 처리를 수행할때 연산해야 하는 색상의 개수가 줄게 되므로 3차원 그래픽스에서의 필요 연산량이 효과적으로 줄게 된다.
즉, 기하 연산 처리를 수행할 때 조명처리 과정의 연산량이 R, G, B 색상에 대한 각각의 연산을 수행할 경우에 비해 15% 감소하게 되었고, 래스터라이제이션 처리를 수행할 때 삼각형 셋업 과정에서는 7%, 엣지와 스팬 처리과정에서는 20%의 연산량의 감소를 보여줌을 확인하였다.
도 5a 내지 도 5c는 본 발명의 일실시예에 따른 단색광을 이용한 3차원 렌더링 처리의 결과 영상과 일반 3차원 렌더링 처리의 결과 영상의 비교도이다.
도 5a는 본 발명에 따른 단색광을 이용한 3차원 렌더링 처리 방법을 통하여 기하처리를 수행한 영상으로 텍스쳐를 입히기 전의 영상이며, 도 5b는 일반적인 3차원 렌더링 처리 방법에 의한 결과 영상이며, 도 5c는 본 발명에 따른 단색광을 이용한 3차원 렌더링 처리 방법에 의한 결과 영상이다.
도 5b와 도 5c를 비교하면 연산량의 감소에 비해 R 색상에 대한 연산을 수행하여 그 연산 결과를 G 색상과, B 색상에 반영한 본 발명에 따른 영상과, R, G, B 색상에 대한 각각의 연산을 수행할 경우에 따른 영상과 비교하여 볼때 영상의 질에 있게 별반 차이가 없었다.
Claims (9)
- 임의의 객체에 대하여 3차원 렌더링을 수행하기 위한 공간상의 위치변환을 수행하고, 상기 객체를 구성하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 한가지 색상을 이용한 조명 계산을 수행하여 해당 정점에서의 광원에 의한 색상 농도를 산출하는 지오메트리 처리부와,상기 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 상기 산출된 정점들의 색상 농도를 이용하여 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들(fragments)의 색상농도를 산출하고, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 래스터라이제이션 처리부를 포함하는 단색광을 이용한 3차원 렌더링 처리 장치.
- 청구항 1에 있어서, 상기 지오메트리 처리부는,상기 객체를 구성하는 임의의 정점에 대하여 상기 R, G, B 삼원 색상중에서 선택된 제 1 색상의 농도를 계산하고, 제 2 색상, 제 3 색상의 색상 농도를 상기 제 1 색상과 동일한 값으로 설정하는 조명계산을 통해 해당 정점에서의 광원에 의한 색상 농도를 산출하는 조명 처리부를 포함하는 단색광을 이용한 3차원 렌더링 처리 장치.
- 청구항 1에 있어서, 상기 래스터라이제이션 처리부는,상기 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 상기 산출된 정점들의 색상 농도를 이용하여 증분 값들(gradients values)의 계산 및 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들의 색상농도를 산출하는 주사 변환 처리부와,상기 주사 변환 처리부에 의해 산출된 각 플래그먼트의 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 화면에 출력할 최종 픽셀 데이터를 생성하는 픽셀 처리부를 포함하는 단색광을 이용한 3차원 렌더링 처리 장치.
- 청구항 3에 있어서, 상기 주사 변환 처리부는,상기 지오메트리 처리부에 의해 산출된 상기 R, G, B 삼원 색상중의 제 1 색상농도와 동일한 값으로 제 2 색상, 제 3 색상의 색상 농도를 설정하여 상기 증분 값들(gradients values) 및 상기 프래그먼트들(fragments)의 색상 농도를 계산하는 단색광을 이용한 3차원 렌더링 처리 장치.
- 렌더링하고자 하는 객체에 대하여 R, G, B 삼원색상 중 제 1 색상의 농도를 계산하고, 제 2 색상 및 제 3 색상의 농도를 제 1 색상의 농도와 동일한 값으로 설정하여 각 프래그먼트들(fragments)의 색상 농도를 산출하고, 그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 3차원 렌더링을 수행하는 제어부와,상기 객체 데이터와, 텍스쳐 데이터, 상기 3차원 렌더링을 수행하기 위한 프로그램, 렌더링 처리된 픽셀 데이터를 저장하는 데이터 저장부와,상기 렌더링 처리된 픽셀 데이터를 화면으로 출력하는 표시부를 포함하는 이동 통신 단말기.
- 3차원 렌더링을 수행할 객체를 구성하는 임의의 정점에 대하여 R, G, B 삼원 색상중에서 선택된 한가지 색상을 이용한 조명 계산을 수행하여 해당 정점에서의 광원에 의한 색상 농도를 산출하는 단계와,상기 정점들의 위치를 좌표화하여 다수개의 폴리곤으로 분할하고, 상기 산출된 정점들의 색상 농도를 이용하여 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들(fragments)의 색상농도를 산출하는 단계와,그 산출된 색상농도에 텍스쳐 맵핑을 통해 얻어진 해당 플래그먼트들에 대한 텍스쳐의 색상정보를 블렌딩하여 각 픽셀 데이터를 산출하는 단계를 포함하는 단색광을 이용한 3차원 렌더링 처리 방법.
- 청구항 6에 있어서,상기 해당 정점에서의 광원에 의한 색상 농도를 산출하는 단계는,상기 객체를 구성하는 임의의 정점에 대하여 상기 R, G, B 삼원 색상중에서 선택된 제 1 색상의 농도를 계산하는 단계와,상기 R, G, B 삼원 색상중에서 제 2 색상, 제 3 색상의 색상 농도를 상기 제 1 색상과 동일한 값으로 설정하는 조명계산을 통해 해당 정점에서의 광원에 의한 색상 농도를 산출하는 단계를 포함하는 단색광을 이용한 3차원 렌더링 처리 방법.
- 청구항 6에 있어서,상기 각 플래그먼트들(fragments)의 색상농도를 산출하는 단계는,상기 산출된 정점들의 색상 농도간의 보간기법을 이용하여 증분 값들(gradients values)의 계산하고 해당 정점들에 의해 이루어지는 폴리곤내의 각 플래그먼트들의 색상농도를 산출하는 단계를 포함하는 단색광을 이용한 3차원 렌더링 처리 방법.
- 청구항 8에서,상기 각 플래그먼트들(fragments)의 색상농도를 산출하는 단계는,상기 산출된 상기 R, G, B 삼원 색상중의 제 1 색상농도와 동일한 값으로 제 2 색상, 제 3 색상의 색상 농도를 설정하여 상기 증분 값들(gradients values) 및 상기 프래그먼트들(fragments)의 색상 농도를 계산하는 단색광을 이용한 3차원 렌더링 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050003455A KR100603134B1 (ko) | 2005-01-13 | 2005-01-13 | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050003455A KR100603134B1 (ko) | 2005-01-13 | 2005-01-13 | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060082736A true KR20060082736A (ko) | 2006-07-19 |
KR100603134B1 KR100603134B1 (ko) | 2006-07-20 |
Family
ID=37173346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050003455A KR100603134B1 (ko) | 2005-01-13 | 2005-01-13 | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100603134B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101064809B1 (ko) * | 2008-03-31 | 2011-09-14 | 에스케이 텔레콤주식회사 | 가상공간 동적 조명 분산 시스템 및 방법 |
WO2012128421A1 (ko) * | 2011-03-22 | 2012-09-27 | 주식회사 넥서스칩스 | 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법 |
KR101239965B1 (ko) * | 2006-11-08 | 2013-03-06 | 연세대학교 산학협력단 | 렌더링 장치 및 방법 |
-
2005
- 2005-01-13 KR KR1020050003455A patent/KR100603134B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101239965B1 (ko) * | 2006-11-08 | 2013-03-06 | 연세대학교 산학협력단 | 렌더링 장치 및 방법 |
KR101064809B1 (ko) * | 2008-03-31 | 2011-09-14 | 에스케이 텔레콤주식회사 | 가상공간 동적 조명 분산 시스템 및 방법 |
WO2012128421A1 (ko) * | 2011-03-22 | 2012-09-27 | 주식회사 넥서스칩스 | 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법 |
KR101227183B1 (ko) * | 2011-03-22 | 2013-01-28 | 주식회사 넥서스칩스 | 3d 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100603134B1 (ko) | 2006-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7583264B2 (en) | Apparatus and program for image generation | |
JP7096661B2 (ja) | キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体 | |
EP2973423B1 (en) | System and method for display of a repeating texture stored in a texture atlas | |
US7170527B2 (en) | Interactive horizon mapping | |
US5877769A (en) | Image processing apparatus and method | |
US10380790B2 (en) | System and methods for generating procedural window lighting effects | |
US8294713B1 (en) | Method and apparatus for illuminating objects in 3-D computer graphics | |
JP3626144B2 (ja) | 立体オブジェクトデータからの漫画的表現の2次元画像の生成方法および生成プログラム | |
US7158133B2 (en) | System and method for shadow rendering | |
KR20040024550A (ko) | 묘화 처리 방법 | |
EP0856815B1 (en) | Method and system for determining and/or using illumination maps in rendering images | |
KR100603134B1 (ko) | 단색광을 이용한 3차원 렌더링 처리 방법 및 그 장치 | |
US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
JP3035571B2 (ja) | 画像処理装置 | |
US6563497B1 (en) | Image processing apparatus | |
US11989807B2 (en) | Rendering scalable raster content | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
KR20100075351A (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
US20230410406A1 (en) | Computer-readable non-transitory storage medium having image processing program stored therein, image processing apparatus, image processing system, and image processing method | |
JP5106992B2 (ja) | 霧効果を考慮して3次元グラフィックスデータをレンダリングする方法及び装置 | |
US11776179B2 (en) | Rendering scalable multicolored vector content | |
JP5321385B2 (ja) | 画像処理プログラムおよびコンピュータ読み取り可能な記録媒体 | |
KR100900076B1 (ko) | 경계선이 자연스러운 3차원 텍스쳐 장치 및 방법 | |
CN117333603A (zh) | 虚拟模型的渲染方法、装置、设备及存储介质 | |
CN117541697A (zh) | 一种屏幕子像素排列渲染方法、装置、设备及介质 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130624 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140624 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150624 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |