KR20150042094A - 객체를 렌더링하는 방법, 장치 및 기록매체 - Google Patents

객체를 렌더링하는 방법, 장치 및 기록매체 Download PDF

Info

Publication number
KR20150042094A
KR20150042094A KR20130120870A KR20130120870A KR20150042094A KR 20150042094 A KR20150042094 A KR 20150042094A KR 20130120870 A KR20130120870 A KR 20130120870A KR 20130120870 A KR20130120870 A KR 20130120870A KR 20150042094 A KR20150042094 A KR 20150042094A
Authority
KR
South Korea
Prior art keywords
fragment
transparency
rendering
information
fragments
Prior art date
Application number
KR20130120870A
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 삼성전자주식회사
Priority to KR20130120870A priority Critical patent/KR20150042094A/ko
Priority to US14/276,083 priority patent/US20150103072A1/en
Publication of KR20150042094A publication Critical patent/KR20150042094A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

객체를 렌더링 하는 방법이 개시된다. 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출하고, 복수개의 프레그먼트 중에서 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교하여, 깊이 정보를 비교한 결과 및 투명도 정보에 기초하여 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정하여, 객체의 렌더링에 사용되는 전력 소비를 줄일 수 있다.

Description

객체를 렌더링하는 방법, 장치 및 기록매체 {Method and apparatus for rendering object and recording medium thereof}
객체를 렌더링하는 방법, 객체를 렌더링하는 장치 및 기록매체에 관한 것이다.
최근 3차원의 그래픽스 데이터를 화면에 표시하는 디바이스가 각광받고 있다. 예를 들어, 모바일 디바이스에서 사용되는 UI(User Interface) 어플리케이션 및 시뮬레이션을 위한 어플리케이션 등이 적용되는 디바이스의 시장 규모가 확대되는 추세에 있다.
3차원의 그래픽스 데이터를 화면에 표시하는 디바이스는 일반적으로 그래픽 처리 유닛(Graphic Processing Unit, 이하 GPU)를 포함한다. GPU는 디스플레이 상에 객체를 나타내는 프레그먼트(fragment)들을 렌더링한다. GPU는 디스플레이 상의 각 프레그먼트에 대한 하나 이상의 프레그먼트 값들을 수신한다.
GPU는 3차원 그래픽스 데이터를 화면에 표시하기 위해 수신한 하나 이상의 프레그먼트 값들을 블렌딩(blending)해서 최종적으로 화면에 출력하게 되는 프레그먼트 값을 결정할 수 있다.
적어도 하나의 객체를 렌더링하는 경우, 중첩되는 객체간에 투명도 정보를 기초로 적어도 하나의 객체를 렌더링하는데 사용되는 전력 및 시간을 감소시킬 수 잇는 방법, 장치 및 기록매체를 제공한다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 방법은, 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 단계; 상기 복수개의 프레그먼트 중에서 상기 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교하는 단계; 및 상기 깊이 정보를 비교한 결과 및 상기 투명도 정보에 기초하여, 상기 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 방법에 있어서, 상기 렌더링 방법을 결정하는 단계는, 상기 깊이 정보를 비교한 결과에 기초하여 상기 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출하는 단계; 및 상기 제 1 프레그먼트의 투명도 정보에 기초하여, 상기 제 1 프레그먼트 보다 먼 거리에 존재하는 제 2 프레그먼트의 렌더링 방법을 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 방법에 있어서, 상기 렌더링 방법을 결정하는 단계는, 상기 제 1 프레그먼트의 투명도가 기설정된 값 이하인 경우, 상기 제 2 프레그먼트를 제거하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 방법에 있어서, 상기 렌더링 방법을 결정하는 단계는, 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 정보에 기초하여 분류되는 상기 소정 프레그먼트에 대한 복수개의 렌더링 방법들 중에서 상기 제 1 프레그먼트의 투명도 정보에 대응되는 렌더링 방법을 상기 제 2 프레그먼트의 렌더링 방법으로 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 방법은, 상기 추출한 투명도 정보를 제 1 프레임의 복수개의 프레그먼트 각각에 대한 투명도 정보로서 투명도 버퍼에 저장하는 단계; 및 상기 저장된 투명도 정보에 기초하여 제 2 프레임에 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 방법은, 상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각에 대응되는 투명도 정보를 상기 투명도 버퍼로부터 추출하는 단계; 및 상기 추출한 투명도에 기초하여, 상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른. 객체를 렌더링하는 방법은, 상기 적어도 하나의 객체를 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 단계; 및 상기 추출된 각각의 투명도 정보에 기초하여, 소정 객체를 제 2 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른, 객체를 렌더링하는 장치는, 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 투명도 정보 추출부;
상기 복수개의 프레그먼트 중에서 상기 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교하는 깊이 정보 비교부; 및 상기 깊이 정보를 비교한 결과 및 상기 투명도 정보에 기초하여, 상기 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정하는 결정부를 포함할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치에 있어서, 상기 결정부는, 상기 깊이 정보를 비교한 결과에 기초하여 상기 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출하고, 상기 제 1 프레그먼트의 투명도 정보에 기초하여, 상기 제 1 프레그먼트 보다 먼 거리에 존재하는 제 2 프레그먼트의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 장치에 있어서, 상기 결정부는, 상기 제 1 프레그먼트의 투명도가 기설정된 값 이하인 경우, 상기 제 2 프레그먼트를 제거할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 장치에 있어서, 상기 결정부는, 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 정보에 기초하여 분류되는 상기 소정 프레그먼트에 대한 복수개의 렌더링 방법들 중에서 상기 제 1 프레그먼트의 투명도 정보에 대응되는 렌더링 방법을 상기 제 2 프레그먼트의 렌더링 방법으로 결정할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 장치에 있어서, 상기 결정부는, 상기 추출한 투명도 정보를 제 1 프레임의 복수개의 프레그먼트 각각에 대한 투명도 정보로서 저장하도록 투명도 퍼버를 제어하고 상기 저장된 투명도 정보에 기초하여 제 2 프레임에 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 장치에 있어서, 상기 결정부는, 상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각에 대응되는 투명도 정보를 추출하도록 상기 투명도 버퍼를 제어하고, 상기 추출한 투명도에 기초하여, 상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따라, 객체를 렌더링하는 장치에 있어서, 상기 적어도 하나의 객체를 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 투명도 정보 추출부; 및 상기 추출된 각각의 투명도 정보에 기초하여, 소정 객체를 제 2 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 결정부를 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 3D 그래픽스(graphics) 렌더링을 수행하는 파이프라인(pipeline)을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따라 객체를 렌더링하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 복수개의 프레그먼트의 투명도 정보를 투명도 버퍼에 저장하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치가 투명도에 기초하여 프레임에서 동일한 위치에 존재하는 프레그먼트들의 렌더링 방법을 결정하는 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치가 투명도에 따라 구분한 렌더링 방법에 기초하여 프레임에서 동일한 위치에 존재하는 프레그먼트들의 렌더링 방법을 결정하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따라 현재 프레임에 대한 투명도 정보를 다음 프레임에 소정의 객체를 나타내기 위한 프레그먼트를 렌더링하기 위해 이용하는 방법을 설명하기 위한 흐름도이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치의 블록도를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따라 현재 프레임의 투명도 정보에 기초하여 이후 프레임의 복수개의 프레그먼트를 렌더링 방법을 결정하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치를 설명하기 위한 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 3D 그래픽스(graphics) 렌더링을 수행하는 파이프라인(pipeline, 100)을 도시한 도면이다.
도 1에 도시된 3D 그래픽스(graphics) 렌더링을 수행하는 파이프라인(100)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
도 1을 참고하면, 파이프라인(100)은 지오메트리(geometry) 연산부(120) 및 프레그먼트(fragment) 연산부(130)를 포함할 수 있다. 지오메트리 연산부(120)는 공간상의 정점(vertex)의 위상 변화를 수행할 수 있다. 지오메트리 연산부(120)는 정점의 좌표를 화면(screen)으로 투영(projection)할 수 있다. 한편, 프레그먼트 연산부(130)는 지오메트리 연산부(120)에서 화면에 투영한 정점들의 좌표에 기초하여, 정점들이 이루는 다각형(예를 들어, 삼각형)의 내부의 픽셀을 생성할 수 있다. 또한, 프레그먼트 연산부(130)는 생성한 픽셀들의 색상을 계산할 수 있다.
이하에서는, 지오메트리 연산부(120) 및 프레그먼트 연산부(130) 각각에서 수행하는 기능에 대해 단계별로 설명하도록 한다.
지오메트리 연산부(120)는 프리미티브(primitive) 프로세싱, 정점(vertex) 쉐이더 및 프리미티브 어셈블리를 포함할 수 있다. 다만, 이는 본 발명의 일 실시예일뿐 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
프리미티브 프로세싱은 어플리케이션(110)으로부터 어플리케이션 특유(application-specific)의 데이터 구조에 따른 데이터를 수신할 수 있다. 프리미티브 프로세싱은 수신한 데이터에 기초하여 정점들을 생성할 수 있다. 여기서 어플리케이션은 예를 들어, 비디오 게임, 그래픽스 및 영상 회의 등을 수행할 수 있는 3D 그래픽스를 이용하는 어플리케이션일 수 있다.
정점 쉐이더는 각각의 정점들의 가상 공간내의 3D 위치를 화면에서 나타날 2D 좌표 및 Z 버퍼의 깊이 값으로 변환할 수 있다.
프리미티브 어셈블리는 정점 쉐이더로부터 출력되는 정점 데이터를 수집(collect)하여, 수집한 정점 데이터를 기초로 실행 가능한 프리미티브(예를 들어, 선, 점 및 삼각형)를 생성할 수 있다.
프레그먼트 연산부(130)는 레스터라이저(rasterizer, 140), 본 발명의 일 실시예에 따른 객체의 렌더링을 수행하는 장치(150) 및 픽셀 쉐이더(160)를 포함할 수 있다. 다만, 이는 본 발명의 일 실시예일뿐 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
레스터라이저(140)는 지오메트리 연산부(120)에서 수신한 프리미티브 내의 각 정점에 정의된 화면(screen) 좌표 및 텍스트 좌표 등을 보간하여, 프리미티브 내부에 대한 프레그먼트(fragment)의 정보를 생성할 수 있다. 하기의 실시예들 및 예들에서, 용어 '프레그먼트' 및 '픽셀'은 동일한 의미로 상호 교환되어 사용될 수 있다.
본 발명의 일 실시예에 따른 객체의 렌더링을 수행하는 장치(150)는 프리미티브를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 사전에 투명도를 추출할 수 있다. 객체의 렌더링을 수행하는 장치(150)는 사전에 추출한 투명도에 기초하여, 복수개의 프레그먼트에 대한 렌더링 방법을 결정할 수 있다. 이하에서는 프리미티브를, 설명의 편의상 객체라고 기술하도록 한다.
프레그먼트 쉐이더(160)는 프레임 내부의 프레그먼트 각각에 대해 텍스처 매핑 및 빛의 반사 등을 계산하여, 프레그먼트의 색상을 결정할 수 있다. 또한, 프레그먼트 쉐이더(160)는 프레임에 객체를 나타내는데 필요 없는(예를 들어, 중첩되는 객체들 중, 불투명한 객체의 뒤에 존재하는 객체에 대한 프레그먼트) 프레그먼트를 제거할 수 있다. 제거된 프레그먼트에는 렌더링이 수행되지 않을 수 있다.
프레임 버퍼(170)는 완전한 데이터 프레임을 포함하는 메모리 버퍼로부터 비디오 출력을 구동하는 비디오 출력장치일 수 있다.
도 2는 본 발명의 일 실시예에 따라 객체를 렌더링하는 방법을 설명하기 위한 흐름도이다.
단계 210에서, 객체를 렌더링하는 장치(150)는 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 적어도 하나의 객체에 대한 복수개의 프레그먼트를 획득할 수 있다. 객체를 렌더링하는 장치(150)는 수신한 복수개의 프레그먼트 각각에 대해 투명도 정보가 존재하는지 여부를 판단할 수 있다. 객체를 렌더링하는 장치(150)는 판단 결과, 투명도 정보가 존재하지 않는 프레그먼트들에 대해서는 일반적인 렌더링 과정이 수행될 수 있도록 프레그먼트 쉐이더(160)에 투명도 정보가 존재하지 않는 프레그먼트들을 전송할 수 있다.
한편, 객체를 렌더링하는 장치(150)는 투명도 정보가 존재하는 프레그먼트들에 대해서는 투명도 정보를 추출하여, 투명도 버퍼에 각 프레그먼트 별로 추출한 투명도 정보를 저장할 수 있다.
단계 220에서, 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트 중 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)가 수신한 복수개의 프레그먼트에는 프레임 상에서 동일한 위치에 존재하는 프레그먼트들이 포함될 수 있다. 예를 들어, 3차원 공간에서 중첩되는 객체들의 경우, 중첩되는 부분의 프레그먼트들은 프레임 상에서 동일한 위치 정보를 포함할 수 있다.
객체를 렌더링하는 장치(150)는 동일한 위치 정보를 포함하고 있는 프레그먼트들에 대해 깊이 정보를 추출할 수 있다. 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 추출한 깊이 정보를 비교하여, 비교결과에 따라 동일한 위치 정보를 포함하고 있는 프레그먼트들을 배열할 수 있다. 예를 들어, 객체를 렌더링하는 장치(150)는 동일한 위치 정보를 포함하고 있는 프레그먼트들을 거리가 가까운 순서대로 배열할 수 있다.
단계 230에서, 객체를 렌더링하는 장치(150)는 깊이 정보를 비교한 결과 및 투명도 정보에 기초하여, 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따르면, 객체를 렌더링하는 장치(150)는 깊이 정보에 기초하여, 가장 가까운 거리에 위치하는 제 1 프레그먼트를 추출할 수 있다. 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도 정보를 확인할 수 있다. 객체를 렌더링하는 장치(150)는 확인된 투명도 정보에 기초하여, 제 1 프레그먼트 보다 먼 거리에 위치하는 프레그먼트들의 렌더링 방법을 결정할 수 있다. 예를 들어, 객체를 렌더링하는 장치(150)는 제 1 프레그먼트가 불투명한 경우, 먼 거리에 위치하는 프레그먼트들에 대해 렌더링을 수행하지 않을 수 있다. 즉, 객체를 렌더링하는 장치(150)는 먼 거리에 위치하는 프레그먼트들을 제거할 수 있다.
다른 실시예에 따르면, 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도 정보를 추출하여, 복수개의 렌더링 방법들 중에서 추출된 투명도에 대응되는 기설정된 렌더링 방법을 제 1 프레그먼트보다 먼거리에 위치하는 제 2 프레그먼트에 적용할 수 있다. 여기에서 복수개의 렌더링 방법들은 소정 프레그먼트 보다 가까운 거리에 있는 프레그먼트의 투명도 정보에 기초하여, 분류될 수 있다.
예를 들어, 객체를 렌더링하는 장치(150)가 제 1 프레그먼트의 투명도가 70인 경우와 투명도가 50인 경우 각각에 대해 제 2 프레그먼트의 렌더링 방법을 결정하는 방법을 비교해 보도록 한다. 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도가 70인 경우에 비해, 제 1 프레그먼트의 투명도가 50인 경우, 제 2 프레그먼트의 렌더링 방법으로 저정밀도(low precision)의 렌더링 방법을 선택할 수 있다. 제 1 프레그먼트의 투명도가 낮을수록, 불투명한 것으로, 멀리 존재하는 제 2 프레그먼트는 제 1 프레그먼트에 가려지게 되어, 프레임에 객체를 표현하는데 미치는 영향이 상대적으로 적다. 그러므로 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도가 50인 경우에 상대적으로 연산량이 적은 저정밀도의 렌더링 방법을 사용할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트로부터 투명도 정보를 사전에 추출하여, 동일한 위치에 존재하는 복수개의 프레그먼트의 렌더링 방법을 결정함으로써, 복수개의 프레그먼트에서 먼 거리에 위치하는 프레그먼트들에 대해 렌더링을 수행하기 위한 연산량을 조절할 수 있다.
도 3은 본 발명의 일 실시예에 따른 복수개의 프레그먼트의 투명도 정보를 투명도 버퍼에 저장하는 방법을 설명하기 위한 흐름도이다.
단계 310에서, 객체를 렌더링하는 장치(150)는 투명도 버퍼의 각 프레그먼트별 투명도 정보를 초기화할 수 있다. 여기에서 투명도 정보는 객체가 투명한 정도에 기초하여, 기설정된 기준에 따라, 투명도 정도를 수치화한 투명도 값을 포함할 수 있다. 예를 들어, 객체를 렌더링하는 장치(150)는 투명도 버퍼의 투명도 값을 100으로 초기화할 수 있다.
단계 320에서, 객체를 렌더링하는 장치(150)는 소정 프레그먼트의 투명도 정보를 수신할 수 있다. 객체를 렌더링하는 장치(150)는 소정 프레그먼트의 투명도 정보와 함께, 프레임에 적어도 하나의 객체를 나타내기 위한 복수개의 프레그먼트 중에서 소정 프레그먼트를 식별할 수 있는 식별 정보를 수신할 수 있다.
단계 330에서, 객체를 렌더링하는 장치(150)는 수신한 소정 프레그먼트의 투명도 정보와 투명도 버퍼에서 초기화된 투명도 정보를 비교할 수 있다. 예를 들어, 투명도 정보를 투명도 값으로 수치화한 경우, 객체를 렌더링하는 장치(150)는 수신한 소정 프레그먼트의 투명도 값과 투명도 버퍼에서 초기화된 투명도 값을 비교할 수 있다.
단계 340에서, 객체를 렌더링하는 장치(150)는 수신한 소정 프레그먼트의 투명도 정보를 투명도 버퍼에서 소정 프레그먼트에 대응되는 공간에 저장할 수 있다. 객체를 렌더링하는 장치(150)는 수신한 소정 프레그먼트의 식별 정보를 기초로 투명도 버퍼에서 소정 프레그먼트에 대응되는 공간을 구별할 수 있다.
본 발명의 일 실시예에 따르면, 객체를 렌더링하는 장치(150)는 수신한 소정 프레그먼트의 투명도 값이 소정 프레그먼트의 초기화된 투명도 값보다 작은 경우, 초기화된 투명도 값을 수신한 소정 프레그먼트의 투명도 값으로 갱신할 수 있다.
본 발명의 다른 실시예에 따르면, 객체를 렌더링하는 장치(150)는 소정 프레그먼트와 프레임에서 동일한 위치에 존재하는 프레그먼트의 투명도 정보를 수신하는 경우, 깊이 정보와 함께 투명도 정보를 투명도 버퍼에 저장할 수 있다. 객체를 렌더링하는 장치(150)는 소정 프레그먼트에 대해 투명도 버퍼에 저장된 깊이 정보와 투명도 정보를 기초로 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 정보를 수신하면, 저장된 투명도 정보와 수신한 투명도 정보를 비교하여, 그 결과에 따라 투명도 정보를 갱신할 수 있다.
예를 들어, x 프레그먼트에 대한 투명도 값과 깊이 정보를 투명도 버퍼에 저장한 경우, 객체를 렌더링하는 장치(150)는 x 프레그먼트에 비해 가까운 거리에 존재하는 y 프레그먼트의 투명도 값을 수신할 수 있다. 객체를 렌더링하는 장치(150)는 y 프레그먼트의 투명도 값과 x 프레그먼트의 투명도 값을 비교할 수 있다. 객체를 렌더링하는 장치(150)는 y 프레그먼트의 투명도 값이 x 프레그먼트의 투명도 값에 비해 낮은 경우, 저장된 투명도 값을 y 프레그먼트의 투명도 값으로 업데이트할 수 있다.
객체를 렌더링하는 장치(150)는 깊이 정보를 비교하여, 투명도 값을 갱신함으로써, 프레임 상에서 동일한 위치에 존재하는 복수개의 프레그먼트 중에서 가장 가까운 거리에 존재하는 프레그먼트의 투명도 값에 기초하여, 먼 거리에 존재하는 프레그먼트들의 렌더링 방법을 결정할 수 있다.
도 4는 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)가 투명도에 기초하여 프레임에서 동일한 위치에 존재하는 프레그먼트들의 렌더링 방법을 결정하는 방법을 설명하기 위한 흐름도이다.
단계 410에서, 객체를 렌더링하는 장치(150)는 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트 각각에 대해 투명도 정보가 존재하는지 여부를 판단할 수 있다. 객체를 렌더링하는 장치(150)는 판단 결과, 투명도 정보가 존재하지 않는 프레그먼트들에 대해서는 일반적인 렌더링 과정이 수행될 수 있도록 프레그먼트 쉐이더(160)에 투명도 정보가 존재하지 않는 프레그먼트들을 전송할 수 있다.
한편, 객체를 렌더링하는 장치(150)는 투명도 정보가 존재하는 프레그먼트들에 대해서는 투명도 정보를 추출하여, 각 프레그먼트 별로 투명도 버퍼에 추출한 투명도 정보를 저장할 수 있다.
단계 420에서, 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트 중 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)가 수신한 복수개의 프레그먼트에는 프레임 상에서 동일한 위치에 존재하는 프레그먼트들이 포함될 수 있다. 객체를 렌더링하는 장치(150)는 동일한 위치 정보를 포함하고 있는 프레그먼트들에 대해 깊이 정보를 추출할 수 있다. 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 추출한 깊이 정보를 비교하여, 비교결과에 따라 동일한 위치 정보를 포함하고 있는 프레그먼트들을 배열할 수 있다.
단계 430에서, 객체를 렌더링하는 장치(150)는 깊이 정보를 비교한 결과에 기초하여 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출할 수 있다.
단계 440에서, 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도 정보와 기설정된 투명도 정보를 비교할 수 있다. 예를 들어, 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도 값과 사용자에 의해 기설정된 투명도 값을 비교할 수 있다.
단계 450에서, 객체를 렌더링하는 장치(150)는 비교 결과에 기초하여, 제 1 프레그먼트와 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서 제 1 프레그먼트보다 먼 거리에 존재하는 제 2 프레그먼트를 제거할 수 있다.
본 발명의 일 실시예에 따르면, 객체를 렌더링하는 장치(150)는 제 1 프레그먼트가 기설정된 투명도 값보다 낮은 투명도 값을 갖는 경우 제 1 프레그먼트보다 먼 거리에 존재하는 제 2 프레그먼트를 렌더링하지 않을 수 있다. 투명도 값이 기설정된 값보다 낮은 경우, 불투명하여 제 2 프레그먼트가 프레임에 객체를 나타내는데 영향을 미칠 가능성이 높지 않으므로, 객체를 렌더링하는 장치(150)는 제 2 프레그먼트를 삭제하여 이후의 렌더링 과정에서의 연산량을 줄일 수 있다.
단계 460에서, 객체를 렌더링하는 장치(150)는 비교 결과에 기초하여, 제 2 프레그먼트를 기설정된 렌더링 방법에 기초하여 렌더링할 수 있다.
본 발명의 일 실시예에 따르면, 객체를 렌더링하는 장치(150)는 제 1 프레그먼트의 투명도 값이 기설정된 투명도 값 이상인 경우, 기설정된 렌더링 방법에 기초하여 제 2 프레그먼트를 렌더링할 수 있다. 투명도 값이 기설정된 값보다 높은 경우, 객체를 나타내는 데 있어 제 2 프레그먼트의 렌더링 결과가 영향을 줄 수 있으므로 제 2 프레그먼트에 기존의 방법을 이용하여 렌더링을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)가 투명도에 따라 구분한 렌더링 방법에 기초하여 프레임에서 동일한 위치에 존재하는 프레그먼트들의 렌더링 방법을 결정하는 방법을 설명하기 위한 흐름도이다.
단계 510에서, 객체를 렌더링하는 장치(150)는 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트 각각에 대해 투명도 정보가 존재하는지 여부를 판단할 수 있다. 객체를 렌더링하는 장치(150)는 판단 결과, 투명도 정보가 존재하지 않는 프레그먼트들에 대해서는 일반적인 렌더링 과정이 수행될 수 있도록 프레그먼트 쉐이더(160)에 투명도 정보가 존재하지 않는 프레그먼트들을 전송할 수 있다.
한편, 객체를 렌더링하는 장치(150)는 투명도 정보가 존재하는 프레그먼트들에 대해서는 투명도 정보를 추출하여, 각 프레그먼트 별로 투명도 버퍼에 추출한 투명도 정보를 저장할 수 있다.
단계 520에서, 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트 중 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)가 수신한 복수개의 프레그먼트에는 프레임 상에서 동일한 위치에 존재하는 프레그먼트들이 포함될 수 있다. 객체를 렌더링하는 장치(150)는 동일한 위치 정보를 포함하고 있는 프레그먼트들에 대해 깊이 정보를 추출할 수 있다. 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 추출한 깊이 정보를 비교하여, 비교결과에 따라 동일한 위치 정보를 포함하고 있는 프레그먼트들을 배열할 수 있다.
단계 530에서, 객체를 렌더링하는 장치(150)는 깊이 정보를 비교한 결과에 기초하여 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출할 수 있다.
단계 540에서, 객체를 렌더링하는 장치(150)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 정보에 기초하여 분류되는 소정 프레그먼트에 대한 복수개의 렌더링 방법들 중에서 추출한 제 1 프레그먼트의 투명도 정보에 대응되는 렌더링 방법을 제 2 프레그먼트의 렌더링 방법으로 결정할 수 있다. 여기에서, 제 2 프레그먼트는 제 1 프레그먼트와 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서 제 1 프레그먼트 보다 먼 거리에 존재하는 프레그먼트 일 수 있다.
본 발명의 일 실시예에 따르면, 객체를 렌더링하는 장치(150)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 값에 기초하여, 복수개의 렌더링 방법을 분류할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 값이 0 이상 30미만인 경우는 소정 프레그먼트의 렌더링 방법을 제 1 렌더링 방법으로 결정할 수 있다. 또한, 객체를 렌더링하는 장치(150)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 값이 30이상 70미만인 경우는 소정 프레그먼트의 렌더링 방법을 제 2 렌더링 방법으로 결정할 수 있다. 또한, 객체를 렌더링하는 장치(150)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 값이 70 이상 100이하인 경우는 소정 프레그먼트의 렌더링 방법을 제 3 렌더링 방법으로 결정할 수 있다.
본 발명의 일 실시예에 따라, 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서, y 프레그먼트는 x 프레그먼트에 비해 가까운 거리에 존재할 수 있다. 객체를 렌더링 하는 장치(150)는 y 프레그먼트의 투명도 값에 기초하여 x 프레그먼트의 렌더링 방법을 결정할 수 있다. 예를 들어, y 프레그먼트의 투명도 값이 50일 수 있다. 전술한, 렌더링 방법을 결정하는 방식에 기초하는 경우, y 프레그먼트의 투명도 값이 50으로, 이는 30이상 70미만인 경우에 해당하여, 객체를 렌더링 하는 장치(150)는 x 프레그먼트의 렌더링 방법을 제 2 렌더링 방법으로 결정할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 객체를 렌더링하는 장치(150)는 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트에 대해, 투명도 정보가 존재하는 프레그먼트들의 투명도 값을 소정 기준에 따라 합산할 수 있다. 객체를 렌더링하는 장치(150)는 소정 기준에 따라 합산된 투명도 값에 기초하여, 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정할 수 있다.
예를 들어, 프레임에서 동일한 위치에 a 프레그먼트, b 프레그먼트 및 c 프레그먼트가 존재할 수 있다. 프레그먼트들의 깊이 정보에 기초한 결과, a 프레그먼트가 가장 가까운 거리에 존재하고, a 프레그먼트보다 먼 거리에 b 프레그먼트가 존재하고, b 프레그먼트보다 먼 거리에 c 프레그먼트가 존재할 수 있다.
여기에서 a 프레그먼트의 투명도 값이 70, b 프레그먼트의 투명도 값이 30 일 수 있다. c 프레그먼트는 가장 먼 거리에 존재하므로, 렌더링 방법을 결정하는데 있어, c 프레그먼트의 투명도 값을 고려하지 않을 수 있다.
본 발명의 일 실시예에 따른, 객체를 렌더링하는 장치(150)는 a 프레그먼트의 투명도 값이 상대적으로 높으므로, b 프레그먼트에 대해 정확도가 높은 렌더링 방법을 결정할 수 있다. 한편, c 프레그먼트의 경우, a 프레그먼트의 투명도 값이 70, b 프레그먼트의 투명도 값이 30이므로, b 프레그먼트에 의해, 가려지게 되어, 프레임에 객체를 나타내는데 영향을 적게 줄 수 있다. 그러므로, c 프레그먼트에 대해 상대적으로 정확도가 낮은 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따른 투명도 값의 비교 결과는 프레그먼트 쉐이더(도 1, 160) 에서 동일한 위치에 존재하는 프레그먼트의 정보들을 블렌딩하는 데 기초가 될 수 있다. 예를 들어, 전술한 예에서, c 프레그먼트는 b 프레그먼트에 비해, 프레그먼트의 정보들을 블렌딩하는 과정에서 차지하는 비중이 적을 수 있다.
도 6은 본 발명의 일 실시예에 따라 현재 프레임에 대한 투명도 정보를 다음 프레임에 소정의 객체를 나타내기 위한 프레그먼트를 렌더링하기 위해 이용하는 방법을 설명하기 위한 흐름도이다.
단계 610에서, 객체를 렌더링하는 장치(150)는 적어도 하나의 객체를 현재의 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 복수개의 프레그먼트 각각에 대해 투명도 정보가 존재하는지 여부를 판단할 수 있다. 객체를 렌더링하는 장치(150)는 판단 결과, 투명도 정보가 존재하지 않는 프레그먼트들에 대해서는 일반적인 렌더링 과정이 수행될 수 있도록 프레그먼트 쉐이더(160)에 투명도 정보가 존재하지 않는 프레그먼트들을 전송할 수 있다.
한편, 객체를 렌더링하는 장치(150)는 투명도 정보가 존재하는 프레그먼트들에 대해서는 투명도 정보를 추출할 수 있다.
단계 620에서, 객체를 렌더링하는 장치(150)는 추출한 투명도 정보를 프레그먼트별로 투명도 버퍼에 저장할 수 있다.
단계 630에서, 객체를 렌더링하는 장치(150)는 현재 프레임 이후의 프레임인 제 2 프레임에 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각에 대응되는 투명도 정보를 투명도 버퍼로부터 추출할 수 있다.
단계 640에서, 객체를 렌더링하는 장치(150)는 추출한 투명도 정보에 기초하여, 제 2 프레임에 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 복수의 프레임 간에 유사성에 기초하여, 현재 프레임에서 추출한 투명도 정보를 이후의 프레임의 프레그먼트를 랜더링하는데 사용할 수 있다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)의 블록도를 도시한 도면이다.
도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는 투명도 정보 추출부(152), 깊이 정보 비교부(154) 및 결정부(156)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 객체를 렌더링하는 장치(150)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 객체를 렌더링하는 장치(150)는 구현될 수 있다.
예를 들어, 도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치(150)는, 투명도 정보 추출부(152), 깊이 정보 비교부(154) 및 결정부(156) 이외에 입출력부(151) (110) 및 투명도 버퍼(155)를 더 포함할 수도 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
입출력부(151)는 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트를 획득할 수 있다. 본 발명의 일 실시예에 따른 입출력부(151)는 지오메트리 연산이 수행된 적어도 하나의 객체에 대한 복수개의 프레그먼트를 획득할 수 있다. 예를 들어, 입출력부(151)는 도 1에 도시된 레스터라이저(140)로부터 복수개의 프레그먼트를 획득할 수 있다.
한편, 입출력부(151)는 복수의 프레임에 대해, 프레임 별로 객체를 나타내기 위한 정보를 포함하는 복수개의 프레그먼트를 획득할 수 있다.
투명도 정보 추출부(152)는 적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
본 발명의 일 실시예에 따른 투명도 정보 추출부(152)는 수신한 복수개의 프레그먼트 각각에 대해 투명도 정보가 존재하는지 여부를 판단할 수 있다. 투명도 정보 추출부(152)는 판단 결과, 투명도 정보가 존재하지 않는 프레그먼트들에 대해서는 일반적인 렌더링 과정이 수행될 수 있도록 입출력부(151)를 제어할 수 있다. 이에 따라 입출력부(151)는 프레그먼트 쉐이더(160)에 투명도 정보가 존재하지 않는 프레그먼트들을 전송할 수 있다.
한편, 투명도 정보 추출부(152)는 투명도 정보가 존재하는 프레그먼트들에 대해서는 투명도 정보를 추출하여, 각 프레그먼트 별로 투명도 버퍼(155)에 추출한 투명도 정보를 저장할 수 있다. 본 발명의 일 실시예에 따른 투명도 버퍼(155)는 프레그먼트 별로 투명도 정보를 저장할 수 있는 공간을 포함할 수 있다.
깊이 정보 비교부(154)는 복수개의 프레그먼트 중 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교할 수 있다.
본 발명의 일 실시예에 따라 입출력부(151)에서 획득한 복수개의 프레그먼트에는 프레임 상에서 동일한 위치에 존재하는 프레그먼트들이 포함될 수 있다. 예를 들어, 중첩되는 객체들의 경우, 중첩되는 부분의 프레그먼트들은 프레임 상에서 동일한 위치 정보를 포함할 수 있다.
깊이 정보 비교부(154)는 동일한 위치 정보를 포함하고 있는 프레그먼트들에 대해 깊이 정보를 추출할 수 있다. 본 발명의 일 실시예에 따른 깊이 정보 비교부(154)는 추출한 깊이 정보를 비교하여, 비교결과에 따라 동일한 위치 정보를 포함하고 있는 프레그먼트들을 배열할 수 있다. 예를 들어, 깊이 정보 비교부(154)는 동일한 위치 정보를 포함하고 있는 프레그먼트들을 거리가 가까운 순서대로 배열할 수 있다.
결정부(156)는 깊이 정보를 비교한 결과 및 투명도 정보에 기초하여 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따르면, 결정부(156)는 깊이 정보를 비교한 결과에 기초하여 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출할 수 있다. 결정부(156)는 제 1 프레그먼트의 투명도 정보에 기초하여, 제 1 프레그먼트 보다 먼 거리에 존재하는 제 2 프레그먼트의 렌더링 방법을 결정할 수 있다.
예를 들어, 결정부(156)는 제 1 프레그먼트의 투명도가 기설정된 값 이하인 경우, 제 2 프레그먼트를 제거할 수 있다. 즉, 결정부(156)는 제 1 프레그먼트의 투명도가 기설정된 값 이하인 경우, 제 2 프레그먼트에 대한 렌더링을 수행하지 않을 수 있다.
다른 예에 따르면, 결정부(156)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 정보에 기초하여 분류되는 소정 프레그먼트에 대한 복수개의 렌더링 방법들 중에서 제 1 프레그먼트의 투명도 정보에 대응되는 렌더링 방법을 제 2 프레그먼트의 렌더링 방법으로 결정할 수 있다. 여기에서, 제 2 프레그먼트는 제 1 프레그먼트와 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트 중에서 제 1 프레그먼트 보다 먼 거리에 존재하는 프레그먼트 일 수 있다. 결정부(156)는 소정 프레그먼트 보다 가까운 거리에 존재하는 프레그먼트의 투명도 값에 기초하여, 복수개의 렌더링 방법을 분류할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 결정부(156)는 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트에 대해, 투명도 정보가 존재하는 프레그먼트들의 투명도 값을 소정 기준에 따라 합산할 수 있다. 결정부(156)는 소정 기준에 따라 합산된 투명도 값에 기초하여, 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정할 수 있다.
결정부(156)는 투명도 정보 추출부(152)에서 현재 프레임인 제 1 프레임의 복수개의 프레그먼트에 대해 추출한 투명도 정보를 프레그먼트 별로 저장하도록 투명도 버퍼(155)를 제어할 수 있다. 본 발명의 일 실시예에 따르면, 결정부(156)는 저장된 제 1 프레임의 투명도 정보에 기초하여, 이후의 프레임인 제 2 프레임의 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정할 수 있다. 결정보는 제 2 프레임의 복수개의 프레그먼트 각각의 렌더링 방법을 결정하기 위해 투명도 버퍼(155)에서 제 1 프레임의 투명도 정보를 추출할 수 있도록 투명도 정보 추출부(152)를 제어할 수 있다.
도 9는 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치가 현재 프레임의 투명도 정보에 기초하여 이후 프레임의 복수개의 프레그먼트를 렌더링하는 방법을 결정하는 방법을 설명하기 위한 흐름도이다.
단계 910에서, 객체를 렌더링하는 장치는 적어도 하나의 객체를 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치는 추출한 투명도 정보를 별도의 투명도 버퍼에 저장할 수 있다. 예를 들어, 객체를 렌더링하는 장치는 버퍼에, 제 1 프레임에 포함되는 복수개의 프레그먼트별 공간을 구별하여, 각각의 공간에 대응되는 프레그먼트의 투명도 정보를 저장할 수 있다.
단계 920에서, 객체를 렌더링하는 장치는 추출된 각각의 투명도 정보에 기초하여, 소정 객체를 제 2 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트 각각의 렌더링 방법을 결정할 수 있다.
본 발명의 일 실시예에 따른 객체를 렌더링하는 장치는 복수의 프레임 간에 유사성에 기초하여, 현재 프레임에서 추출한 투명도 정보를 이후의 프레임의 프레그먼트를 랜더링하는데 사용할 수 있다.
도 10은 본 발명의 일 실시예에 따른 객체를 렌더링하는 장치를 설명하기 위한 블록도이다.
도 10에 도시된 객체를 렌더링하는 장치(1000)에는 본 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 10에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
도 10을 참고하면, 객체를 렌더링하는 장치(1000)는 투명도 정보 추출부(1010) 및 결정부(1020)를 포함할 수 있다.
투명도 정보 추출부(1010)는 적어도 하나의 객체를 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트로부터 각각의 투명도 정보를 추출할 수 있다.
결정부(1020)는 추출된 각각의 투명도 정보에 기초하여, 소정 객체를 제 2 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트 각각의 렌더링 방법을 결정할 수 있다.
본 발명에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다.  소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다.  여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다.  컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다.  매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 발명에서 인용하는 공개 문헌, 특허 출원, 특허 등을 포함하는 모든 문헌들은 각 인용 문헌이 개별적으로 및 구체적으로 병합하여 나타내는 것 또는 본 발명에서 전체적으로 병합하여 나타낸 것과 동일하게 본 발명에 병합될 수 있다.
본 발명의 이해를 위하여, 도면에 도시된 바람직한 실시 예들에서 참조 부호를 기재하였으며, 본 발명의 실시 예들을 설명하기 위하여 특정 용어들을 사용하였으나, 특정 용어에 의해 본 발명이 한정되는 것은 아니며, 본 발명은 당업자에 있어서 통상적으로 생각할 수 있는 모든 구성 요소들을 포함할 수 있다.
본 발명은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다.  이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다.  예를 들어, 본 발명은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다.  본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명은 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다.  기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.  또한, 본 발명은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.  “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.  상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다.  명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다.  또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.  또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
100: 파이프라인
110: 어플리케이션
120: 지오메트리 연산부
130: 프레그먼트 연산부
140: 레스터라이저
150: 객체의 렌더링을 수행하는 장치
160: 프레그먼트 쉐이더
170: 프레임 버퍼

Claims (20)

  1. 객체를 렌더링하는 방법에 있어서,
    적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 단계;
    상기 복수개의 프레그먼트 중에서 상기 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교하는 단계; 및
    상기 깊이 정보를 비교한 결과 및 상기 투명도 정보에 기초하여, 상기 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정하는 단계를 포함하는 객체를 렌더링하는 방법.
  2. 제 1 항에 있어서, 상기 렌더링 방법을 결정하는 단계는,
    상기 깊이 정보를 비교한 결과에 기초하여 상기 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출하는 단계; 및
    상기 제 1 프레그먼트의 투명도 정보에 기초하여, 상기 제 1 프레그먼트 보다 먼 거리에 존재하는 제 2 프레그먼트의 렌더링 방법을 결정하는 단계를 포함하는 것을 특징으로 하는 객체를 렌더링하는 방법.
  3. 제 2 항에 있어서, 상기 렌더링 방법을 결정하는 단계는,
    상기 제 1 프레그먼트의 투명도가 기설정된 값 이하인 경우, 상기 제 2 프레그먼트를 제거하는 단계를 포함하는 것을 특징으로 하는 객체를 렌더링하는 방법.
  4. 제 2 항에 있어서, 상기 렌더링 방법을 결정하는 단계는,
    복수개의 렌더링 방법들 중에서 상기 제 1 프레그먼트의 투명도 정보에 대응되는 렌더링 방법을 상기 제 2 프레그먼트의 렌더링 방법으로 결정하는 단계를 포함하고,
    상기 복수개의 렌더링 방법들은 소정 프레그먼트 보다 가까운 거리에 있는 프레그먼트의 투명도 정보에 기초하여, 분류되는 것을 특징으로 하는 객체를 렌더링하는 방법.
  5. 제 1 항에 있어서, 상기 객체를 렌더링 하는 방법은,
    상기 추출한 투명도 정보를 프레그먼트별로 투명도 버퍼에 저장하는 단계를 더 포함하는 것을 특징으로 하는 객체를 렌더링하는 방법.
  6. 제 1 항에 있어서, 상기 객체를 렌더링 하는 방법은,
    적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)를 획득하는 단계를 더 포함하는 것을 특징으로 하는 객체를 렌더링하는 방법.
  7. 제 1 항에 있어서, 상기 객체를 렌더링 하는 방법은,
    상기 추출한 투명도 정보를 제 1 프레임의 복수개의 프레그먼트 각각에 대한 투명도 정보로서 투명도 버퍼에 저장하는 단계; 및
    상기 저장된 투명도 정보에 기초하여 제 2 프레임에 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 단계를 포함하는 것을 특징으로 하는 객체를 렌더링하는 방법.
  8. 제 7 항에 있어서, 상기 객체를 렌더링하는 방법은,
    상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각에 대응되는 투명도 정보를 상기 투명도 버퍼로부터 추출하는 단계; 및
    상기 추출한 투명도 정보에 기초하여, 상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 단계를 더 포함하는 것을 특징으로 하는 객체를 렌더링하는 방법.
  9. 객체를 렌더링하는 방법에 있어서,
    상기 적어도 하나의 객체를 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 단계; 및
    상기 추출된 각각의 투명도 정보에 기초하여, 소정 객체를 제 2 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 단계를 포함하는 객체를 렌더링하는 방법.
  10. 객체를 렌더링하는 장치에 있어서,
    적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 투명도 정보 추출부;
    상기 복수개의 프레그먼트 중에서 상기 프레임에서 동일한 위치에 존재하는 적어도 하나의 프레그먼트간에 깊이 정보를 비교하는 깊이 정보 비교부; 및
    상기 깊이 정보를 비교한 결과 및 상기 투명도 정보에 기초하여, 상기 동일한 위치에 존재하는 적어도 하나의 프레그먼트의 렌더링 방법을 결정하는 결정부를 포함하는 객체를 렌더링하는 장치.
  11. 제 10 항에 있어서, 상기 결정부는,
    상기 깊이 정보를 비교한 결과에 기초하여 상기 적어도 하나의 프레그먼트 중에서 가장 가까운 거리에 존재하는 제 1 프레그먼트를 추출하고, 상기 제 1 프레그먼트의 투명도 정보에 기초하여, 상기 제 1 프레그먼트 보다 먼 거리에 존재하는 제 2 프레그먼트의 렌더링 방법을 결정하는 것을 특징으로 하는 객체를 렌더링하는 장치.
  12. 제 11 항에 있어서, 상기 결정부는,
    상기 제 1 프레그먼트의 투명도가 기설정된 값 이하인 경우, 상기 제 2 프레그먼트를 제거하는 것을 특징으로 하는 객체를 렌더링하는 장치.
  13. 제 11 항에 있어서, 상기 결정부는,
    복수개의 렌더링 방법들 중에서 상기 제 1 프레그먼트의 투명도 정보에 대응되는 렌더링 방법을 상기 제 2 프레그먼트의 렌더링 방법으로 결정하고,
    상기 복수개의 렌더링 방법들은 소정 프레그먼트 보다 가까운 거리에 있는 프레그먼트의 투명도 정보에 기초하여, 분류되는 것을 특징으로 하는 객체를 렌더링하는 장치.
  14. 제 10 항에 있어서, 상기 객체를 렌더링 하는 장치는,
    상기 추출한 투명도 정보를 프레그먼트별로 저장하는 투명도 버퍼를 더 포함하는 것을 특징으로 하는 객체를 렌더링하는 장치.
  15. 제 10 항에 있어서, 상기 객체를 렌더링 하는 장치는,
    적어도 하나의 객체를 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)를 획득하는 입출력부를 더 포함하는 것을 특징으로 하는 객체를 렌더링하는 장치.
  16. 제 10 항에 있어서, 상기 결정부는,
    상기 추출한 투명도 정보를 제 1 프레임의 복수개의 프레그먼트 각각에 대한 투명도 정보로서 저장하도록 투명도 퍼버를 제어하고 상기 저장된 투명도 정보에 기초하여 제 2 프레임에 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 것을 특징으로 하는 객체를 렌더링하는 장치.
  17. 제 16 항에 있어서, 상기 결정부는,
    상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각에 대응되는 투명도 정보를 추출하도록 상기 투명도 정보 추출부를 제어하고, 상기 추출한 투명도 정보에 기초하여, 상기 제 2 프레임에 상기 소정 객체를 나타내기 위한 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 것을 특징으로 하는 객체를 렌더링하는 장치.
  18. 객체를 렌더링하는 장치에 있어서,
    상기 적어도 하나의 객체를 제 1 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트(fragment)로부터 각각의 투명도 정보를 추출하는 투명도 정보 추출부; 및
    상기 추출된 각각의 투명도 정보에 기초하여, 소정 객체를 제 2 프레임에 나타내기 위한 정보를 포함하는 복수개의 프레그먼트 각각의 렌더링 방법을 결정하는 결정부를 포함하는 객체를 렌더링하는 장치.
  19. 제 1항 내지 제 8항 중 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  20. 제 9항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR20130120870A 2013-10-10 2013-10-10 객체를 렌더링하는 방법, 장치 및 기록매체 KR20150042094A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130120870A KR20150042094A (ko) 2013-10-10 2013-10-10 객체를 렌더링하는 방법, 장치 및 기록매체
US14/276,083 US20150103072A1 (en) 2013-10-10 2014-05-13 Method, apparatus, and recording medium for rendering object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130120870A KR20150042094A (ko) 2013-10-10 2013-10-10 객체를 렌더링하는 방법, 장치 및 기록매체

Publications (1)

Publication Number Publication Date
KR20150042094A true KR20150042094A (ko) 2015-04-20

Family

ID=52809279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130120870A KR20150042094A (ko) 2013-10-10 2013-10-10 객체를 렌더링하는 방법, 장치 및 기록매체

Country Status (2)

Country Link
US (1) US20150103072A1 (ko)
KR (1) KR20150042094A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113694510A (zh) * 2021-08-13 2021-11-26 完美世界(北京)软件科技发展有限公司 游戏角色渲染方法、装置及设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10935788B2 (en) * 2014-01-24 2021-03-02 Nvidia Corporation Hybrid virtual 3D rendering approach to stereovision
KR20180038793A (ko) * 2016-10-07 2018-04-17 삼성전자주식회사 영상 데이터 처리 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092989A (ja) * 1999-07-21 2001-04-06 Sega Corp 画像処理方法及びその装置
US20030002729A1 (en) * 2001-06-14 2003-01-02 Wittenbrink Craig M. System for processing overlapping data
US7450123B1 (en) * 2001-08-31 2008-11-11 Nvidia Corporation System and method for render-to-texture depth peeling
KR100901273B1 (ko) * 2007-12-15 2009-06-09 한국전자통신연구원 렌더링 시스템 및 이를 이용한 데이터 처리 방법
FR2964775A1 (fr) * 2011-02-18 2012-03-16 Thomson Licensing Procede d'estimation de l'occultation dans un environnement virtuel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113694510A (zh) * 2021-08-13 2021-11-26 完美世界(北京)软件科技发展有限公司 游戏角色渲染方法、装置及设备
CN113694510B (zh) * 2021-08-13 2024-01-09 完美世界(北京)软件科技发展有限公司 游戏角色渲染方法、装置及设备

