KR101379905B1 - 이미지 렌더링 방법 및 시스템 - Google Patents
이미지 렌더링 방법 및 시스템 Download PDFInfo
- Publication number
- KR101379905B1 KR101379905B1 KR1020120004595A KR20120004595A KR101379905B1 KR 101379905 B1 KR101379905 B1 KR 101379905B1 KR 1020120004595 A KR1020120004595 A KR 1020120004595A KR 20120004595 A KR20120004595 A KR 20120004595A KR 101379905 B1 KR101379905 B1 KR 101379905B1
- Authority
- KR
- South Korea
- Prior art keywords
- cpu
- gpu
- grid aggregate
- shading
- module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
Abstract
이미지 렌더링 방법이 개시된다. 상기 이미지 렌더링 방법은 CPU가 복수의 제1프리미티브들을 수신하는 단계, 상기 CPU가 상기 복수의 제1프리미티브들 각각을 복수의 그리드들 각각으로 분할하는 단계, 상기 CPU가 상기 복수의 그리드들을 그리드 집합체로서 수집하는 단계, 상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 GPU로 전송하는 단계, 및 상기 GPU는 상기 그리드 집합체에 대해 세이딩하는 단계를 포함한다.
Description
본 발명은 이미지 처리에 관한 것으로, 특히 효율적으로 이미지를 렌더링할 수 있는 이미지 렌더링 시스템 및 방법에 관한 것이다.
영화나 애니메이션 등의 영상 매체를 소비하는 소비자의 상기 영상 매체에 대한 기대치가 높아짐에 따라 보다 높은 품질을 가지는 상기 영상 매체에 대한 요구가 높아지고 있다.
하지만, 상기 높은 품질을 가지는 상기 영상 매체를 요구하는 소비자의 요구를 충족시키기 위해 많은 장비들, 인력, 및 시간이 필요하다.
따라서 상기 영상 매체를 구성하는 이미지의 렌더링 시간을 줄이기 위한 방법이 필요하다.
하지만, 상기 높은 품질을 가지는 상기 영상 매체를 요구하는 소비자의 요구를 충족시키기 위해 많은 장비들, 인력, 및 시간이 필요하다.
따라서 상기 영상 매체를 구성하는 이미지의 렌더링 시간을 줄이기 위한 방법이 필요하다.
본 발명이 이루고자 하는 기술적인 과제는 이미지의 렌더링 시간을 줄일 수 있는 이미지 렌더링 방법 및 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 이미지 렌더링 방법은 CPU가 복수의 제1프리미티브들을 수신하는 단계, 상기 CPU가 상기 복수의 제1프리미티브들 각각을 복수의 그리드들 각각으로 분할하는 단계, 상기 CPU가 상기 복수의 그리드들을 그리드 집합체로서 수집하는 단계, 상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 GPU로 전송하는 단계, 및 상기 GPU는 상기 그리드 집합체에 대해 세이딩하는 단계를 포함한다.
실시 예에 따라 상기 이미지 렌더링 방법은 상기 CPU가 상기 그리드 집합체의 사이즈를 계산하는 단계, 및 상기 CPU가 상기 그리드 집합체의 사이즈가 상기 임계값보다 큰지 판단하는 단계를 더 포함할 수 있다.
실시 예에 따라 상기 이미지 렌더링 방법은 상기 CPU가 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 상기 복수의 그리드들의 수집을 반복하는 단계를 더 포함할 수 있다.
실시 예에 따라 상기 이미지 렌더링 방법은 상기 그리드 집합체에 대해 세이딩 후, 상기 세이딩된 그리드 집합체를 상기 GPU에서 상기 CPU로 전송하는 단계를 더 포함할 수 있다.
실시 예에 따라 상기 이미지 렌더링 방법은 상기 GPU가 상기 그리드 집합체에 대해 세이딩하는 동안, 상기 CPU는 복수의 제2프리미티브들을 수신하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 이미지 렌더링 시스템은 GPU, 및 CPU를 포함한다.
상기 CPU는 복수의 제1프리미티브들 각각을 복수의 그리드들(grids) 각각으로 분할하는 다이싱 모듈, 상기 복수의 그리드들을 그리드 집합체로서 수집하는 세이딩 풀, 및 상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 상기 GPU로 전송하는 데이터 전송 모듈을 포함한다.
상기 GPU는 상기 그리드 집합체에 대해 세이딩하는 세이딩 모듈을 포함한다.
상기 세이딩 풀은 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 상기 복수의 그리드들의 수집을 반복한다.
상기 세이딩 모듈은 상기 그리드 집합체에 대해 세이딩 후, 상기 세이딩된 그리드 집합체를 상기 GPU에서 상기 CPU로 전송한다.
상기 다이싱 모듈은 상기 GPU가 상기 그리드 집합체에 대해 세이딩하는 동안 복수의 제2프리미티브들을 수신한다.
본 발명의 실시 예에 따른 이미지 렌더링 시스템 및 방법은 CPU가 수집된 복수의 그리드들을 GPU로 전송함으로써 효율적으로 이미지를 렌더링할 수 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 이미지 렌더링 시스템의 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 복수의 프리미티브들(primitives)의 다이어그램을 나타낸다.
도 3은 본 발명의 실시 예에 따른 복수의 프리미티브들의 그리드들(grids)의 다이어그램을 나타낸다.
도 4는 도 1에 도시된 이미지 렌더링 시스템의 동작을 설명하기 위한 흐름도를 나타낸다.
도 1은 본 발명의 실시 예에 따른 이미지 렌더링 시스템의 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 복수의 프리미티브들(primitives)의 다이어그램을 나타낸다.
도 3은 본 발명의 실시 예에 따른 복수의 프리미티브들의 그리드들(grids)의 다이어그램을 나타낸다.
도 4는 도 1에 도시된 이미지 렌더링 시스템의 동작을 설명하기 위한 흐름도를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 아니 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 이미지 렌더링 시스템의 블록도를 나타낸다.
도 1을 참조하면, 이미지 렌더링 시스템(10)은 이미지를 생성하기 위해 여러 가지 동작들을 처리한다. 예컨대, 이미지 렌더링 시스템(10)은 컴퓨터, 태블릿 PC, 또는 스마트폰일 수 있다. 이미지 렌더링 시스템(10)은 CPU(central processing unit; 20), 시스템 메모리(30), GPU(graphic processing unit; 40), 및 GPU 메모리(50)를 포함한다. CPU(20), 시스템 메모리(30), GPU(40), 및 GPU 메모리(50)는 버스(11)를 통해 서로 통신한다.
CPU(20)는 다이싱(dicing) 모듈(21), 세이딩 풀(shading pool) 모듈(23), 및 데이터 전송 모듈(25)을 포함한다.
본 명세서에 모듈(module)이라 함은 본 발명의 실시 예에 따른 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 또는 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 프로그램 코드와 상기 프로그램 코드가 수행되기 위한 하드웨어 리소스의 논리적 또는 기능적 단위를 의미할 수 있으며 반드시 물리적으로 연결된 프로그램 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
도 2는 본 발명의 실시 예에 따른 복수의 프리미티브들(primitives)의 다이어그램을 나타낸다.
도 1과 도 2를 참조하면, 다이싱 모듈(21)은 복수의 프리미티브들(60과 80)을 시스템 메모리(30)로부터 수신한다. 프리미티브(60 또는 80)는 이미지 렌더링 시스템(10)에서 처리될 수 있는 가장 간단한 기하학적 객체(geometric object)를 의미한다. 도 2에서 프리미티브(60 또는 80)는 사각형으로 도시되었으나, 실시 예에 따라, 점, 선, 평면, 삼각형, 원 또는 구일 수 있다.
도 3은 본 발명의 실시 예에 따른 복수의 프리미티브들의 그리드들(grids)의 다이어그램을 나타낸다.
도 1과 도 3을 참조하면, 다이싱 모듈(21)은 각각의 프리미티브들(60과 80)을 그리드들(63과 83) 각각으로 분할한다. 실시 예에 따라 다이싱 모듈(21)은 하나의 프리미티브(60 또는 80)를 복수의 그리드들로 분할할 수 있다.
그리드(63)는 복수의 마이크로폴리곤들(micropolygons; 65)을 포함한다. 각 마이크로폴리곤(65)은 도 2에서 사각형(quad)으로 도시되었으나, 실시 예에 따라 각 마이크로폴리곤(65)은 삼각형일 수 있다. 마이크로폴리곤(65)의 크기는 픽셀(71)의 크기와 비슷하다. 실시 예에 따라 마이크로폴리곤(65)의 크기는 달라질 수 있다. 예컨대, 픽셀(71)은 실시 예에 따라 다수의 마이크로폴리곤들(65)을 포함할 수 있다.
세이딩 풀 모듈(23)은 복수의 그리드들(63과 83)을 그리드 집합체로서 수집한다. 복수의 그리드들(63과 83) 각각을 GPU(40)로 바로 전송하지 않고, 세이딩 풀 모듈(23)이 복수의 그리드들(63과 83)을 그리드 집합체로서 수집함으로써, GPU(40)의 성능이 향상된다. GPU(40)가 복수의 그리드들(63과 83) 각각을 바로 처리할 때 보다 GPU(40)가 복수의 그리드들(63과 83)을 한꺼번에 처리할 때 GPU(40)의 유휴 상태(idle state)는 줄어든다.
세이딩 풀 모듈(23)은 상기 그리드 집합체의 사이즈를 계산하고, 상기 그리드 집합체의 사이즈가 임계값보다 큰지를 판단한다. 세이딩 풀 모듈(23)은 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 그리드들의 수집을 반복한다. 세이딩 풀 모듈(23)은 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때, 상기 그리드 집합체를 데이터 전송 모듈(25)로 전송한다.
데이터 전송 모듈(25)은 전송받은 상기 그리드 집합체를 GPU(40)로 전송한다. 데이터 전송 모듈(25)이 상기 그리드 집합체를 GPU(40)로 전송한 후, CPU(20)는 시스템 메모리(30)로부터 다른 프리미티브들을 수신하여 다이싱 동작을 수행한다. 즉, GPU(40)가 이미지 처리 동작을 수행하는 동안 CPU(20)도 다이싱 동작 등 여러 가지 동작을 수행한다.
시스템 메모리(30)는 복수의 프리미티브들(60과 80)을 저장하고, CPU(20)의 각 모듈(21, 23, 및 25)의 동작을 수행하는 프로그램 코드를 저장한다. 또한, 시스템 메모리(30)는 상기 그리드 집합체를 저장할 수 있다. 시스템 메모리(30)는 휘발성 메모리 또는 비휘발성 메모리로 구현될 수 있다.
GPU(40)는 세이딩 모듈(41), 샘플링 모듈(43), 및 합성 모듈(45)을 포함한다. GPU(40)는 이미지를 처리하기 위한 여러가지 동작들을 수행한다.
세이딩 모듈(41)은 전송된 그리드 집합체에 대해 세이딩 동작을 수행한다. 따라서 각 버텍스(67)의 위치, 각 버텍스(67)의 컬러 및 각 버텍스(67)의 불투명도가 계산된다. 실시 예에 따라 버텍스들(67)의 개수는 달라질 수 있다. 세이딩 모듈(41)은 세이딩 동작을 수행한 후 세이딩된 그리드 집합체를 샘플링 모듈(43)과 데이터 전송 모듈(25)로 전송한다.
샘플링 모듈(43)은 복수의 마이크로폴리곤들(65)에서 샘플점들(75)을 샘플링한다. 샘플점들(75) 각각에 대해 컬러, 불투명도, 및 마이크로폴리곤(65)의 깊이가 보간되고, 저장된다. 픽셀(71)은 복수의 서브 픽셀들(73)을 포함한다. 서브 픽셀(73)은 하나의 샘플링점(75)을 포함한다.
도 1에서 샘플링 모듈(43)은 GPU(40)에서 수행되는 것으로 도시되었으나, 실시 예에 따라 샘플링 모듈(43)은 CPU(20)에서 수행될 수 있다.
합성 모듈(45)은 샘플링 모듈(43)에 의해 보간된 샘플점들(75) 각각에 대한 컬러, 불투명도, 및 마이크로폴리곤(65)의 깊이를 함께 계산하기 위해 샘플점들(75)이 합성된다. 따라서 샘플점들(75)의 컬러와 불투명도를 혼합함으로써 최종 픽셀 컬러들이 계산될 수 있다. 실시 예에 따라 합성 모듈(45)은 CPU(20)에서 수행될 수 있다.
GPU 메모리(50)는 GPU(40)의 각 모듈(41, 43, 및 45)의 동작을 수행하는 프로그램 코드를 저장한다. 또한, GPU 메모리(50)는 데이터 전송 모듈(20)로부터 전송된 상기 그리드 집합체를 저장할 수 있다. GPU 메모리(50)는 휘발성 메모리 또는 비휘발성 메모리로 구현될 수 있다. 도 1에서 GPU 메모리(50)와 시스템 메모리(30)는 분리되어 도시되었으나, 실시 예에 따라 GPU 메모리(50)와 시스템 메모리(30)는 하나의 메모리로서 구현될 수 있다.
실시 예에 따라 이미지 렌더링 시스템(10)은 이미지를 디스플레이하기 위한 디스플레이(미도시)를 더 포함할 수 있다.
도 4는 도 1에 도시된 이미지 렌더링 시스템의 동작을 설명하기 위한 흐름도를 나타낸다.
도 1, 도 3, 및 도 4를 참조하면, CPU(20)는 시스템 메모리(30)로부터 복수의 프리미티브들(60과 80)을 수신한다(S10).
다이싱 모듈(21)은 복수의 프리미티브들(60과 80) 각각을 복수의 그리드들(63과 83) 각각으로 분할한다(S20).
세이딩 폴 모듈(23)은 복수의 그리드들(63과 83)을 그리드 집합체로서 수집한다(S30). 세이딩 폴 모듈(23)은 상기 그리드 집합체의 사이즈를 계산한다(S40).
세이딩 폴 모듈(23)은 상기 그리드 집합체의 사이즈가 임계값보다 큰지를 판단한다(S50). 세이딩 풀 모듈(23)은 상기 그리드 집합체의 사이즈가 상기 임계값보다 작을 때, 세이딩 풀 모듈(23)은 그리드들의 수집을 반복한다. 세이딩 풀 모듈(23)은 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때, 상기 그리드 집합체를 데이터 전송 모듈(25)로 전송한다. 데이터 전송 모듈(25)은 상기 그리드 집합체를 GPU(30)로 전송한다(S60).
세이딩 모듈(41)은 상기 그리드 집합체에 대해 세이딩한다(S70).
샘플링 모듈(43)은 상기 세이딩된 그리드 집합체에 대해 샘플링 동작을 수행한다(S80).
합성 모듈(45)은 샘플링점들(75)을 합성한다(S90).
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10; 이미지 렌더링 시스템 60; 프리미티브
11; 버스 63; 그리드
20; CPU 65; 마이크로폴리곤
21; 다이싱 모듈 67; 버텍스
23; 세이딩 풀 모듈 71; 픽셀
25; 데이터 전송 모듈 73; 서브픽셀
30; 시스템 메모리 75; 샘플점들
40; GPU
41; 세이딩 모듈
43; 샘플링 모듈
45; 합성 모듈
50; GPU 메모리
11; 버스 63; 그리드
20; CPU 65; 마이크로폴리곤
21; 다이싱 모듈 67; 버텍스
23; 세이딩 풀 모듈 71; 픽셀
25; 데이터 전송 모듈 73; 서브픽셀
30; 시스템 메모리 75; 샘플점들
40; GPU
41; 세이딩 모듈
43; 샘플링 모듈
45; 합성 모듈
50; GPU 메모리
Claims (9)
- CPU(central processing unit)가 복수의 제1프리미티브(primitive)들을 수신하는 단계;
상기 CPU가 상기 복수의 제1프리미티브들 각각을 복수의 그리드들(grids) 각각으로 분할하는 단계;
상기 CPU가 상기 복수의 그리드들을 그리드 집합체로서 수집하는 단계;
상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 GPU(graphic processing unit)로 전송하는 단계; 및
상기 GPU는 상기 그리드 집합체에 대해 세이딩(shading)하는 단계를 포함하는 이미지 렌더링 방법. - 제1항에 있어서, 상기 이미지 렌더링 방법은,
상기 CPU가 상기 그리드 집합체의 사이즈를 계산하는 단계; 및
상기 CPU가 상기 그리드 집합체의 사이즈가 상기 임계값보다 큰지 판단하는 단계를 더 포함하는 이미지 렌더링 방법. - 제2항에 있어서, 상기 이미지 렌더링 방법은,
상기 CPU가 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 상기 복수의 그리드들의 수집을 반복하는 단계를 더 포함하는 이미지 렌더링 방법. - 제1항에 있어서, 상기 이미지 렌더링 방법은,
상기 그리드 집합체에 대해 세이딩 후, 상기 세이딩된 그리드 집합체를 상기 GPU에서 상기 CPU로 전송하는 단계를 더 포함하는 이미지 렌더링 방법. - 제1항에 있어서, 상기 이미지 렌더링 방법은,
상기 GPU가 상기 그리드 집합체에 대해 세이딩하는 동안, 상기 CPU는 복수의 제2프리미티브들을 수신하는 단계를 더 포함하는 이미지 렌더링 방법. - GPU; 및
복수의 제1프리미티브들 각각을 복수의 그리드들(grids) 각각으로 분할하는 다이싱 모듈, 상기 복수의 그리드들을 그리드 집합체로서 수집하는 세이딩 풀, 및 상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 상기 GPU로 전송하는 데이터 전송 모듈을 포함하는 CPU를 포함하며,
상기 GPU는 상기 그리드 집합체에 대해 세이딩(shading)하는 세이딩 모듈을 포함하는 이미지 렌더링 시스템. - 제6항에 있어서, 상기 세이딩 풀은,
상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 상기 복수의 그리드들의 수집을 반복하는 이미지 렌더링 시스템. - 제6항에 있어서, 상기 세이딩 모듈은,
상기 그리드 집합체에 대해 세이딩 후, 상기 세이딩된 그리드 집합체를 상기 GPU에서 상기 CPU로 전송하는 이미지 렌더링 시스템. - 제6항에 있어서, 상기 다이싱 모듈은,
상기 GPU가 상기 그리드 집합체에 대해 세이딩하는 동안 복수의 제2프리미티브들을 수신하는 이미지 렌더링 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120004595A KR101379905B1 (ko) | 2012-01-16 | 2012-01-16 | 이미지 렌더링 방법 및 시스템 |
US13/404,337 US20130182000A1 (en) | 2012-01-16 | 2012-02-24 | System and method for rendering an image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120004595A KR101379905B1 (ko) | 2012-01-16 | 2012-01-16 | 이미지 렌더링 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130083953A KR20130083953A (ko) | 2013-07-24 |
KR101379905B1 true KR101379905B1 (ko) | 2014-04-03 |
Family
ID=48779649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120004595A KR101379905B1 (ko) | 2012-01-16 | 2012-01-16 | 이미지 렌더링 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130182000A1 (ko) |
KR (1) | KR101379905B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9990714B2 (en) | 2016-09-07 | 2018-06-05 | Simula Innovation As | Apparatus and method for global optimization |
CN107797922B (zh) * | 2017-09-27 | 2021-05-28 | 北京金山安全软件有限公司 | 应用页面的测试方法、电子装置及电子设备 |
CN112051995B (zh) * | 2020-10-09 | 2022-01-28 | 腾讯科技(深圳)有限公司 | 一种图像渲染的方法、相关装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030227457A1 (en) | 2002-06-06 | 2003-12-11 | Pharr Matthew Milton | System and method of using multiple representations per object in computer graphics |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7450120B1 (en) * | 2003-12-19 | 2008-11-11 | Nvidia Corporation | Apparatus, system, and method for Z-culling |
EP1681656A1 (en) * | 2005-01-18 | 2006-07-19 | Oculus Info Inc. | System and method for processing map data |
US7626588B1 (en) * | 2006-06-16 | 2009-12-01 | Nvidia Corporation | Prescient cache management |
ITMI20070038A1 (it) * | 2007-01-12 | 2008-07-13 | St Microelectronics Srl | Dispositivo di renderizzazione per grafica a tre dimensioni con architettura di tipo sort-middle. |
-
2012
- 2012-01-16 KR KR1020120004595A patent/KR101379905B1/ko active IP Right Grant
- 2012-02-24 US US13/404,337 patent/US20130182000A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030227457A1 (en) | 2002-06-06 | 2003-12-11 | Pharr Matthew Milton | System and method of using multiple representations per object in computer graphics |
Also Published As
Publication number | Publication date |
---|---|
US20130182000A1 (en) | 2013-07-18 |
KR20130083953A (ko) | 2013-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885696B2 (en) | Graphics processing units and methods for controlling rendering complexity using cost indications for sets of tiles of a rendering space | |
KR101922482B1 (ko) | 다수의 렌더 타겟들 내에서 활성 컬러 샘플 카운트를 변경함으로써 스크린 위치에 의한 변화하는 유효 분해능 | |
EP3129976B1 (en) | Varying effective resolution by screen location by altering rasterization parameters | |
US10388033B2 (en) | Texture processing apparatus and method | |
KR102281162B1 (ko) | 영상 처리 장치 및 방법 | |
US10152765B2 (en) | Texture processing method and unit | |
CN104966265B (zh) | 图形处理方法和设备 | |
TWI789452B (zh) | 執行基於採樣繪圖的圖形處理器及其操作方法 | |
US10453274B2 (en) | Texture compressing method and apparatus and texture decompressing method and apparatus | |
KR101379905B1 (ko) | 이미지 렌더링 방법 및 시스템 | |
US20150145858A1 (en) | Method and apparatus to process current command using previous command information | |
KR20150041101A (ko) | 감소된 비트카운트의 다각형 래스터화 | |
CN109671097B (zh) | 运动模糊实现方法及装置 | |
EP3156974A1 (en) | Texture processing method and unit | |
US11302054B2 (en) | Varying effective resolution by screen location by changing active color sample count within multiple render targets | |
US9123153B2 (en) | Scalable multi-primitive system | |
KR101582578B1 (ko) | 그래픽 처리 장치 및 방법 | |
EP2992512B1 (en) | Anti-aliasing for geometries | |
CN105204727B (zh) | 一种图片呈现方法及装置 | |
GB2580498A (en) | Graphics processing units and methods for controlling rendering complexity using cost indications for sets of tiles of a rendering space | |
CN105007398A (zh) | 一种图像增稳方法及装置 | |
US9811945B2 (en) | On-demand transformation aware shape tessellation | |
CN111899351A (zh) | 一种三维可视化场景的对象的筛选方法 | |
CN102685368A (zh) | 以子列为单位的扫描方法 | |
SZÁNTÓ | 3D RENDERING: SEGMENTED SCREEN IMAGE PROCESSING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180308 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190214 Year of fee payment: 6 |
|
R401 | Registration of restoration |