KR102085701B1 - 이미지를 렌더링하는 방법 - Google Patents

이미지를 렌더링하는 방법 Download PDF

Info

Publication number
KR102085701B1
KR102085701B1 KR1020170050850A KR20170050850A KR102085701B1 KR 102085701 B1 KR102085701 B1 KR 102085701B1 KR 1020170050850 A KR1020170050850 A KR 1020170050850A KR 20170050850 A KR20170050850 A KR 20170050850A KR 102085701 B1 KR102085701 B1 KR 102085701B1
Authority
KR
South Korea
Prior art keywords
image
light
rendering
virtual
reflected
Prior art date
Application number
KR1020170050850A
Other languages
English (en)
Other versions
KR20180117835A (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 KR1020170050850A priority Critical patent/KR102085701B1/ko
Publication of KR20180117835A publication Critical patent/KR20180117835A/ko
Application granted granted Critical
Publication of KR102085701B1 publication Critical patent/KR102085701B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Abstract

일 실시예에 따른 렌더링 방법은 컴퓨팅 장치에 의하여 수행되며, 제1 조명에 의하여 사물에 음영이 발생된 경우, 상기 음영이 반영된 사물에 대한 이미지를 획득하는 단계와, 가상의 제2 조명을 도입하는 단계와, 상기 획득된 이미지를 렌더링하는 단계를 포함하며, 상기 렌더링하는 단계는 상기 획득된 이미지 상에서 상기 사물이 갖는 텍스처 컬러(texture color)에 대한 값과 상기 제2 조명에 의한 영향을 나타내는 값을 더하는 과정을 포함한다.

Description

이미지를 렌더링하는 방법 {METHOD FOR RENDERING IMAGE}
본 발명은 이미지를 렌더링하는 방법에 관한 것이다. 보다 자세하게는 렌더링 대상인 사물의 이미지에 실제 조명에 의한 음영이 이미 반영되어 있는 경우, 실제 조명과 가상 조명에 의한 효과가 중복하여 반영되는 것을 고려하여 렌더링함으로써 보다 자연스러운 색상을 제공하는 기술에 관한 것이다.
GPU(Graphic Processing Unit)와 같은 그래픽 프로세싱 장치는 컴퓨팅 장치에서 그래픽스 데이터를 렌더링하는 역할을 담당한다. 일반적으로, 그래픽 프로세싱 장치는 2차원 또는 3차원 객체들에 해당되는 그래픽스 데이터를 2차원 픽셀 표현으로 변환하여 디스플레이를 위한 프레임을 생성한다. GPU를 구동시키기 위한 API(Application Programming Interface)를 개발하는 다양한 개발사들은 API 상에 자신들 고유의 그래픽스 파이프라인을 정의하고, 정의된 그래픽스 파이프라인을 이용하여 GPU의 처리 성능 및 처리 효율을 높이기 위한 많은 연구들을 진행하고 있다.
이러한 그래픽 프로세싱 장치는 사물에 대한 이미지를 렌더링할 때에도 사용된다. 사물에 대한 이미지는 예컨대 3D 스캐너로부터 획득 가능하다.
그런데, 3D 스캐너로부터 이미지를 획득하는 순간을 살펴보면, 사물에는 이미 빛에 의한 음영이 존재한다. 따라서, 3D 스캐너로부터 획득한 이미지에는 이러한 빛에 의한 음영이 반영되어 있다.
도 1은 3D 스캐너로부터 획득한 이미지를 렌더링한 결과에 대하여 도시하고 있다. 도 1을 참조하면, 식별번호 200은 스캔된 원본 이미지이고, 식별번호 201, 202 및 203은 각각 원본 이미지에 가상 조명의 세기를 상대적으로 작게, 중간, 크게 했을 때 렌더링한 결과를 나타낸다. 도 1에 도시된 바와 같이, 렌더링한 결과(201 내지 203)는 원본 이미지와 비교하였을 때 음영 면에서 품질이 저하되어 있다. 이러한 현상은, 렌더링할 때 사용되는 가상 조명에 의한 영향이, 3D 스캐너로부터 이미지를 획득할 때 이미 사물에 반영되어 있는 실제 조명에 의한 영향과 중복 적용되기 때문에 비롯된다.
한국공개특허공보, 10-2015-0093705 (2016.12.08. 공고)
이에, 본 발명의 해결하고자 하는 과제는, 렌더링 대상인 사물의 이미지에 실제 조명에 의한 음영이 이미 반영되어 있는 경우, 실제 조명과 가상 조명에 의한 효과가 중복하여 반영되는 것을 고려하여 렌더링함으로써 보다 자연스러운 색상을 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일 실시예에 따른 렌더링 방법은 컴퓨팅 장치에 의하여 수행되며, 제1 조명에 의하여 사물에 음영이 발생된 경우, 상기 음영이 반영된 사물에 대한 이미지를 획득하는 단계와, 가상의 제2 조명을 도입하는 단계와, 상기 획득된 이미지를 렌더링하는 단계를 포함하며, 상기 렌더링하는 단계는 상기 획득된 이미지 상에서 상기 사물이 갖는 텍스처 컬러(texture color)에 대한 값과 상기 제2 조명에 의한 영향을 나타내는 값을 더하는 과정을 포함한다.
일 실시예에 따르면 렌더링 대상인 사물의 이미지에 실제 조명에 의한 음영이 이미 반영되어 있는 경우, 실제 조명과 가상 조명에 의한 효과가 중복하여 반영되는 것을 고려하여 렌더링함으로써 보다 자연스러운 색상을 제공할 수 있다.
도 1은 종래의 기술에 따른 렌더링된 결과를 예시적으로 도시한 도면이다.
도 2는 일 실시예에 따른 렌더링 방법이 실행되는 장치의 구성을 예시적으로 도시한 도면이다.
도 3은 일 실시예에 따른 렌더링 방법의 절차를 예시적으로 도시한 도면이다.
도 4는 일 실시예에 따른 렌더링 방법이 적용된 결과를 예시적으로 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 일 실시예에 대하여 설명하기에 앞서, 이하에서 언급되는 '이미지'란 스마트 기기나 컴퓨터와 같은 기기의 디스플레이 장치에서 재생되는 2D 영상 또는 3D 영상일 수 있다.
도 2는 일 실시예에 따른 렌더링 방법이 실행되는 장치의 구성을 예시적으로 도시한 도면이다.
도 2를 참조하면, 컴퓨팅 장치(1)는 GPU(Graphic Processing Unit)(10), CPU(Central Processing Unit)(20), 메모리(30), 디스플레이(40) 및 Bus(50)를 포함한다. 도 2에 도시된 컴퓨팅 장치(1)에는 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 도 2에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
컴퓨팅 장치(1)는 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, PDA (personal digital assistants), 휴대형 미디어 플레이어, 비디오 게임용 콘솔, 텔레비젼 셋탑 박스, 태블릿 디바이스, 이북 리더, 웨어러블 디바이스, HMD(Head Mounted Display) 디바이스 등을 예로 들 수 있지만, 이에 제한되지 않는다. 즉, 컴퓨팅 장치(1)는 컨텐츠의 디스플레이를 위한 그래픽스 프로세싱 기능을 갖는 장치로서, 컴퓨팅 장치(1)의 범주에는 다양한 장치들이 포함될 수 있다.
CPU(20)는 컴퓨팅 장치(1)의 전반적인 동작들 및 기능들을 제어하는 하드웨어이다. 예를 들어, CPU(20)는 운영체제(Operating System, OS)를 구동하고, GPU(10)를 위한 그래픽스 API(Application Programming Interface)를 호출하고, GPU(10)의 드라이버를 실행시킬 수 있다. 또한, CPU(20)는 메모리(30)에 저장된 다양한 애플리케이션들, 예를 들어 웹 브라우징 애플리케이션, 게임 애플리케이션, 비디오 애플리케이션 등을 실행할 수 있다.
GPU(10)는 그래픽스 파이프라인(graphics pipeline)(100)을 수행하는 장치로서, 그래픽 전용 프로세서에 해당될 수 있다. 즉, GPU(10)는 3차원 이미지 상의 3차원 객체들을 디스플레이용의 이미지로 렌더링하기 위해 3차원 그래픽스 파이프라인을 실행하도록 구현된 하드웨어일 수 있다. 예를 들면, GPU(10)는 쉐이딩, 블렌딩, 일루미네이팅과 같은 다양한 기능들 및 디스플레이될 픽셀들에 대한 픽셀 값들을 생성하기 위한 다양한 기능들을 수행할 수도 있다.
GPU(10)에 의해 처리되는 그래픽스 파이프라인(100)은, 다양한 버전들의 DirectX, OpenGL API 등과 같은 그래픽스 API에 의해 정의된 그래픽스 파이프라인에 해당될 수 있다. 즉, 본 실시예에 따른 그래픽스 파이프라인(100)은 어느 하나의 버전 또는 어느 하나의 API 종류에 의해 제한되지 않고 다양한 API들에 적용될 수 있다.
그래픽스 파이프라인(100)에 대해 보다 자세하게 살펴보면, GPU(10)는 그래픽스 파이프라인(100)을 수행하는 버텍스 쉐이더(vertex shader), 테셀레이션 컨트롤 쉐이더(tessellation control shader), 테셀레이션 프리미티브 제네레이터(tessellation primitive generator), 테셀레이션 이밸류에이션 쉐이더(tessellation evaluation shader), 지오메트리 쉐이더(geometry shader), 클리퍼(clipper), 프로젝터(projector), 샘플링 쉐이더(sampling shader), 래스터라이저(rasterizer), 픽셀 쉐이더(pixel shader) 및 래스터 오퍼레이터(raster operator)를 포함할 수 있다.
메모리(30)는 컴퓨팅 장치(1) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 예를 들어, 메모리(30)는 GPU(10) 및 CPU(20)에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 아울러, 메모리(30)는 컴퓨팅 장치(1)가 외부로부터 획득한 이미지를 저장할 수 있다. 또한, 메모리(30)는 GPU(10) 및 CPU(20)에 의해 구동될 애플리케이션들, 드라이버들 등을 저장할 수 있다. 메모리(30)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random accessmemory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함하며, 나아가서, 컴퓨팅 장치(1)에 액세스될 수 있는 외부의 다른 스토리지 디바이스를 포함할 수 있다.
디스플레이(40)는 GPU(10)에 의해 처리된 이미지를 표시하는 하드웨어이다. 예를 들어, 디스플레이(40)는 GPU(10)에 의해 렌더링된 이미지를 표시할 수 있다. 디스플레이(40)는 소정의 해상도의 스크린 픽셀들을 구비하고 있고, GPU(10)는 이 해상도에 맞는 이미지를 렌더링한다. 디스플레이(40)는 LCD, OLED 등과 같은 다양한 종류의 디스플레이 패널로 구현될 수 있다.
Bus(50)는 컴퓨팅 장치(1) 내의 하드웨어들 간에 데이터를 송수신할 수 있도록 하드웨어들을 연결시켜 주는 하드웨어로서, Bus(50)는 예를 들어 PCI bus, PCI Express bus 등과 같은 다양한 종류들을 포함할 수 있다.
한편, 도면에는 도시되지 않았지만 컴퓨팅 장치(1)에는 외부로부터 데이터를 전달받기 위한 포트 또는 사물에 대한 이미지를 획득하는 3D 스캐너 등이 포함될 수도 있다.
컴퓨팅 장치(1), 특히 GPU(10)는 사물에 대한 이미지를 렌더링하는 그래픽스 파이프라인(100)을 수행할 수 있다.
이하에서는 렌더링 방법의 절차에 대하여 도 3을 참조하여 살펴보도록 한다.
도 3은 일 실시예에 따른 렌더링 방법의 절차에 대하여 예시적으로 도시한 도면이다. 도 3에 도시된 이러한 방법의 절차는 컴퓨팅 장치(1)에 의하여 수행 가능하다.
도 3을 참조하면, 먼저 컴퓨팅 장치(1)는 사물에 대한 이미지를 획득한다(S100). 사물에 대한 이미지는 컴퓨팅 장치(1)의 메모리(30)에 기 저장된 것을 불러오는 방식, 컴퓨팅 장치(1)가 외부의 3D 스캐너로부터 입력받는 방식 또는 도면에는 도시되지 않았지만 컴퓨팅 장치(1) 자체에 포함되는 3D 스캐너를 이용하여 획득하는 방식 등이 있을 수 있으며, 다만 이에 한정되는 것은 아니다.
GPU(10)는 이미지를 렌더링하는데 사용되는 가상의 조명을 배치한다(S110). 가상의 조명은 적어도 하나 이상이 될 수 있으며, 이러한 가상 조명의 세기 또는 배치되는 위치는 임의로 설정 가능하다. 아울러, 후술하겠지만 렌더링시에 반영되는 가상의 조명 세기는 사물에 대한 텍스처 컬러와의 관계에서 조정 가능하다.
CPU(20)는 컴퓨팅 장치(1)가 획득한 이미지에 제1 조명에 의한 음영이 반영(발생)되어 있는지 여부를 판단한다(S120). 이미지에 제1 조명에 의한 음영이 반영(발생)되어 있는지에 대한 정보는, 컴퓨팅 장치(1)가 이미지를 획득하는 과정으로부터 획득(예컨대, 3D 스캐너로부터 이미지가 획득되었다면 제1 조명에 의해 음영이 반영된 것으로 판단)할 수 있으나 이에 한정되는 것은 아니다.
여기서, 제1 조명이란 사물에 대한 이미지가 음영을 갖도록 만드는 조명을 지칭한다. 예컨대 사물에 대한 이미지가 3D 스캐너 등에 의하여 획득된 경우라면, 스캔 당시에 해당 사물에 제공된 자연광이나 인공 조명이 제1 조명일 수 있다.
제1 조명이 이미지에 반영되지 않은 경우, GPU(10)는 다음과 같은 수학식 1을 기초로 렌더링을 수행한다(S200). 렌더링된 결과(색상) 전술한 그래픽스 파이프라인(100)의 픽셀 쉐이더 연산시 프레임 버퍼의 색상값을 의미한다.
[수학식 1]
렌더링된 결과(색상) = 텍스처 컬러(texture color) * 가상 조명의 세기 * (분산광(Diffuse) + 반사광(Specular)) + 주변광(Ambient) + 방사광(Emissive)
수학식 1에서의 텍스처 컬러란 이미지에서 표현된 사물의 색상(제1 조명이 반영되지 않은 사물 고유의 색상)을 의미하며, 분산광과 반사광은 가상 조명에 의한 분산광 및 반사광을 의미한다. 즉, 제1 조명이 이미지에 반영되지 않은 것으로 판단되면, GPU(10)는 렌더링 과정에서 텍스처 컬러의 값과 가상 조명의 세기, 그리고 분산광과 반사광의 합을 서로 곱한 결과를 이용한다.
그러나, 제1 조명이 이미지에 반영된 경우, GPU(10)는 다음과 같은 수학식 2를 기초로 렌더링을 수행한다(S130). 렌더링된 결과(색상) 전술한 그래픽스 파이프라인(100)의 픽셀 쉐이더 연산시 프레임 버퍼의 색상값을 의미한다.
[수학식 2]
렌더링된 결과(색상) = A * 텍스처 컬러(texture color) + B * 가상 조명의 세기 * (분산광(Diffuse) + 반사광(Specular)) + 주변광(Ambient) + 방사광(Emissive)
수학식 2에서의 텍스처 컬러란 수학식 1에서의 텍스처 컬러와는 달리, 제1 조명이 반영되어 음영이 발생된, 이미지에서 표현되는 사물의 색상을 나타내는 값을 의미한다. 아울러, 나머지 가상 조명의 세기나 분산광, 반사광 등은 수학식 1과 동일하다.
즉, 제1 조명이 이미지에 이미 반영된 것으로 판단되면, GPU(10)는 렌더링 과정에서 텍스처 컬러의 값에 의한 영향과 가상 조명에 의한 영향이 서로 중복하여 적용됨으로써 영상의 품질이 저하되지 않도록, 이들이 각각 더해지도록 한다. 이때, 실시예에 따라서 합이 1인 가중치가 각각에 곱해져서 더해지도록 할 수 있다. 여기서, 가상 조명에 의한 영향이란 가상 조명의 세기, 가상 조명에 의한 난반사 및 전반사를 의미한다.
이 때 수학식 2의 계수 A와 계수 B는 임의의 값으로 설정 가능하다. 예컨대, 렌더링을 통해 획득하고자 하는 이미지의 품질에 따라 임의로 설정 가능하다.
또는, 수학식 2의 계수 A와 계수 B는 다음과 같은 관계식을 가질 수도 있으며, 이 경우의 A는 예컨대 0.5 이상 1 이하의 값을 가질 수 있다.
[수학식 3]
B = 1 - A
수학식 3에 따르면, A의 값이 1이면 B의 값은 0이며, 이 경우에는 제1 조명이 사물의 이미지에 미친 영향만이 렌더링에 반영될 수 있다. 반면, A의 값이 0.5이면 B의 값은 0.5이며, 이 경우에는 제1 조명이 사물의 이미지에 미친 영향과 가상 조명이 사물의 이미지에 미치는 영향이 동일한 비율로 렌더링에 반영될 수 있다. A의 값은 GPU((100)에 의하여 결정되며, 상황에 따라서 변경 가능하다.
즉, 일 실시예에 따르면 사물에 대한 이미지에 제1 조명이 이미 반영되어서 음영이 발생되어 있다면, 가상 조명에 의한 영향과 제1 조명에 의한 영향이 서로 중복 적용됨으로써 영상의 품질이 저하되는 것을 방지하기 위해, 렌더링 과정에서 가상 조명에 의한 영향과 제1 조명에 의한 영향이 서로 더해지도록 한다. 따라서, 사물에 대한 이미지에 제1 조명이 이미 반영되어 있다고 하더라도, 가상 조명을 이용하여 렌더링한 영상의 품질이 향상될 수 있다.
도 4는 일 실시예에 따른 렌더링 방법을 이용하였을 때의 결과물을 예시적으로 도시한 도면이다. 도 4를 참조하면, 식별번호 200은 원본 이미지고, 식별번호 211, 212 및 213은 각각 원본 이미지(200)에 가상 조명의 세기를 상대적으로 작게, 중간, 크게 했을 때 렌더링한 결과를 나타낸다. 도 1에서 도시한 렌더링 결과(201 내지 203)와 비교하였을 때, 도 4에 도시된 렌더링 결과(211 내지 213)의 품질이 상대적으로 우수한 것을 알 수 있다.
한편, 일 실시예에 따른 렌더링 방법은 가상 조명이 복수 개가 배치되는 경우에도 적용 가능하다. 이 경우, 각각의 가상 조명에 대한 가중치는 제1 조명에 대한 가중치와의 관계에서 상대적으로 결정될 수 있다. 아울러, 제1 조명에 대한 가중치와 각각의 가상 조명에 대한 가중치의 합은 1일 수 있다.
아울러, 일 실시예에서는 제1 조명이 이미지에 반영된 경우 수학식 1이 아닌 수학식 2에 따라 렌더링되는 것으로 설명하고 있으나, 본 발명의 사상이 이에 한정되는 것은 아니다. 예컨대, 제1 조명이 이미지에 반영된 경우, 수학식 1과 수학식 2 모두를 이용함으로써 렌더링이 수행될 수도 있다. 이 경우, 수학식 1에 의하여 렌더링된 결과와 수학식 2에 의하여 렌더링된 결과는 기 설정된 가중치를 가지고 조합되어 하나의 결과로 도출될 수 있다.
한편, 일 실시예에 따른 렌더링 방법에 포함된 각각의 단계는 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램으로 구현 가능하다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
일 실시예에 따른 렌더링 방법을 이용하면, 가상 현실(virtual reality) 또는 증강 현실(augmented reality)에서 보다 현실감 있는 이미지의 제공이 가능하다.
10 : GPU
20 : CPU
100 : 그래픽스 파이프라인

Claims (4)

  1. 컴퓨팅 장치에 의하여 수행되는 렌더링 방법으로서,
    사물에 대한 스캔 이미지를 획득하는 단계와,
    상기 스캔 이미지가 자연광 또는 인공 조명의 영향이 반영된 이미지에 해당하는지를 판단하는 단계와,
    가상 조명을 도입하는 단계와,
    상기 스캔 이미지를 렌더링하는 단계를 포함하며,
    상기 렌더링하는 단계는,
    상기 스캔 이미지가 상기 자연광 또는 상기 인공 조명의 영향이 반영된 이미지에 해당하면 상기 자연광 또는 상기 인공 조명의 영향이 반영된 이미지에서의 텍스처 컬러에 대한 값과 상기 가상 조명의 영향에 따른 값을 더하는 과정을 포함하여 수행되고, 상기 스캔 이미지가 상기 자연광 및 상기 인공 조명의 영향이 반영된 이미지에 해당하지 않으면 상기 자연광 및 상기 인공 조명의 영향이 반영되지 않은 이미지에서의 텍스처 컬러에 대한 값과 상기 가상 조명의 영향에 따른 값을 곱하는 과정을 포함하여 수행되는
    렌더링 방법.
  2. 제 1 항에 있어서,
    상기 가상 조명의 영향에 따른 값은,
    상기 가상 조명의 밝기, 상기 가상 조명에 의한 난반사 및 상기 가상 조명에 의한 전반사에 의한 영향을 반영하는
    렌더링 방법.
  3. 제 1 항에 있어서,
    상기 스캔 이미지가 상기 자연광 또는 상기 인공 조명의 영향이 반영된 이미지에 해당하면, 상기 텍스처 컬러에 대한 값 및 상기 가상 조명에 따른 값에는 각각 합이 1인 기 설정된 가중치가 곱해지는
    렌더링 방법.
  4. 제 1 항에 따른 렌더링 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된
    컴퓨터 판독가능한 기록매체에 포함된 컴퓨터 프로그램.
KR1020170050850A 2017-04-20 2017-04-20 이미지를 렌더링하는 방법 KR102085701B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170050850A KR102085701B1 (ko) 2017-04-20 2017-04-20 이미지를 렌더링하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170050850A KR102085701B1 (ko) 2017-04-20 2017-04-20 이미지를 렌더링하는 방법

Publications (2)

Publication Number Publication Date
KR20180117835A KR20180117835A (ko) 2018-10-30
KR102085701B1 true KR102085701B1 (ko) 2020-03-06

Family

ID=64101109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170050850A KR102085701B1 (ko) 2017-04-20 2017-04-20 이미지를 렌더링하는 방법

Country Status (1)

Country Link
KR (1) KR102085701B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123830A (ja) * 2000-10-18 2002-04-26 Nippon Hoso Kyokai <Nhk> 照明環境仮想変換装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101266360B1 (ko) * 2009-08-24 2013-05-22 한국전자통신연구원 전역조명을 지원하는 그래픽 처리 장치 및 이를 이용한 그래픽 처리 방법
KR20150093705A (ko) 2012-12-13 2015-08-18 브랑이르 - 그로뽀 브라질레이로 데 뻬스끼사스 에스뻬씨알리자다스 엘티디에이 리그노셀룰로스 및/또는 전분질 바이오매스로부터 바이오연료를 수득하는 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123830A (ja) * 2000-10-18 2002-04-26 Nippon Hoso Kyokai <Nhk> 照明環境仮想変換装置

Also Published As

Publication number Publication date
KR20180117835A (ko) 2018-10-30

Similar Documents

Publication Publication Date Title
KR102442487B1 (ko) 그래픽 처리 시스템 및 그래픽 프로세서
JP6749151B2 (ja) グラフィックスパイプラインを遂行する方法及びその装置
EP3008701B1 (en) Using compute shaders as front end for vertex shaders
US8035641B1 (en) Fast depth of field simulation
US10331448B2 (en) Graphics processing apparatus and method of processing texture in graphics pipeline
US20130127858A1 (en) Interception of Graphics API Calls for Optimization of Rendering
KR102122454B1 (ko) 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치
JP6530728B2 (ja) 両眼視差映像に対するレンダリング方法及びその装置
KR102381945B1 (ko) 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법
KR20180055446A (ko) 타일 기반 렌더링 방법 및 장치
KR102499397B1 (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
KR20230007358A (ko) 증강 현실을 위한 멀티레이어 재투영 기법들
KR20180056316A (ko) 타일-기반 렌더링을 수행하는 방법 및 장치
TWI786233B (zh) 關於以微磚為基礎之低解析度深度儲存之方法、器件與非暫時性電腦可讀儲存媒體
US10432914B2 (en) Graphics processing systems and graphics processors
US10262391B2 (en) Graphics processing devices and graphics processing methods
KR20180037839A (ko) 그래픽스 프로세싱 장치 및 인스트럭션의 실행 방법
KR102085701B1 (ko) 이미지를 렌더링하는 방법
Seng et al. Realistic real-time rendering of 3D terrain scenes based on OpenGL
US10311627B2 (en) Graphics processing apparatus and method of processing graphics pipeline thereof
US20180005432A1 (en) Shading Using Multiple Texture Maps
Kaveney Advanced Visualization and Interactive Display Rapid Innovation and Discovery Evaluation Research (VISRIDER) Program Task 6: Point Cloud Visualization Techniques for Desktop and Web Platforms
Chochlík Scalable multi-GPU cloud raytracing with OpenGL
WO2022131949A1 (en) A device for performing a recursive rasterization
Golba Deferred rendering using Compute shaders

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
E601 Decision to refuse application
E801 Decision on dismissal of amendment
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant