KR20190013146A - 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법 - Google Patents

모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법 Download PDF

Info

Publication number
KR20190013146A
KR20190013146A KR1020170097279A KR20170097279A KR20190013146A KR 20190013146 A KR20190013146 A KR 20190013146A KR 1020170097279 A KR1020170097279 A KR 1020170097279A KR 20170097279 A KR20170097279 A KR 20170097279A KR 20190013146 A KR20190013146 A KR 20190013146A
Authority
KR
South Korea
Prior art keywords
shading
primitive
fragments
vertices
texture
Prior art date
Application number
KR1020170097279A
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 KR1020170097279A priority Critical patent/KR20190013146A/ko
Publication of KR20190013146A publication Critical patent/KR20190013146A/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
    • 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/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 랜더링 방법에 관한 것으로, 프래그먼트 쉐이더(Fragment Shader)를 최적화하여 랜더링을 수행하는 방법에 있어서, 오브젝트를 나타내기 위한 복수의 버텍스(vertex)들을 생성하는 단계, 상기 복수의 버텍스들을 쉐이딩하는 단계, 상기 쉐이딩한 복수의 버텍스들을 기반으로 프리미티브(primitive)를 형성하는 단계, 상기 프리미티브를 래스터화(rasterizer)하는 단계, 상기 래스터화 후 상기 프리미티브를 복수의 프래그먼트로 분할하고 상기 복수의 프래그먼트를 쉐이딩하는 단계 및 프레임 버퍼에 상기 쉐이딩한 복수의 프래그먼트를 저장하는 단계를 포함하여. 상기 복수의 프래그먼트를 쉐이딩하는 단계는 1차원 텍스쳐를 이용하여 수행되는 것을 특징으로 한다.
본 발명은, 1차원 텍스쳐를 사용하여, 텍스쳐 용량을 감소시킬 수 있고, texCUBE를 tex2D로 대체하여 랜더링 시의 계산량을 감소시켜 속도를 향상시킬 수 있다. 또한 1차원 텍스쳐를 사용 하므로, 텍스쳐 샘플링이 감소되어 속도를 향상시킬 수 있다.

Description

모바일 환경에서 3D 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법 {RENDERING OPTIMIZATION METHOD FOR REAL-TIME MASS PROCESSING OF 3D OBJECTS IN MOBILE ENVIRONMENT}
본 발명은 모바일 환경에서 3D 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법에 관한 것으로, 더욱 상세하게는 1차원 텍스쳐를 사용하는 랜더링 최적화 방법에 관한 것이다.
현재 스마트폰이나 스마트패드와 같은 다양한 사용자 단말이 대대적으로 보급되고 있다. 사용자 단말에서는 일반적으로 터치스크린을 통해 사용자 인터페이스를 구현하는데, 터치스크린 상의 터치 조작을 통해 화면의 확대 및 축소, 플리킹(flicking), 스크롤링(scrolling), 패닝(panning), 화면의 전환 및 변경등의 사용자 인터페이스를 제공한다.
이러한 사용자 단말에서 사용자 인터페이스 조작의 인터페이스 이벤트가 발생되면 사용자 단말은 그에 대응하여 일련의 랜더링 작업을 수행한 후 그 결과를 화면에 출력한다. 이때 랜더링 작업에 많은 시간이 소요되면 사용자는 인터페이스 조작의 결과가 늦게 화면에 반영된다고 느끼게 되며, 그에 따라 사용자는 단말에 대해 조작 응답성이 느리다는 불만을 느끼게 된다.
여기서 랜더링(Rendering)이란 평면인 그림에 형태, 위치, 조명 등 외부의 정보에 따라 다르게 나타나는 그림자, 색상, 농도 등을 감안하여 입체적인 3차원 영상을 만들어 내는 과정 또는 그러한 기법을 의미한다.
좀더 구체적으로 살펴보면, 종래 기술에서 사용자 인터페이스를 통해 각종의 인터페이스 이벤트가 발생하면 그에 따른 랜더링 작업을 수행하고 그 결과를 화면에 출력한다. 랜더링 과정에 영향을 끼치는 요인은 랜더링되는 이미지 사이즈, 사용자 인터페이스 화면에 출력하는 객체의 수, 인터페이스 조작에서 요구하는 화면 변화의 속도, 3차원 화면과 같은 특수한 객체표현 효과로 인한 과도한 랜더링 속도 요구량 등이다.
상기 언급한 요인에 따라 화면 전환이 매끄럽지 못하고 사용자의 연속 조작에 적절한 응답성을 제공하지 못하게 된다. 이러한 문제점을 해결하기 위해 종래로 그래픽 프로세서의 성능 자체를 높이는 방향으로 노력을 해왔으나, 비용상의 문제와 배터리 용량의 문제점이 수반되는 문제가 있었다. 그에 따라 본 발명에서는 랜더링 운용 체계를 변경하여 최적화된 랜더링 방법을 제안함으로써 사용자 단말에 대한 고객 만족도를 높이고자 한다.
2차원 화면에서 사실적인 3차원 효과를 부과하기 위해서는 전통적인 3차원 그래픽스의 파이프라인(pipeline)을 거쳐 3차원 화면을 구성하는 방법이 일반적으로 활용된다. 이를 위해서는 실물인 물체 또는 물건에 대한 사실적인 모델링과 텍스쳐 표현, 셰이딩 처리 등이 필요하다. 이런 전통적인 3차원 그래픽스를 활용하여 실물을 사실적으로 표현하기 위해서는 매우 많은 공정과 노력이 부과되어야 하며, 따라서 실물에 대한 광고는 실제 촬영한 정지영상, 동영상 등을 활용하는 것이 일반적이다. 그러나 이 경우는 3차원 입체효과를 부여하지 못한다는 단점이 있었다.
랜더링을 구현하는데 있어, 현재까지 AR용으로 개발된 게임들은 모두 낮은 수준의 3D 객체(Object)가 사용되어 개발되었으며, 앞으로 출시를 예정하거나 개발되고 있는 게임들 역시 모두 낮은 수준의 3D 객체(Object)를 제한적으로 실시간 처리하고 있는 실정이다.
본 발명에서는 그동안 제한적으로 보여주던 높은 수준의 3D 객체(Object)를 최적화하고, 이를 바탕으로 다량의 3D 객체(Object)를 동시에 실시간 처리할 수 있도록 함으로써, 스마트폰에 구현되는 3D 객체를 실제 PC용 수준에 가깝게 구현하는 방법을 제시한다.
본 발명의 목적은 1차원 텍스쳐를 사용하여 모바일 환경에서 3D 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법을 제공 하는데 있다.
상기 기술적 과제를 해결하기 위하여 본 발명은 랜더링 방법에 관한 것으로, 프래그먼트 쉐이더(Fragment Shader)를 최적화하여 랜더링을 수행하는 방법에 있어서, 오브젝트를 나타내기 위한 복수의 버텍스(vertex)들을 생성하는 단계, 상기 복수의 버텍스들을 쉐이딩하는 단계, 상기 쉐이딩한 복수의 버텍스들을 기반으로 프리미티브(primitive)를 형성하는 단계, 상기 프리미티브를 래스터화(rasterizer)하는 단계, 상기 래스터화 후 상기 프리미티브를 복수의 프래그먼트로 분할하고 상기 복수의 프래그먼트를 쉐이딩하는 단계 및 프레임 버퍼에 상기 쉐이딩한 복수의 프래그먼트를 저장하는 단계를 포함하여. 상기 복수의 프래그먼트를 쉐이딩하는 단계는 1차원 텍스쳐를 이용하여 수행되는 것을 특징으로 한다.
또한 상기 래스터화 단계의 전 단계로서, 상기 프리미티브에 뷰포트 클리핑(Viewport clipping)을 수행하는 단계를 더 포함하는 것을 특징으로 한다.
또한 상기 1차원 텍스쳐는 1차원 좌표를 가지고, 표면처리가 가능한 것을 특징으로 한다.
또한 프래그먼트 쉐이더(Fragment Shader)를 최적화하여 랜더링을 수행하는 장치에 있어서, 오브젝트를 나타내기 위한 복수의 버텍스(vertex)들을 생성하는 버텍스 생성부, 상기 복수의 버텍스들을 쉐이딩하는 버텍스 쉐이딩부, 상기 쉐이딩한 복수의 버텍스들을 기반으로 프리미티브(primitive)를 형성하는 프리미티브 형성부, 상기 프리미티브를 래스터화(rasterizer)하는 래스터화부, 상기 래스터화 후 상기 프리미티브를 복수의 프래그먼트로 분할하고 상기 복수의 프래그먼트를 쉐이딩하는 프래그먼트 쉐이딩부 및 프레임 버퍼에 상기 쉐이딩한 복수의 프래그먼트를 저장하는 프래그먼트 저장부를 포함하여. 상기 복수의 프래그먼트를 쉐이딩하는 프래그먼트 쉐이딩부는 1차원 텍스쳐를 이용하여 수행되는 것을 특징으로 한다.
또한 상기 프리미티브에 뷰포트 클리핑(Viewport clipping)을 수행하는 뷰포트 클리핑부를 더 포함하는 것을 특징으로 한다.
또한 상기 1차원 텍스쳐는 1차원 좌표를 가지고, 표면처리가 가능한 것을 특징으로 한다.
본 발명의 실시 예들에 따른 모바일 환경에서 3D 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법의 효과에 대해 설명하면 다음과 같다.
본 발명은, 1차원 텍스쳐를 사용하여, 텍스쳐 용량을 감소시킬 수 있고, texCUBE를 tex2D로 대체하여 랜더링 시의 계산량을 감소시켜 속도를 향상시킬 수 있다. 또한 1차원 텍스쳐를 사용 하므로, 텍스쳐 샘플링이 감소되어 속도를 향상시킬 수 있다.
다만, 본 발명의 실시 예들에 따른 모바일 환경에서 3D 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법이 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명에 따른 일실시예로서 랜더링 장치가 수행하는 3차원 이미지의 랜더링 파이프라인을 나타내는 흐름도이다.
도 2는 본 발명에 따른 일실시예로서 1차원 텍스쳐를 통해 프래그먼트 쉐이더를 최적화하는 개념을 나타낸 구성도이다.
도 3의 (a)는 종래의 3차원 텍스쳐를 나타낸 것이고, (b)는 본 발명의 일실시예로서 사용되는 1차원 텍스쳐를 나타낸 것이다.
도 4는 1차원 텍스쳐를 사용한 소스를 통해 쉐이더 소스 자체를 최적화하는 개념을 나타낸 구성도이다.
본 명세서 및 특허청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해서 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 하나의 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다. 이하에서는, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 모바일 환경에서 3D 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법을 상세하게 설명하기로 한다.
도 1은 본 발명에 따른 일실시예로서 랜더링 장치가 수행하는 3차원 이미지의 랜더링 파이프라인을 나타내는 흐름도이다.
도 1을 참조하면, 랜더링 장치가 수행하는 랜더링 단계는 S100 내지 S600단계를 포함할 수 있다.
버텍스 쉐이더(Vertex Shader)(S100), 트라이앵글 어셈블리(Triangle Assembly)(S200), 뷰포트 클리핑(Viewport clipping)(S300), 레스터화(Rasterizer)(S400), 프래그먼트 쉐이더(Fragment Shader)(S500), 프레임 버퍼(Frame Buffer)(S600)의 단계를 통해 최종 이미지가 얻어진다.
단계 S100은 버텍스(또는 정점) 들을 생성하고 쉐이딩하는 단계이다. 버텍스들은 영상에 포함된 오브젝트(object)들을 나타내기 위해 생성된다. 버텍스 쉐이더(Vertex Shader)는 생성된 버텍스들의 색(color)을 지정하여, 버텍스들에 대한 쉐이딩을 수행할 수 있다.
단계 S200은 버텍스 쉐이더를 통해 변형된(Transformed) 버텍스에 대해 트라이앵글 어셈블리(Triangle Assembly)를 수행하는 단계이다. 이는 구체적으로 프리미티브들(primitives)을 생성하는 단계이다. 프리미티브는 점, 선 또는 버텍스들로부터 형성되는 다각형(polygon)을 나타낸다. 본 발명은 일 실시예로서, 프리미티브들은 버텍스들을 연결하여 형성된 삼각형들을 사용하였다.
단계 S300은 전 단계에 이어, 뷰포트 클리핑(Viewport clipping)을 수행하는 단계이다. 뷰포트 클리핑이란 Shade 모드에서 뷰(View)가 깨지는 현상을 해결하기 위한 것이다.
단계 S400은 래스터화(Rasterizer)하는 단계이다. 프리미티브를 래스터화하는 것은 프리미티브를 복수의 프래그먼트들(fragments)로 분할하는 것을 나타낸다. 프래그먼트는 프리미티브를 구성하는 단위이며, 영상 처리를 수행하기 위한 기본 단위일 수 있다. 프리미티브는 버텍스에 대한 정보를 포함한다. 따라서, 래스터화하는 단계에서 정점과 정점 사이의 프레그먼트들을 생성할 때 보간(interpolation)이 수행된다.
단계 S500는 프래그먼트 쉐이더를 통해 프래그먼트를 쉐이딩하는 단계를 나타낸 것이다. 이 때. 픽셀 단위로 쉐이딩이 수행될 수도 있다. 예를 들어, 픽셀 또는 프레그먼트를 쉐이딩하는 것은 픽셀 또는 프레그먼트의 색을 지정하는 것이다. 한편, 프래그먼트 쉐이더 수행시 텍스쳐(Texture)가
단계 S600은 프레임 버퍼(Frame Buffer)에 저장된 프레임을 표시하는 단계를 나타낸 것이다. S100 내지 S600을 통해 생성된 프레임은 프레임 버퍼에 저장된다. 프레임 버퍼에 저장된 프레임은 디스플레이 장치를 통해 표시된다.
한편, 본 발명은 상기 방법을 구현하는 랜더링 장치로도 구현될 수 있음은 물론이다. 구체적으로 오브젝트를 나타내기 위한 복수의 버텍스(vertex)들을 생성하는 버텍스 생성부, 상기 복수의 버텍스들을 쉐이딩하는 버텍스 쉐이딩부, 상기 쉐이딩한 복수의 버텍스들을 기반으로 프리미티브(primitive)를 형성하는 프리미티브 형성부, 상기 프리미티브를 래스터화(rasterizer)하는 래스터화부, 상기 래스터화 후 상기 프리미티브를 복수의 프래그먼트로 분할하고 상기 복수의 프래그먼트를 쉐이딩하는 프래그먼트 쉐이딩부 및 프레임 버퍼에 상기 쉐이딩한 복수의 프래그먼트를 저장하는 프래그먼트 저장부를 포함하여. 상기 복수의 프래그먼트를 쉐이딩하는 프래그먼트 쉐이딩부는 1차원 텍스쳐를 이용하여 수행되는 것을 특징으로 할 수 있다.
도 2는 본 발명에 따른 일실시예로서 1차원 텍스쳐를 통해 프래그먼트 쉐이더를 최적화하는 것을 나타낸 구성도이다.
상기 언급한 랜더링 파이프라인에서 쉐이더를 통해 수정이 가능한 부분은 버텍스 쉐이더(Vertex Shader), 프래그먼트 쉐이더(Fragment Shader) 부분이다. 특히 본 발명에서는 프래그먼트 쉐이더(Fragment Shader)를 최적화하는 방법을 제시한다.
프래그먼트 쉐이더(Fragment Shader)를 최적화하는 방법은, 프래그먼트 쉐이더(Fragment Shader)에 필요한 텍스쳐(texture) 사이즈를 줄이거나, 프래그먼트 쉐이더(Fragment Shader)의 쉐이더 자체를 최적화 하는 방법이 있다.
텍스쳐(Texture) 사이즈를 줄이는 것과 관련하여, 본 발명은 기존에 사용되는 3차원 텍스쳐를 자체 제작한 1차원 텍스쳐로 교체하여 프래그 먼트 쉐이더를 최적화하였다.
3차원 텍스쳐는 3차원 좌표를 가지고 (x, y, z) 픽셀을 가져올 수 있도록 텍스쳐를 여러장 겹쳐 제작된다. 반면 1차원 텍스쳐는 1차원 좌표 (x)를 가진다. 본 발명에서는 환경맵에서 프래그먼트 쉐이더를 최적화하기 위해 1차원 텍스쳐를 사용하여 환경 매핑에 있어 랜더링이 최적화되도록 구현하였다.
환경 매핑은 오브젝트 주변의 배경들이 반사된모습을 표현 하는 기법이다.
이러한 기법을 통해 배경들이 금속과 같아 보이는 효과를 얻을 수 있다. 이론상으로는 오브젝트 주변의 모든 물체를 무한한 거리까지 처리한다. 오브젝트 주변모든 방향에 대해서 반사되는 부분을 구해야 한다.
종래의 일반적인 환경 맵핑 제작 방법은 큐브맵 제작, 즉 텍스쳐 6장을 정육면체로 보고 처리할 수 있게 인코딩 되어 있는 맵을 사용하였다. 이는, 3차원 개념이 들어간 텍스쳐 이기 때문에 텍스쳐 좌표 또한 3차원 좌표이다. 그림으로 표현하면 하기와 같다.
Figure pat00001
반면, 본 발명에 따른 환경 맵핑 쉐이더는 1차원 텍스쳐를 사용한다. 상기 1차원 텍스쳐를 사용함으로, 3차원 텍스쳐를 사용할 때 보다 텍스쳐 용량이 감소되고, texCUBE 대신 tex2D를 사용하여 계산량을 감소시켜 속도를 향상시킬 수 있다. 또한 1차원 텍스쳐를 사용하므로 텍스쳐 샘플링을 감소시켜 속도를 향상시킬 수 있다. 따라서 모바일 기기에서 적은 계산으로 금속을 표현 할 수 있어
속도를 향상 시킬 수 있다. 한편, 상기 1차원 텍스쳐는 표면처리가 가능하여 환경을 사실적으로 표현하는 것이 가능하다.
도 3의 (a)는 종래의 3차원 텍스쳐를 나타낸 것이고, (b)는 본 발명의 일실시예로서 사용되는 1차원 텍스쳐를 나타낸 것이다.
종래의 3차원 텍스쳐를 사용하는 경우, 도 3의 (a)에 도시된 바와 같이, 6장의 이미지를 정육면체로 하는 큐브맵을 통해 처리할 수 있도록 인코딩 되어 있음을 알 수 있다.
반면, 본 발명에 따른 1차원 텍스쳐는 도 3의 (b)에 도시된 바와 같이 1차원 좌표를 통해 픽셀을 가져올 수 있도록 제작되었다.
도 4는 1차원 텍스쳐를 사용한 소스를 통해 쉐이더 소스 자체를 최적화하는 개념을 나타낸 구성도이다.
상기 1차원 텍스쳐를 사용한 소스를 통해 쉐이더 소스 자체를 최적화 할 수 있다. 종래의 소스코드와 본 발명의 소스코드를 비교하면 다음과 같다.
먼저 종래의 소스코드를 살펴보면 다음과 같다.
Figure pat00002
이와 같이 종래의 3차원 텍스쳐를 이용하는 경우 쉐이더 코드로
samplerCUBE _texture_reft;
texCUBE(_texture_reft, diff);
을 사용함을 알 수 있다.
반면에 본 발명에 따른 1차원 텍스쳐를 이용하는 소스코드를 살펴보면 하기와 같다.
Figure pat00003
본원 발명은 이와 같이 1차원 텍스쳐를 사용하여 쉐이더 코드로
sampler2D _texture_refl;
tex2D(_texture_refl, 반사 벡터);
를 사용하여 종래의 기술과 구별되는 랜더링 방법을 구현함을 알 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.“매커니즘”, "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 본 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (6)

  1. 프래그먼트 쉐이더(Fragment Shader)를 최적화하여 랜더링을 수행하는 방법에 있어서,
    오브젝트를 나타내기 위한 복수의 버텍스(vertex)들을 생성하는 단계;
    상기 복수의 버텍스들을 쉐이딩하는 단계;
    상기 쉐이딩한 복수의 버텍스들을 기반으로 프리미티브(primitive)를 형성하는 단계;
    상기 프리미티브를 래스터화(rasterizer)하는 단계;
    상기 래스터화 후 상기 프리미티브를 복수의 프래그먼트로 분할하고 상기 복수의 프래그먼트를 쉐이딩하는 단계; 및
    프레임 버퍼에 상기 쉐이딩한 복수의 프래그먼트를 저장하는 단계를 포함하여. 상기 복수의 프래그먼트를 쉐이딩하는 단계는 1차원 텍스쳐를 이용하여 수행되는 것을 특징으로 하는 랜더링 방법.
  2. 제1항에 있어서,
    상기 래스터화 단계의 전 단계로서, 상기 프리미티브에 뷰포트 클리핑(Viewport clipping)을 수행하는 단계를 더 포함하는 것을 특징으로 하는 랜더링 방법.
  3. 제1항에 있어서,
    상기 1차원 텍스쳐는 1차원 좌표를 가지고, 표면처리가 가능한 것을 특징으로 하는 랜더링 방법.
  4. 프래그먼트 쉐이더(Fragment Shader)를 최적화하여 랜더링을 수행하는 장치에 있어서,
    오브젝트를 나타내기 위한 복수의 버텍스(vertex)들을 생성하는 버텍스 생성부;
    상기 복수의 버텍스들을 쉐이딩하는 버텍스 쉐이딩부;
    상기 쉐이딩한 복수의 버텍스들을 기반으로 프리미티브(primitive)를 형성하는 프리미티브 형성부;
    상기 프리미티브를 래스터화(rasterizer)하는 래스터화부;
    상기 래스터화 후 상기 프리미티브를 복수의 프래그먼트로 분할하고 상기 복수의 프래그먼트를 쉐이딩하는 프래그먼트 쉐이딩부; 및
    프레임 버퍼에 상기 쉐이딩한 복수의 프래그먼트를 저장하는 프래그먼트 저장부를 포함하여. 상기 복수의 프래그먼트를 쉐이딩하는 프래그먼트 쉐이딩부는 1차원 텍스쳐를 이용하여 수행되는 것을 특징으로 하는 랜더링 장치.
  5. 제4항에 있어서,
    상기 프리미티브에 뷰포트 클리핑(Viewport clipping)을 수행하는 뷰포트 클리핑부를 더 포함하는 것을 특징으로 하는 랜더링 장치.
  6. 제4항에 있어서,
    상기 1차원 텍스쳐는 1차원 좌표를 가지고, 표면처리가 가능한 것을 특징으로 하는 랜더링 장치.
KR1020170097279A 2017-07-31 2017-07-31 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법 KR20190013146A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170097279A KR20190013146A (ko) 2017-07-31 2017-07-31 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170097279A KR20190013146A (ko) 2017-07-31 2017-07-31 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법

Publications (1)

Publication Number Publication Date
KR20190013146A true KR20190013146A (ko) 2019-02-11

Family

ID=65370088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170097279A KR20190013146A (ko) 2017-07-31 2017-07-31 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법

Country Status (1)

Country Link
KR (1) KR20190013146A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116206046A (zh) * 2022-12-13 2023-06-02 北京百度网讯科技有限公司 渲染处理方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116206046A (zh) * 2022-12-13 2023-06-02 北京百度网讯科技有限公司 渲染处理方法、装置、电子设备及存储介质
CN116206046B (zh) * 2022-12-13 2024-01-23 北京百度网讯科技有限公司 渲染处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
EP3673463B1 (en) Rendering an image from computer graphics using two rendering computing devices
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
US10776997B2 (en) Rendering an image from computer graphics using two rendering computing devices
CN107154063B (zh) 图像展示区域的形状设置方法及装置
EP3179447A1 (en) Foveated rendering
US8817023B2 (en) Method, medium, and system rendering 3D graphic objects with selective object extraction or culling
US11657560B2 (en) VRS rate feedback
US10049486B2 (en) Sparse rasterization
KR102701851B1 (ko) 큐브 맵을 텍스쳐링하기 위한 LOD(level of detail)를 결정하는 방법 및 장치
CA2866849C (en) Method for estimating the opacity level in a scene and corresponding device
CN105283900A (zh) 用于压缩顶点着色器输出参数的方案
US8294713B1 (en) Method and apparatus for illuminating objects in 3-D computer graphics
US7158133B2 (en) System and method for shadow rendering
WO2024027237A1 (zh) 渲染的优化方法、电子设备和计算机可读存储介质
CN113256764A (zh) 一种光栅化装置、方法及计算机存储介质
RU2680355C1 (ru) Способ и система удаления невидимых поверхностей трёхмерной сцены
CN114375464A (zh) 使用边界体积表示对虚拟空间中的动态单元进行光线追踪
US10388060B2 (en) System and method for multi-view rendering
KR20100075351A (ko) 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템
KR20190013146A (ko) 모바일 환경에서 3d 객체의 실시간 대량 처리를 위한 랜더링 최적화 방법
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JP2008502979A (ja) 逆テクスチャマッピング3dグラフィックスシステム
KR20240140624A (ko) 고품질 vfx 구현을 위한 스마트 cg 랜더링 방법
CN116524102A (zh) 卡通二阶直接光照的渲染方法、装置及系统