Also Published As

Publication number Publication date
US20150103072A1 (en) 2015-04-16

Similar Documents

Publication Publication Date Title
KR102637736B1 (ko) 그래픽스 처리 방법 및 시스템
US10593098B2 (en) Smooth draping layer for rendering vector data on complex three dimensional objects
Atty et al. Soft shadow maps: Efficient sampling of light source visibility
US20170372509A1 (en) Culling objects from a 3-d graphics pipeline using hierarchical z buffers
JP6333840B2 (ja) 最適化ポリゴンに基づいたシェルメッシュを形成する方法
CN108230435B (zh) 采用立方图纹理的图形处理
KR20060052042A (ko) 3d에서의 하드웨어 가속화된 안티-엘리어싱 방법 및시스템
KR20160031328A (ko) 렌더링 방법 및 장치
KR102245137B1 (ko) 렌더링 데이터의 압축을 해제하는 장치, 방법 및 기록매체
KR20160051155A (ko) 렌더링 장치 및 방법
KR101507776B1 (ko) 3차원 지도의 외곽선 표현 방법
CN105550973B (zh) 图形处理单元、图形处理系统及抗锯齿处理方法
KR20160032935A (ko) 렌더링 데이터를 처리하는 방법, 장치 및 기록매체
KR20150093048A (ko) 그래픽스 데이터를 렌더링하는 방법 및 장치
KR20150042094A (ko) 객체를 렌더링하는 방법, 장치 및 기록매체
EP3594906B1 (en) Method and device for providing augmented reality, and computer program
CN111105440A (zh) 视频中目标物体的跟踪方法、装置、设备及存储介质
KR20160143936A (ko) 선택적 3d 렌더링 방법 및 이를 위한 시스템
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
US9734579B1 (en) Three-dimensional models visual differential
KR20150042093A (ko) 그래픽스 데이터를 렌더링하는 방법, 장치 및 기록매체
KR102304932B1 (ko) 그래픽스 데이터를 처리하는 방법, 장치 및 기록매체
JP2006113909A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
KR20190013146A (ko) 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법
EP2801955A1 (en) Method and device for visualizing contact(s) between objects of a virtual scene

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid