KR101379905B1 - 이미지 렌더링 방법 및 시스템 - Google Patents

이미지 렌더링 방법 및 시스템 Download PDF

Info

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
Application number
KR1020120004595A
Other languages
English (en)
Other versions
KR20130083953A (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 주식회사 매크로그래프
Priority to KR1020120004595A priority Critical patent/KR101379905B1/ko
Priority to US13/404,337 priority patent/US20130182000A1/en
Publication of KR20130083953A publication Critical patent/KR20130083953A/ko
Application granted granted Critical
Publication of KR101379905B1 publication Critical patent/KR101379905B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

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

이미지 렌더링 방법 및 시스템{system and method for rendering an image}
본 발명은 이미지 처리에 관한 것으로, 특히 효율적으로 이미지를 렌더링할 수 있는 이미지 렌더링 시스템 및 방법에 관한 것이다.
영화나 애니메이션 등의 영상 매체를 소비하는 소비자의 상기 영상 매체에 대한 기대치가 높아짐에 따라 보다 높은 품질을 가지는 상기 영상 매체에 대한 요구가 높아지고 있다.
하지만, 상기 높은 품질을 가지는 상기 영상 매체를 요구하는 소비자의 요구를 충족시키기 위해 많은 장비들, 인력, 및 시간이 필요하다.
따라서 상기 영상 매체를 구성하는 이미지의 렌더링 시간을 줄이기 위한 방법이 필요하다.
[문헌 1] "REYES 알고리즘의 내부 매개 변수를 이용한 마이크로폴리곤 구성방법"(공개특허공보 제10-2010-0128026호(2010.12.07)) [문헌 2] "라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치"(공개특허공보 제10-2008-1018769호(2008.12.16))
본 발명이 이루고자 하는 기술적인 과제는 이미지의 렌더링 시간을 줄일 수 있는 이미지 렌더링 방법 및 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 이미지 렌더링 방법은 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 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 아니 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제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 메모리

Claims (9)

  1. CPU(central processing unit)가 복수의 제1프리미티브(primitive)들을 수신하는 단계;
    상기 CPU가 상기 복수의 제1프리미티브들 각각을 복수의 그리드들(grids) 각각으로 분할하는 단계;
    상기 CPU가 상기 복수의 그리드들을 그리드 집합체로서 수집하는 단계;
    상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 GPU(graphic processing unit)로 전송하는 단계; 및
    상기 GPU는 상기 그리드 집합체에 대해 세이딩(shading)하는 단계를 포함하는 이미지 렌더링 방법.
  2. 제1항에 있어서, 상기 이미지 렌더링 방법은,
    상기 CPU가 상기 그리드 집합체의 사이즈를 계산하는 단계; 및
    상기 CPU가 상기 그리드 집합체의 사이즈가 상기 임계값보다 큰지 판단하는 단계를 더 포함하는 이미지 렌더링 방법.
  3. 제2항에 있어서, 상기 이미지 렌더링 방법은,
    상기 CPU가 상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 상기 복수의 그리드들의 수집을 반복하는 단계를 더 포함하는 이미지 렌더링 방법.
  4. 제1항에 있어서, 상기 이미지 렌더링 방법은,
    상기 그리드 집합체에 대해 세이딩 후, 상기 세이딩된 그리드 집합체를 상기 GPU에서 상기 CPU로 전송하는 단계를 더 포함하는 이미지 렌더링 방법.
  5. 제1항에 있어서, 상기 이미지 렌더링 방법은,
    상기 GPU가 상기 그리드 집합체에 대해 세이딩하는 동안, 상기 CPU는 복수의 제2프리미티브들을 수신하는 단계를 더 포함하는 이미지 렌더링 방법.
  6. GPU; 및
    복수의 제1프리미티브들 각각을 복수의 그리드들(grids) 각각으로 분할하는 다이싱 모듈, 상기 복수의 그리드들을 그리드 집합체로서 수집하는 세이딩 풀, 및 상기 그리드 집합체의 사이즈가 임계값보다 클 때, 상기 그리드 집합체를 CPU에서 상기 GPU로 전송하는 데이터 전송 모듈을 포함하는 CPU를 포함하며,
    상기 GPU는 상기 그리드 집합체에 대해 세이딩(shading)하는 세이딩 모듈을 포함하는 이미지 렌더링 시스템.
  7. 제6항에 있어서, 상기 세이딩 풀은,
    상기 그리드 집합체의 사이즈가 상기 임계값보다 클 때까지 상기 복수의 그리드들의 수집을 반복하는 이미지 렌더링 시스템.
  8. 제6항에 있어서, 상기 세이딩 모듈은,
    상기 그리드 집합체에 대해 세이딩 후, 상기 세이딩된 그리드 집합체를 상기 GPU에서 상기 CPU로 전송하는 이미지 렌더링 시스템.
  9. 제6항에 있어서, 상기 다이싱 모듈은,
    상기 GPU가 상기 그리드 집합체에 대해 세이딩하는 동안 복수의 제2프리미티브들을 수신하는 이미지 렌더링 시스템.

KR1020120004595A 2012-01-16 2012-01-16 이미지 렌더링 방법 및 시스템 KR101379905B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.

Patent Citations (1)

* Cited by examiner, † Cited by third party
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