KR101227183B1 - Apparatus and method for stereoscopic rendering 3-dimension graphic model - Google Patents
Apparatus and method for stereoscopic rendering 3-dimension graphic model Download PDFInfo
- Publication number
- KR101227183B1 KR101227183B1 KR1020110025382A KR20110025382A KR101227183B1 KR 101227183 B1 KR101227183 B1 KR 101227183B1 KR 1020110025382 A KR1020110025382 A KR 1020110025382A KR 20110025382 A KR20110025382 A KR 20110025382A KR 101227183 B1 KR101227183 B1 KR 101227183B1
- Authority
- KR
- South Korea
- Prior art keywords
- rendering
- function
- model
- graphic
- graphic model
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Abstract
3D 그래픽 모델 입체 렌더링 장치는 3D 그래픽 모델의 렌더링을 위한 렌더링 함수를 포함하는 그래픽 처리 함수를 호출하는 함수 호출부, 상기 3D 그래픽 모델에 대한 제1 시점 영상 및 제2 시점 영상을 생성하기 위하여 상기 함수 호출부로부터 전달받은 렌더링 함수를 제1 렌더링 함수와 제2 렌더링 함수로 변경하는 함수 변경부, 및 상기 제1 렌더링 함수를 적용하여 상기 3D 그래픽 모델에 대해 제1 지오메트리 변환을 수행하고, 상기 제2 렌더링 함수를 적용하여 상기 3D 그래픽 모델에 대해 제2 지오메트리 변환을 수행하는 지오메트리 처리부를 포함한다. The 3D graphic model stereoscopic rendering apparatus includes a function caller for calling a graphics processing function including a rendering function for rendering a 3D graphic model, the function to generate a first view image and a second view image for the 3D graphic model. A function changer for changing a rendering function received from a caller into a first rendering function and a second rendering function, and applying the first rendering function to perform a first geometry transformation on the 3D graphic model, And a geometry processor configured to apply a rendering function to perform a second geometry transformation on the 3D graphic model.
Description
본 발명은 3D 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법에 관한 것으로, 보다 상세하게는 단일 시점의 영상을 좌안 영상 및 우안 영상으로 실시간으로 변환할 수 있는 3D 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법에 관한 것이다.The present invention relates to a 3D graphic model stereoscopic rendering apparatus and a stereoscopic rendering method, and more particularly, to a 3D graphic model stereoscopic rendering apparatus and stereoscopic rendering method capable of converting a single-view image into a left eye image and a right eye image in real time. will be.
실시간 렌더링(Realtime Rendering)은 컴퓨터 프로그램을 이용하여 3D 그래픽 모델 정보로부터 래스터 그래픽스 이미지라 불리는 영상을 실시간으로 만드는 과정을 의미한다. 3D 그래픽 모델 정보는 3D 물체에 대한 정보로서, 지오메트리(geometry), 시점, 텍스처 매핑(texture mapping), 조명, 셰이딩(shading) 정보 등을 포함할 수 있다. 실시간 렌더링은 아키텍처, 비디오 게임, 시뮬레이터, 특수 효과, 디자인 시각화 등 다양한 분야에 사용된다. Realtime rendering refers to the process of creating a video called raster graphics image in real time from 3D graphic model information using a computer program. The 3D graphic model information is information about a 3D object and may include geometry, viewpoint, texture mapping, lighting, and shading information. Real-time rendering is used in a variety of fields, including architecture, video games, simulators, special effects, and design visualization.
실시간 렌더링은 많은 연산이 필요로 하기 때문에 렌더링 속도 향상을 위하여 그래픽 가속기를 사용한다. 그래픽 가속기는 단말에 하드웨어칩 형태로 장착될 수 있다. 단말의 소프트웨어 플랫폼에서 단말에 부착된 그래픽 가속기를 사용하기 위해서는 해당 그래픽 가속기용 그래픽 라이브러리가 존재하게 되며, 그래픽 라이브러리를 사용하여야만 실질적인 그래픽 가속기의 그래픽 가속을 활용할 수 있게 된다. Real-time rendering requires a lot of computation, so we use a graphics accelerator to speed up rendering. The graphics accelerator may be mounted in the form of a hardware chip in the terminal. In order to use the graphic accelerator attached to the terminal in the software platform of the terminal, there is a graphic library for the graphic accelerator, and only the graphic library can be used to utilize the graphic acceleration of the graphic accelerator.
이때, 그래픽 라이브러리라 함은 산업계에서 보편적으로 활용되고 있는 실시간 렌더링 그래픽 개발 API(application programming interface)를 구현한 것이다. 그래픽 라이브러리 내부에서 하드웨어 그래픽 가속기 드라이버를 통해 가속기를 제어한다. 그래픽 라이브러리는 크게 데이터 설정 함수, 상태 변환 함수, 렌더링 함수로 나누어진다(이하, 이러한 모든 함수를 그래픽 처리 함수로 명한다). 데이터 설정 함수는 모델 데이터(3D Vertex 등)을 설정하고, 상태 변환 함수는 렌더링 방식을 설정하는 함수이다. 렌더링 함수는 실질적으로 지오메트리 처리 및 프레임버퍼에 래스터화(rasterization)를 수행하는 함수이다.In this case, the graphic library is an implementation of a real-time rendering graphics development API (application programming interface) commonly used in the industry. The accelerator is controlled by a hardware graphics accelerator driver inside the graphics library. The graphics library is divided into data setting functions, state transformation functions, and rendering functions (hereinafter, all these functions are referred to as graphic processing functions). The data setting function sets the model data (3D vertex, etc.), and the state transformation function sets the rendering method. Rendering functions are functions that actually perform rasterization on geometry processing and framebuffers.
단일 플랫폼에서 그래픽 가속기를 지원하기 위한 그래픽 라이브러리는 그래픽 가속기 제조사에서 제공한다. PC의 그래픽 라이브러리로는 DirectX 및 OpenGL이 있다. 임베디드(embedded) 기기 상에서는 대부분 OpenGL ES 스펙에 따라 라이브러리가 제공되고 있으며, 윈도우즈 계열에서는 Direct3D Mobile이 추가로 제공되고 있다. 이와 같이, 단일 플랫폼에서 그래픽 가속기를 지원하는 그래픽 라이브러리는 크게 두 가지를 넘지 않다. 대부분의 3D 게임은 이 두 가지 중 하나만을 이용하여 제작된다. 상기 그래픽 함수 중 렌더링 함수의 예로서 OpenGL ES API의 경우 glDrawArrays, glDrawElements 가 있다.Graphics libraries to support graphics accelerators on a single platform are provided by graphics accelerator manufacturers. PC graphics libraries include DirectX and OpenGL. On embedded devices, libraries are mostly provided according to the OpenGL ES specification, and Direct3D Mobile is additionally provided on Windows. As such, there are no more than two graphics libraries that support graphics accelerators on a single platform. Most 3D games are built using only one of these two. Examples of rendering functions among the graphic functions include glDrawArrays and glDrawElements in the case of the OpenGL ES API.
인간은 좌안과 우안의 간격에 의해 하나의 물체가 좌안과 우안에 서로 다른 방향에서 보이는 효과에 의해 입체감을 느낀다. 입체영상 표시장치는 이러한 원리를 이용하여 좌안 영상을 사용자의 좌안에 보여주고 우안 영상을 사용자의 우안에 보여줌으로써 사용자가 입체감을 느끼도록 한다. Humans feel a three-dimensional effect by the effect of a single object being seen in different directions due to the gap between the left and right eyes. The stereoscopic image display device displays a left eye image on the left eye of the user and a right eye image on the right eye of the user by using this principle, so that the user feels a 3D effect.
실사의 경우, 양안 카메라를 이용하여 제작 시부터 입체 영상의 좌안 영상과 우안 영상을 제작할 수 있다. 그러나, 단일 시점의 영상을 실시간으로 입체 영상으로 변환하는 것은 쉽지 않다. In the case of due diligence, a left eye image and a right eye image of a stereoscopic image may be produced from a production time using a binocular camera. However, it is not easy to convert a single viewpoint image into a stereoscopic image in real time.
본 발명이 해결하고자 하는 기술적 과제는 실시간 3D 그래픽 렌더링 기술에서 단일 시점 실시간 렌더링 방식을 좌안 및 우안 영상 생성을 위한 렌더링 방식으로 변경하여 실시간으로 입체영상을 생성 하게하는 3D 그래픽 모델 입체 렌더링 장치 및 입체 렌더링 방법을 제공하기 위한 것이다.The technical problem to be solved by the present invention is a 3D graphics model stereoscopic rendering apparatus and stereoscopic rendering to generate a three-dimensional image in real time by changing the single-view real-time rendering method in the real-time 3D graphics rendering technology to a rendering method for generating left and right eyes image It is to provide a method.
본 발명의 일 실시 예에 따른 3D 그래픽 모델 입체 렌더링 장치는 3D 그래픽 모델의 렌더링을 위한 렌더링 함수를 포함하는 그래픽 처리 함수를 호출하는 함수 호출부, 상기 3D 그래픽 모델에 대한 제1 시점 영상 및 제2 시점 영상을 생성하기 위하여 상기 함수 호출부로부터 전달받은 렌더링 함수를 제1 렌더링 함수와 제2 렌더링 함수로 변경하는 함수 변경부, 및 상기 제1 렌더링 함수를 적용하여 상기 3D 그래픽 모델에 대해 제1 지오메트리 변환을 수행하고, 상기 제2 렌더링 함수를 적용하여 상기 3D 그래픽 모델에 대해 제2 지오메트리 변환을 수행하는 지오메트리 처리부를 포함한다. 3D graphics model stereoscopic rendering apparatus according to an embodiment of the present invention, a function call unit for calling a graphics processing function including a rendering function for rendering a 3D graphics model, a first viewpoint image and the second for the 3D graphics model A function changer for changing a rendering function received from the function caller into a first rendering function and a second rendering function to generate a view image, and applying the first rendering function to first geometry for the 3D graphic model And a geometry processor configured to perform a transformation, and apply a second rendering function to perform a second geometry transformation on the 3D graphic model.
상기 제1 지오메트리 변환이 수행된 3D 그래픽 모델에 대해 래스터화(rasterization)를 수행하여 제1 시점 영상을 생성하고, 상기 제2 지오메트리 변환이 수행된 3D 그래픽 모델에 대해 래스터화를 수행하여 제2 시점 영상을 생성하는 래스터 처리부를 더 포함할 수 있다.A first viewpoint image is generated by performing rasterization on the 3D graphic model on which the first geometry transformation has been performed, and a second viewpoint by rasterizing the 3D graphic model on which the second geometry transformation has been performed. The apparatus may further include a raster processor configured to generate an image.
상기 함수 호출부가 상기 그래픽 처리 함수를 호출하는 호출 순서 및 데이터를 저장하는 데이터 저장부를 더 포함할 수 있다.The function caller may further include a data storage to store a call order and data for calling the graphic processing function.
상기 함수 호출부는 상기 제1 렌더링 함수를 이용한 제1 렌더링이 수행된 후 상기 데이터 저장부에 저장된 상기 호출 순서대로 상기 그래픽 처리 함수를 호출할 수 있다. The function caller may call the graphic processing function in the calling order stored in the data storage unit after the first rendering using the first rendering function is performed.
상기 함수 변경부는 상기 호출 순서대로 호출되는 그래픽 처리 함수 중 렌더링 함수를 상기 제2 렌더링 함수로 변경할 수 있다. The function changing unit may change a rendering function among the graphic processing functions called in the calling order to the second rendering function.
상기 데이터 저장부는 상기 함수 호출부에서 호출되는 그래픽 처리 함수에 대한 정보를 프레임 단위로 저장할 수 있다.The data storage unit may store information on a graphic processing function called by the function caller in units of frames.
본 발명의 다른 실시예에 따른 3D 그래픽 모델 입체 렌더링 방법은 3D 그래픽 모델에 대한 제1 시점 영상을 생성하기 위해 렌더링 함수를 호출하고, 호출된 렌더링 함수를 변경하여 제1 렌더링 방식을 설정하는 단계, 상기 제1 렌더링 방식을 통해 상기 3D 그래픽 모델에 대한 렌더링을 수행하여 제1 시점 영상을 생성하는 단계, 상기 3D 그래픽 모델에 대한 제2 시점 영상을 생성하기 위해 상기 렌더링 함수를 변경하여 제2 렌더링 방식을 설정하는 단계, 및 상기 제2 렌더링 방식을 통해 상기 3D 그래픽 모델에 대한 렌더링을 수행하여 제2 시점 영상을 생성하는 단계를 포함한다.According to another aspect of the present invention, there is provided a 3D graphic model stereoscopic rendering method, comprising: calling a rendering function to generate a first view image of a 3D graphic model, changing a called rendering function, and setting a first rendering method; Generating a first view image by performing rendering on the 3D graphic model through the first rendering method, and changing the rendering function to generate a second view image of the 3D graphic model And generating a second viewpoint image by rendering the 3D graphic model through the second rendering method.
상기 제1 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수의 호출 전에 설정되어 있던 모델뷰 행렬 값을 변경하여 상기 3D 그래픽 모델의 시점을 제1 시점으로 변경하는 단계를 포함할 수 있다.The setting of the first rendering method may include changing a viewpoint of the 3D graphic model to a first viewpoint by changing a model view matrix value set before the rendering function is called.
상기 제1 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수의 호출 전에 설정되어 있던 투영 행렬 값을 변경하여 상기 제1 시점에서 상기 3D 그래픽 모델을 제1 시점의 가상의 공간에 맵핑시키는 단계를 더 포함할 수 있다.The setting of the first rendering method may further include mapping the 3D graphic model to the virtual space at the first viewpoint by changing the projection matrix value set before the invoking the rendering function. can do.
상기 제1 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수의 호출 전에 설정되어 있던 뷰포트를 변경하여 상기 제1 시점에서 상기 3D 그래픽 모델을 스크린 상의 제1 시점 좌표계로 변환하는 단계를 더 포함할 수 있다.The setting of the first rendering method may further include converting the 3D graphic model to a first viewpoint coordinate system on a screen at the first viewpoint by changing a viewport set before the rendering function is called. .
상기 제2 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수의 호출 전에 설정되어 있던 모델뷰 행렬 값을 변경하여 상기 3D 그래픽 모델의 시점을 제2 시점으로 변경하는 단계를 포함할 수 있다.The setting of the second rendering method may include changing a viewpoint of the 3D graphic model to a second viewpoint by changing a model view matrix value set before the rendering function is called.
상기 제2 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수의 호출 전에 설정되어 있던 투영 행렬 값을 변경하여 상기 제2 시점에서 상기 3D 그래픽 모델을 제2 시점의 가상의 공간에 맵핑시키는 단계를 더 포함할 수 있다.The setting of the second rendering method may further include mapping the 3D graphic model to the virtual space at the second viewpoint by changing the projection matrix value set before the call to the rendering function. can do.
상기 제2 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수의 호출 전에 설정되어 있던 뷰포트 행렬 값을 변경하여 상기 제2 시점에서 상기 3D 그래픽 모델을 스크린 상의 제2 시점 좌표계로 변환하는 단계를 더 포함할 수 있다.The setting of the second rendering method may further include converting the 3D graphic model to a second viewpoint coordinate system on the screen at the second viewpoint by changing a viewport matrix value that was set before the rendering function is called. Can be.
상기 제1 렌더링 방식을 설정하는 단계는, 상기 렌더링 함수를 포함하는 그래픽 처리 함수가 호출되는 호출 순서를 저장하는 단계를 더 포함하고, 상기 호출 순서대로 호출되는 그래픽 처리 함수 중 렌더링 함수를 변경하여 상기 제2 렌더링 방식을 설정할 수 있다.The setting of the first rendering method may further include storing a calling order in which a graphic processing function including the rendering function is called, and changing a rendering function among graphic processing functions called in the calling order. The second rendering method may be set.
상기 시점 변경에 따른 렌더링 방식은 제1, 제2 이외에 추가적으로 제3, 제4 등의 여러 시점을 위한 렌더링에 동일하게 활용할 수 있다.The rendering method according to the viewpoint change may be equally used for rendering for various viewpoints such as the third and fourth in addition to the first and second.
실시간 그래픽 렌더링 기술을 이용한 어플리케이션(게임, 그래픽 프로그램 등)의 단일 시점 실시간 렌더링 방식을 어플리케이션 수정 없이 좌안 및 우안 영상 생성을 위한 렌더링 방식으로 변경하여 실시간으로 좌안 및 우안 영상으로 구성되는 입체 영상을 생성할 수 있다. It is possible to generate a three-dimensional image composed of left and right eye images in real time by changing the single-view real-time rendering method of an application (game, graphic program, etc.) using real-time graphic rendering technology to a rendering method for generating left and right eye images without application modification. Can be.
도 1은 본 발명의 일 실시예에 따른 3D 그래픽 모델 입체 렌더링 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 3D 그래픽 모델 입체 렌더링 방법을 나타내는 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 3D 그래픽 모델 입체 렌더링 장치를 나타내는 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 3D 그래픽 모델 입체 렌더링 방법을 나타내는 흐름도이다.1 is a block diagram illustrating a 3D graphic model stereoscopic rendering device according to an embodiment of the present invention.
2 is a flowchart illustrating a 3D graphic model stereoscopic rendering method according to an embodiment of the present invention.
3 is a block diagram illustrating a 3D graphic model stereoscopic rendering device according to another embodiment of the present invention.
4 is a flowchart illustrating a 3D graphic model stereoscopic rendering method according to another embodiment of the present invention.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예들에 한정되지 않는다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may be embodied in many different forms and is not limited to the embodiments described herein.
또한, 여러 실시예들에 있어서, 동일한 구성을 가지는 구성요소에 대해서는 동일한 부호를 사용하여 대표적으로 제1 실시예에서 설명하고, 그 외의 실시예에서는 제1 실시예와 다른 구성에 대해서만 설명하기로 한다.In addition, in the various embodiments, components having the same configuration are represented by the same reference symbols in the first embodiment. In the other embodiments, only components different from those in the first embodiment will be described .
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.In order to clearly illustrate the present invention, parts not related to the description are omitted, and the same or similar components are denoted by the same reference numerals throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise.
도 1은 본 발명의 일 실시예에 따른 3D 그래픽 모델 입체 렌더링 장치를 나타내는 블록도이다.1 is a block diagram illustrating a 3D graphic model stereoscopic rendering device according to an embodiment of the present invention.
도 1을 참조하면, 3D 그래픽 모델 입체 렌더링 장치(100)는 함수 호출부(110), 함수 변경부(120), 지오메트리(geometry) 처리부(130), 및 래스터(raster) 처리부(140)를 포함한다.Referring to FIG. 1, the 3D graphic model
함수 호출부(110)는 3D 그래픽 모델의 렌더링을 위한 렌더링 함수를 포함하는 그래픽 처리 함수를 호출한다. 그래픽 처리 함수는 데이터 설정 함수, 상태 변환 함수, 렌더링 함수를 포함한다. 함수 호출부(110)는 3D 그래픽 모델 정보를 수신하고 3D 그래픽 모델의 렌더링 방식을 설정하는 렌더링 인터페이스일 수 있다. 3D 그래픽 모델 정보는 3D 그래픽 모델에 대한 지오메트리(geometry), 시점(viewpoint), 조명, 셰이딩(shading) 정보 등을 포함할 수 있다. 3D 그래픽 모델 정보는 특정 저장매체에 저장되어 있는 정보일 수 있으며, 특정 저장매체에서 함수 호출부(110)로 제공될 수 있다.The
함수 호출부(110)는 호출되는 그래픽 처리 함수를 함수 변경부(120) 및/또는 지오메트리 변환부(130)에 전달한다. 특히, 함수 호출부(110)는 호출되는 그래픽 처리 함수 중에서 실제 렌더링을 수행하는 렌더링 함수를 함수 변경부(120)에 전달하고, 그외의 함수들은 지오메트리 변환부(130)에 전달한다. The
본 발명의 실시 예에서는 그래픽 처리 함수 중 렌더링 함수가 변경되는 경우를 설명하고 있다. 그러나 본 발명이 이에 한정되는 것은 아니고 필요에 따라 그래픽 처리 함수들 중 렌더링 함수 이외의 다른 함수도 함수 변경부(120)에 전달 될 수 있다.An embodiment of the present invention describes a case where a rendering function is changed among graphic processing functions. However, the present invention is not limited thereto, and other functions other than the rendering function among the graphic processing functions may be transferred to the
함수 변경부(120)는 3D 그래픽 모델의 입체 변환을 실시간으로 수행한다. 함수 변경부(120)는 제1 시점 영상 및 제2 시점 영상을 생성하기 위하여 그래픽 처리 함수 중에서 렌더링 함수를 제1 렌더링 함수와 제2 렌더링 함수로 변경한다. 함수 변경부(120)에서는 함수 호출부(110)의 렌더링 함수 호출 시 제1 렌더링 함수 및 제2 렌더링 함수를 호출하도록 할 수 있다. 제1 렌더링 함수는 3D 그래픽 모델에 대한 제1 시점 영상을 생성하기 위하여 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 포함하고, 제2 렌더링 함수는 3D 그래픽 모델에 대한 제2 시점 영상을 생성하기 위하여 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 포함한다. 제1 렌더링 함수는 제1 시점 영상을 생성하기 위하여 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 변경하여 렌더링을 수행하는 함수를 의미한다. 제2 렌더링 함수는 제2 시점 영상을 생성하기 위하여 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 변경하여 렌더링을 수행하는 함수를 의미한다. The
모델뷰 행렬(Model-View Matrix)은 3D 그래픽 모델의 시점을 변경하는 행렬 값이고, 투영 행렬(Projection Matrix)은 3D 그래픽 모델을 가상의 공간에 맵핑시키는 행렬 값이며, 뷰포트(Viewport)는 3D 그래픽 모델을 스크린 상의 좌표계로 변환하는 값이다. 뷰포트의 의미에는 클립 영역(Clip Area)을 포함 할 수 있다.Model-View Matrix is a matrix value that changes the viewpoint of the 3D graphics model, Projection Matrix is a matrix value that maps the 3D graphics model to the virtual space, and Viewport is a 3D graphics This value converts the model to the coordinate system on the screen. The meaning of the viewport may include a clip area.
제1 시점 영상은 좌안 영상 및 우안 영상 중 어느 하나, 제2 시점 영상은 다른 하나를 의미한다. 제1 시점 영상 및 제2 시점 영상의 조합으로 입체 영상이 표시된다. The first view image refers to any one of a left eye image and a right eye image, and the second view image refers to the other. The stereoscopic image is displayed by combining the first viewpoint image and the second viewpoint image.
이때, 투영 행렬 값과 뷰포트 값 변경은 최종 입체 영상의 형식에 따라 정해질 수 있다. 통상 Side by side (전체 영역 중 좌측 반은 좌안 또는 우안 영상, 우측 반은 우안 또는 좌안 영상), Top-down (전체 영역 중 상위 반은 좌안 또는 우안 영상, 하위 반은 우안 또는 좌안 영상) 의 형식에 따라 투영 행렬 값과 뷰포트 값이 결정 될 수 있으며, 이 외의 영역 분할에 대해서도 투영 행렬 값과 뷰포트 값 설정이 가능할 수 있다.In this case, the projection matrix value and the viewport value change may be determined according to the format of the final stereoscopic image. Normally, the form of Side by side (left half of the whole area is left or right eye image, right half is right or left eye image), and Top-down (upper half of the whole area is left or right eye image, lower half is right or left eye image) The projection matrix value and the viewport value may be determined, and the projection matrix value and the viewport value may be set for other region divisions.
즉, 함수 변경부(120)는 지오메트리 처리 전 3D 그래픽 모델을 좌안 시점(Viewpoint) 위치로 이동/회전시켜 좌안 영상이 생성되도록 하고, 3D 그래픽 모델을 우안 시점(Viewpoint) 위치로 이동/회전시켜 우안 영상이 생성되도록 모델뷰 행렬을 변경할 수 있다. 이때 회전은 초점 위치에 맞도록 회전 할 수 있는데 초점의 위치는 임의의 점을 지정하거나 렌더링 장치의 Depth 정보를 이용하여 제일 가까이 있는 점을 구하여 자동으로 설정 가능하다. 그리고/또는 함수 변경부(120)는 3D 그래픽 모델에 대하여 카메라의 위치가 좌안 시점 또는 우안 시점으로 이동 설정되도록 모델뷰 행렬 값을 변경할 수 있다. That is, the
그리고 함수 변경부(120)는 3D 그래픽 모델의 이동/회전 및/또는 카메라의 위치 설정에 따라 변경된 시점에서 3D 그래픽 모델이 입방체에 맵핑되도록 투영 행렬 값을 변경한다. 3D 그래픽 모델이 맵핑되는 입방체는 좌안 영상 또는 우안 영상이 표시되는 가상의 공간을 의미한다. 그리고 함수 변경부(120)는 좌안 시점 또는 우안 시점에서 3D 그래픽 모델이 스크린 상의 좌표계로 변환되도록 뷰포트를 변경한다. 이때, 투영 행렬 값 및 뷰포트 값 둘다 변경 되거나 둘 중 하나만 변경 될 수 있다.The
함수 변경부(120)는 함수 호출부(110)에서 전달되는 렌더링 함수들에 대해 좌안 시점 및 우안 시점에 해당하는 모델뷰 행렬값, 투영 행렬값, 뷰포트 값을 변경하여 지오메트리 처리부(130)에 전달한다. 여기서 함수 변경부(120)는 두 번에 걸쳐 좌안 및 우안에 대해 변경된 모델뷰 행렬값, 투영 행렬값, 뷰포트 값을 지오메트리 처리부(130)에 전달하게 된다.The
이와 같이, 함수 변경부(120)에서 제1 시점(좌안)에 대해 모델뷰 행렬값, 투영 행렬값 및 뷰포트가 변경되어 3D 그래픽 모델에 대한 제1 시점 영상을 생성하기 위한 제1 렌더링 방식이 설정된다. 그리고 제1 시점 영상 생성 이후 제2 시점(우안)에 대한 모델뷰 행렬값, 투영 행렬값 및 뷰포트가 변경되어 3D 그래픽 모델에 대한 제2 시점 영상을 생성하기 위한 제2 렌더링 방식이 설정된다.As such, the model view matrix value, the projection matrix value, and the viewport are changed with respect to the first viewpoint (left eye) in the
지오메트리 처리부(130)는 3D 그래픽 모델에 대한 지오메트리 변환(geometry transformation)을 수행한다. 지오메트리 변환은 어파인 변환(affine transformation)을 이용하여 3D 그래픽 모델을 변형하는 과정이다. 어파인 변환은 도형의 이동, 확대/축소 및 회전 변환을 포함한다. 지오메트리 변환은 3D 그래픽 모델에 대한 모델뷰 변환(model-view transformation), 조명 산출(lighting calculation), 투영 변환(projection transformation), 클립 테스트(clip test), 뷰포트 변환(view port transformation) 등을 포함한다. The
모델뷰 변환은 3D 그래픽 모델의 시점(viewpoint)을 변환하는 과정이다. 조명 산출은 점 광원, 평행 광원, 집중 광원 등과 같은 소정의 광원으로부터 3D 그래픽 모델에 투사되는 투사광의 방향 및 광량, 반사광의 방향 및 광량, 주변광 등을 산출하는 과정이다. 투영 변환은 카메라 안에 있는 물체(시야절두체)를 입방체에 맵핑시키는 과정으로, 투영 변환에 의해 카메라에 가까이 위치한 개체가 확대되는 원근감 효과가 생긴다. 클립 테스트는 뷰포트 변환을 위해 3D 그래픽 모델에서 맵핑된 입방체의 영역을 벗어나는 부분 및 보이지 않는 부분을 잘라내는 과정이다. 뷰포트 변환은 투영 변환된 3D 그래픽 모델을 스크린 상의 좌표계로 변환하는 과정이다. Model view conversion is a process of converting a viewpoint of a 3D graphic model. The illumination calculation is a process of calculating the direction and amount of projection light, the direction and amount of reflected light, the ambient light, etc., projected onto the 3D graphic model from a predetermined light source such as a point light source, a parallel light source, a concentrated light source, and the like. Projection transformation is a process of mapping an object in the camera (field frustum) to a cube, resulting in a perspective effect in which an object located near the camera is enlarged by the projection transformation. Clip testing is the process of cutting out invisible and invisible parts of the mapped cube in the 3D graphics model for viewport transformation. Viewport transformation is the process of converting a projection-converted 3D graphic model into a coordinate system on the screen.
지오메트리 처리부(130)는 지오메트리 변환을 통하여 3D 그래픽 모델을 벡터 그래픽스(vector graphics)로 변환한다. 벡터 그래픽스는 선의 위치, 길이, 방향을 수학적으로 표현하는 방법이다. 즉, 지오메트리 처리부(130)는 각 과정을 수행하는 모델뷰 변환 함수, 조명 산출 함수, 투영 변환 함수, 클립 테스트 함수 및 뷰포트 변환 함수를 이용하여 지오메트리 변환을 수행할 수 있다. 특히, 모델뷰 변환 함수 및 투영 변환 함수는 3D 그래픽 모델의 좌표를 변환하는 4 X 4 매트릭스로 표현될 수 있다. The
지오메트리 처리부(130)는 하드웨어에 의해 지오메트리 변환을 고속화하는 지오메트리 엔진을 이용할 수 있다. The
지오메트리 처리부(130)는 제1 시점(좌안)에 대해 모델뷰 행렬값 변경, 투영 행렬값 및 뷰포트 변경을 포함하는 제1 렌더링 함수를 적용하여 3D 그래픽 모델에 대한 제1 지오메트리 변환을 수행한다. 그리고 지오메트리 처리부(130)는 제2 시점(우안)에 대해 모델뷰 행렬값 변경, 투영 행렬값 및 뷰포트 변경을 포함하는 제2 렌더링 함수를 적용하여 3D 그래픽 모델에 대한 제2 지오메트리 변환을 수행한다.The
래스터 처리부(140)는 지오메트리 변환에 의해 벡터 그래픽스로 변환된 3D 그래픽 모델에 대해 래스터화(rasterization)를 수행한다. 래스터화는 벡터 그래픽스를 픽셀 패턴 이미지로 변환하는 과정이다. 즉, 래스터 처리부(140)는 실태가 없었던 3D 그래픽 모델의 폴리곤(polygon)을 화면상의 픽셀에 대응시켜 붙여주는 과정을 수행한다. 폴리곤은 3D 그래픽 모델을 표현하는 가장 작은 단위의 다각형을 의미한다. 제1 지오메트리 변환이 수행된 3D 그래픽 모델에 대해 래스터화가 수행되어 제1 시점 영상(좌안 영상)이 생성된다. 제2 지오메트리 변환이 수행된 3D 그래픽 모델에 대해 래스터화가 수행되어 제2 시점 영상(우안 영상)이 생성된다. 래스터 처리부(140)는 래스터화가 수행된 좌안 영상 및 우안 영상을 프레임 버퍼(160)에 전달하여 프레임 버퍼(160)에 좌안 영상 및 우안 영상이 실시간으로 생성되도록 한다.The
래스터 처리부(140)는 하드웨어에 의해 래스터화 변환을 고속화하는 래스터 엔진을 이용할 수 있다.The
프레임 버퍼(160)는 3D 그래픽 모델 렌더링 장치(100)에서 생성된 좌안 영상 및 우안 영상을 일시적으로 저장하여 표시부(170)에 전달한다.The
표시부(170)는 프레임 버퍼(160)에 생성된 좌안 영상 및 우안 영상을 표시한다. 표시부(170)는 특수 안경을 이용하는 입체영상 표시장치 및 특수 안경을 이용하지 않는 입체영상 표시장치를 포함한다. 특수 안경을 이용하는 입체영상 표시장치는 색안경 방식, 편광안경 방식, 셔터안경 방식 등으로 좌안 영상 및 우안 영상이 분리 선택되도록 한다. 특수 안경을 이용하지 않는 입체영상 표시장치는 렌티큘라 시트(lenticular sheet) 방식, 백라이트 분배(back light distribution) 방식, 슬릿 베리어(slit barrier) 방식 등으로 좌안 영상 및 영상 및 우안 영상이 분리 선택되도록 한다.The
이제, 도 1 및 2를 참조하여 단일 시점의 영상을 좌안 영상 및 우안 영상으로 실시간으로 변환하는 일 실시예에 따른 3D 그래픽 모델의 렌더링 방법에 대하여 설명한다.A method of rendering a 3D graphic model according to an exemplary embodiment of converting an image of a single viewpoint into a left eye image and a right eye image in real time will now be described with reference to FIGS. 1 and 2.
도 2는 본 발명의 일 실시예에 따른 3D 그래픽 모델 입체 렌더링 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a 3D graphic model stereoscopic rendering method according to an embodiment of the present invention.
도 1 및 2를 참조하면, 3D 그래픽 모델 입체 렌더링 장치(100)는 3D 그래픽 모델 정보를 수신하고, 그래픽 처리 함수가 정의되어 있는 함수 호출부(110)에서 그래픽 처리 함수를 호출한다(S110). 이때, 함수 호출부(110)는 해당 렌더링 함수를 함수 변경부(120)에 전달한다. 1 and 2, the 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(100)는 제1 시점으로의 시점 변경을 위해 모델뷰 행렬 값 및 투영 행렬 값을 변경한다(S120). 함수 변경부(120)에서 좌/우안 각각 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값이 변경된다. The 3D graphic model
함수 변경부(120)는 렌더링 함수가 호출되기 전에 설정된 모델뷰 행렬 값을 변경하여 3D 그래픽 모델의 시점을 제1 시점으로 변경한다. 즉, 함수 변경부(120)는 3D 그래픽 모델을 임의의 축을 기준으로 제1 방향(반시계방향 또는 시계방향)으로 회전 및 카메라의 위치가 제1 시점(좌안 시점 또는 우안 시점)으로 이동 설정되도록 모델뷰 행렬 값을 변경한다. 즉, 3D 그래픽 모델 입체 렌더링 장치(100)는 모델뷰 행렬 값의 변경에 따라 3D 그래픽 모델의 시점을 제1 시점으로 변경한다.The
그리고, 함수 변경부(120)는 제1 시점에서 3D 그래픽 모델이 입방체(가상의 공간)에 맵핑되도록 투영 행렬 값을 변경한다. 즉, 함수 변경부(120)는 렌더링 함수가 호출되기 전에 설정된 투영 행렬 값을 변경하여 제1 시점에서 3D 그래픽 모델을 제1 시점의 가상 공간에 맵핑되도록 한다.The
3D 그래픽 모델 입체 렌더링 장치(100)는 제1 시점에서 3D 그래픽 모델이 스크린 상의 좌표계로 변환되도록 뷰포트 변경을 수행한다(S130). 즉, 함수 변경부(120)는 렌더링 함수가 호출되기 전에 설정된 뷰포트를 변경하여 제1 시점에서 3D 그래픽 모델이 스크린 상의 제1 시점 좌표계로 변환되도록 한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(100)는 제1 시점 영상에 대한 렌더링을 수행한다(S140). 즉, 3D 그래픽 모델 입체 렌더링 장치(100)는 제1 시점 영상의 생성을 위해 모델뷰 행렬 값 변경, 투영 행렬 값 변경 및 뷰포트 값을 변경하여 제1 시점 영상의 생성을 위한 제1 렌더링 방식을 설정한다. 3D 그래픽 모델 입체 렌더링 장치(100)는 제1 렌더링 방식을 통해 3D 그래픽 모델에 대한 렌더링을 수행하여 제1 시점 영상을 생성한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(100)는 제2 시점으로의 시점 변경을 위해 모델뷰 행렬 값 및 투영 행렬 값을 변경한다(S150). 함수 변경부(120)는 렌더링 함수가 호출되기 전에 설정된 모델뷰 행렬 값을 변경하여 3D 그래픽 모델의 시점을 제2 시점으로 변경한다. 즉, 함수 변경부(120)는 3D 그래픽 모델을 임의의 축을 기준으로 제2 방향(반시계방향 또는 시계방향)으로 회전 및 카메라의 위치가 제2 시점(좌안 시점 또는 우안 시점)으로 이동 설정되도록 모델뷰 행렬 값을 변경할 수 있다. 3D 그래픽 모델 입체 렌더링 장치(100)는 모델뷰 행렬 값의 변경에 따라 3D 그래픽 모델의 시점을 제2 시점으로 변경할 수 있다.The 3D graphic model
그리고, 함수 변경부(120)는 렌더링 함수가 호출되기 전에 설정된 투영 행렬 값을 변경하여 제2 시점에서 3D 그래픽 모델이 제2 시점의 가상의 공간에 맵핑되도록 한다.The
3D 그래픽 모델 입체 렌더링 장치(100)는 제2 시점에서 3D 그래픽 모델이 스크린 상의 좌표계로 변환되도록 뷰포트 변경을 수행한다(S160). 즉, 함수 변경부(120)는 렌더링 함수가 호출되기 전에 설정된 뷰포트 행렬 값을 변경하여 제2 시점에서 3D 그래픽 모델이 스크린 상의 제2 시점 좌표계로 변환되도록 한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(100)는 제2 시점 영상에 대한 렌더링을 수행한다(S170). 즉, 3D 그래픽 모델 입체 렌더링 장치(100)는 제2 시점 영상의 생성을 위해 모델뷰 행렬 값 변경, 투영 행렬 값 변경 및 뷰포트 값 변경을 적용하여 제2 시점 영상의 생성을 위한 제2 렌더링 방식을 설정한다. 3D 그래픽 모델 입체 렌더링 장치(100)는 제2 렌더링 방식을 통해 3D 그래픽 모델에 대한 렌더링을 수행하여 제2 시점 영상을 생성한다. The 3D graphic model
생성된 제1 시점 영상 및 제2 시점 영상은 프레임 버퍼(160)에 일시적으로 저장되어 표시부(170)에 전달되고, 표시부(170)에서 제1 시점 영상 및 제2 시점 영상에 의한 입체 영상이 표시된다. The generated first view image and the second view image are temporarily stored in the
이와 같이, 3D 그래픽 모델에 대한 렌더링 함수를 변경하여 단일 시점 렌더링 방식을 좌안 및 우안 영상 생성을 위한 렌더링 방식으로 변경하여 실시간으로 좌안 및 우안으로 구성된 입체 영상을 생성 할 수 있다.As such, by changing the rendering function for the 3D graphic model, a single view rendering method may be changed to a rendering method for generating left and right eye images to generate a stereoscopic image composed of left and right eyes in real time.
도 3은 본 발명의 다른 실시예에 따른 3D 그래픽 모델 입체 렌더링 장치를 나타내는 블록도이다. 3 is a block diagram illustrating a 3D graphic model stereoscopic rendering device according to another embodiment of the present invention.
도 3을 참조하면, 3D 그래픽 모델 입체 렌더링 장치(200)는 함수 호출부(210), 함수 변경부(220), 지오메트리 처리부(230), 래스터 처리부(240) 및 데이터 저장부(250)를 포함한다. 3D 그래픽 모델 입체 렌더링 장치(200)는 도 1과 비교하여 데이터 저장부(250)를 더 포함한다. 도 1과 비교하여 차이점 위주로 설명하며, 설명되지 않는 부분은 도 1의 설명에 따라 해석될 수 있다.Referring to FIG. 3, the 3D graphic model
데이터 저장부(250)는 제1 시점 영상이 생성되는 과정 동안 함수 호출부(210)에서 호출되는 그래픽 처리 함수에 대한 정보를 저장한다. 그래픽 처리 함수에 대한 정보는 함수 호출부(210)에서 호출되는 그래픽 처리 함수의 호출 순서 및 데이터 정보를 포함한다. 즉, 데이터 저장부(250)는 함수 호출부(210)에서 호출되는 그래픽 처리 함수의 호출 순서 및 데이터 정보를 저장할 수 있다. 데이터 저장부(250)는 함수 호출부(210)에서 호출되는 그래픽 처리 함수에 대한 정보를 좌안 영상 또는 우안 영상의 하나의 프레임 단위로 저장할 수 있다. 데이터 정보는 렌더링 함수의 기능, 상태, 데이터 등을 포함한다. 제1 시점 영상의 생성 과정은 도 2에서 설명한 바와 같이, 제1 시점에 대해 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값이 변경되고, 변경된 모델뷰 행렬, 투영 행렬 및 뷰포트가 적용된 제1 렌더링 방식으로 3D 그래픽 모델에 대한 렌더링이 수행되는 과정을 포함한다. 즉, 제1 시점 영상이 생성되는 동안 호출되는 그래픽 처리 함수는 지오메트리 변환을 위한 함수를 포함한다. 지오메트리 변환을 위한 함수는 모델뷰 변환 함수, 조명 산출 함수, 투영 변환 함수, 클립 테스트 함수, 뷰포트 변환 함수 등을 포함한다.The
데이터 저장부(250)에 저장된 그래픽 처리 함수 정보는 제2 시점 영상의 생성 과정에서 함수 호출부(210)에 전달된다. The graphic processing function information stored in the
함수 호출부(210)는 데이터 저장부(250)에 저장된 그래픽 처리 함수 정보, 즉 그래픽 처리 함수의 호출 순서 및 데이터 정보를 이용하여 순차적으로 그래픽 처리 함수를 호출하고 제2 시점 영상의 생성을 위한 제2 렌더링 방식을 설정할 수 있다. 즉, 함수 호출부(210)는 제1 렌더링 함수를 이용한 제1 렌더링이 수행된 후 데이터 저장부(250)에 저장된 그래픽 처리 함수를 저장된 호출 순서대로 호출할 수 있다. 함수 호출부(210)는 호출되는 그래픽 처리 함수 중 렌더링 함수를 함수 변경부(220) 및/또는 지오메트리 변환부(230)에 전달한다. The
제2 시점 영상의 생성 과정에서 함수 변경부(220)는 함수 호출부(210)에서 호출 순서대로 호출되는 그래픽 처리 함수 중 렌더링 함수를 제2 렌더링 함수로 변경한다. 함수 변경부(220)는 제2 시점 영상의 생성을 위해 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 변경하여 지오메트리 처리부(230)에 전달한다. In the process of generating the second view image, the
지오메트리 처리부(230)는 제2 시점 영상의 생성을 위해 변경된 함수가 적용된 제2 렌더링 방식으로 3D그래픽 모델에 대한 지오메트리 변환을 수행할 수 있다. 즉, 제2 시점 영상의 생성을 위해 함수 변경부(120)로 전달될 렌더링 함수를 제외한 나머지 그래픽 처리 함수들은 제1 시점 영상의 생성 과정에서 사용된 함수들이 사용될 수 있다. The
이제, 도 3 및 4를 참조하여 단일 시점의 영상을 좌안 영상 및 우안 영상으로 실시간으로 변환하는 다른 실시예에 따른 3D 그래픽 모델의 입체 렌더링 방법에 대하여 설명한다.3 and 4, a three-dimensional rendering method of a 3D graphic model according to another exemplary embodiment of converting an image of a single viewpoint into a left eye image and a right eye image in real time will be described.
도 4는 본 발명의 다른 실시예에 따른 3D 그래픽 모델 입체 렌더링 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a 3D graphic model stereoscopic rendering method according to another embodiment of the present invention.
도 3 및 4를 참조하면, 3D 그래픽 모델 입체 렌더링 장치(200)는 3D 그래픽 모델 정보를 수신하고, 그래픽 처리 함수가 정의되어 있는 함수 호출부(210)에서 그래픽 처리 함수를 호출한다(S210). 이때, 함수 호출부(210)는 3D 그래픽 모델에 대한 렌더링 함수를 함수 변경부(220)에 전달한다. 3 and 4, the 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제1 시점 영상이 생성되는 과정 동안 함수 호출부(210)에서 호출되는 그래픽 처리 함수 정보를 데이터 저장부(250)에 저장한다(S220). 호출되는 그래픽 처리 함수는 지오메트리 변환을 위한 모델뷰 변환 함수, 조명 산출 함수, 투영 변환 함수, 클립 테스트 함수, 뷰포트 변환 함수 등을 포함할 수 있다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제1 시점으로의 시점 변경을 위해 모델뷰 행렬 값 및 투영 행렬 값을 변경한다(S230). 즉, 함수 변경부(220)는 3D 그래픽 모델을 임의의 축을 기준으로 제1 방향(반시계방향 또는 시계방향)으로 회전 및 카메라의 위치가 제1 시점(좌안 시점 또는 우안 시점)으로 이동 설정되도록 모델뷰 행렬 값을 변경한다. 그리고, 함수 변경부(220)는 제1 시점에서 3D 그래픽 모델이 제1 시점의 가상 공간에 맵핑되도록 투영 행렬 값을 변경한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제1 시점에서 3D 그래픽 모델이 스크린 상의 좌표계로 변환되도록 뷰포트 변경을 수행한다(S240). 즉, 함수 변경부(220)는 제1 시점에서 3D 그래픽 모델이 스크린 상의 제1 시점 좌표계로 변환되도록 뷰포트 값을 변경 변경한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제1 시점 영상에 대한 렌더링을 수행한다(S250). 3D 그래픽 모델 입체 렌더링 장치(200)는 제1 시점 영상의 생성을 위해 변경된 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 적용하여 제1 시점 영상의 생성을 위한 제1 렌더링 방식을 설정할 수 있다. 3D 그래픽 모델 입체 렌더링 장치(200)는 제1 렌더링 방식을 통해 3D 그래픽 모델에 대한 렌더링을 수행하여 제1 시점 영상을 생성한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 데이터 저장부(250)에 저장된 그래픽 처리 함수 정보를 이용하여 그래픽 처리 함수를 재호출한다(S260). 즉, 3D 그래픽 모델 입체 렌더링 장치(200)는 데이터 저장부(250)에 저장된 그래픽 처리 함수 정보, 즉 그래픽 처리 함수의 호출 순서 및 데이터 정보를 이용하여 그래픽 처리 함수를 순차적으로 호출할 수 있다. 이때, 함수 호출부(210)는 3D 그래픽 모델에 대한 렌더링 함수를 함수 변경부(220)에 전달한다.The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제2 시점으로의 시점 변경을 위해 모델뷰 행렬 값 및 투영 행렬 값을 변경한다(S270). 즉, 함수 변경부(220)는 3D 그래픽 모델을 임의의 축을 기준으로 제2 방향(시계방향 또는 반시계방향)으로 회전 및 카메라의 위치가 제2 시점(우안 시점 또는 좌안 시점)으로 이동 설정되도록 모델뷰 행렬 값을 변경한다. 그리고, 함수 변경부(220)는 제2 시점에서 3D 그래픽 모델이 제2 시점의 가상 공간에 맵핑되도록 투영 행렬 값을 변경한다.The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제2 시점에서 3D 그래픽 모델이 스크린 상의 제2 시점 좌표계로 변환되도록 뷰포트 값을 변경한다(S280). 즉, 함수 변경부(220)는 제2 시점에서 3D 그래픽 모델이 스크린 상의 좌표계로 변환되도록 뷰포트 값을 변경한다. The 3D graphic model
3D 그래픽 모델 입체 렌더링 장치(200)는 제2 시점 영상에 대한 렌더링을 수행한다(S290). 3D 그래픽 모델 입체 렌더링 장치(200)는 제2 시점 영상의 생성을 위해 변경된 모델뷰 행렬 값, 투영 행렬 값 및 뷰포트 값을 적용하여 제2 시점 영상의 생성을 위한 제2 렌더링 방식을 설정할 수 있다. 3D 그래픽 모델 입체 렌더링 장치(200)는 제2 렌더링 방식을 통해 3D 그래픽 모델에 대한 렌더링을 수행하여 제2 시점 영상을 생성한다. The 3D graphic model
상기 시점 변경에 따른 렌더링 방식은 제1 시점 및 제2 시점 이외에 추가적으로 제3 시점, 제4 시점 등의 여러 시점을 위한 렌더링에 동일하게 활용 할 수 있다. 제3 시점, 제4 시점 이상의 시점 변경 방식은 상기 시점 변경에 따른 방식과 동일하며, 그래픽 처리 함수를 저장하는 경우 제1 렌더링 시 저장된 정보를 이용하여 제2 시점, 제3 시점, 제4 시점 이상의 시점 변경에 동일하게 활용될 수 있다.The rendering method according to the viewpoint change may be equally used for rendering for various viewpoints such as the third viewpoint and the fourth viewpoint in addition to the first viewpoint and the second viewpoint. The viewpoint change method of the third view point and the fourth view point or more is the same as the method according to the view point change, and when storing the graphic processing function, the second view point, the third view point, or the fourth view point or more by using the information stored in the first rendering. The same can be used for changing the viewpoint.
생성된 제1 시점 영상 및 제2 시점 영상은 프레임 버퍼(260)에 일시적으로 저장되어 표시부(270)에 전달되고, 표시부(270)에서 제1 시점 영상 및 제2 시점 영상에 의한 입체 영상이 표시된다. The generated first view image and the second view image are temporarily stored in the
지금까지 참조한 도면과 기재된 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. It is to be understood that both the foregoing general description and the following detailed description of the present invention are illustrative and explanatory only and are intended to be illustrative of the invention and are not to be construed as limiting the scope of the invention as defined by the appended claims. It is not. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.
100, 200 : 3D 그래픽 모델 입체 렌더링 장치
110, 210 : 함수 호출부
120, 220 : 함수 변경부
130, 230 : 지오메트리 처리부
140, 240 : 래스터 처리부
250 : 데이터 저장부
160, 260 : 프레임 버퍼
170, 270 : 표시부100, 200: 3D graphics model stereoscopic rendering device
110, 210: function call unit
120, 220: function change unit
130, 230: geometry processing unit
140, 240: raster processing unit
250: data storage
160, 260: frame buffer
170, 270 display unit
Claims (14)
상기 3D 그래픽 모델에 대한 제1 시점 영상 및 제2 시점 영상을 생성하기 위하여 상기 함수 호출부로부터 전달받은 렌더링 함수를 제1 렌더링 함수와 제2 렌더링 함수로 변경하는 함수 변경부;
상기 제1 렌더링 함수를 적용하여 상기 3D 그래픽 모델에 대해 제1 지오메트리 변환을 수행하고, 상기 제2 렌더링 함수를 적용하여 상기 3D 그래픽 모델에 대해 제2 지오메트리 변환을 수행하는 지오메트리 처리부; 및
상기 제1 지오메트리 변환이 수행된 3D 그래픽 모델에 대해 래스터화(rasterization)를 수행하여 제1 시점 영상을 생성하고, 상기 제2 지오메트리 변환이 수행된 3D 그래픽 모델에 대해 래스터화를 수행하여 제2 시점 영상을 생성하는 래스터 처리부를 포함하는 3D 그래픽 모델 입체 렌더링 장치.A function caller for calling a graphics processing function including a rendering function for rendering a 3D graphic model;
A function changer for changing a rendering function received from the function caller into a first rendering function and a second rendering function to generate a first view image and a second view image of the 3D graphic model;
A geometry processing unit configured to apply a first rendering function to the 3D graphic model by applying the first rendering function, and perform a second geometry transformation on the 3D graphic model by applying the second rendering function; And
A first viewpoint image is generated by performing rasterization on the 3D graphic model on which the first geometry transformation has been performed, and a second viewpoint by rasterizing the 3D graphic model on which the second geometry transformation has been performed. 3D graphics model stereoscopic rendering apparatus including a raster processing unit for generating an image.
상기 함수 호출부가 상기 그래픽 처리 함수를 호출하는 호출 순서 및 데이터를 저장하는 데이터 저장부를 더 포함하는 3D 그래픽 모델 입체 렌더링 장치.The method according to claim 1,
And a data storage unit for storing a call order and data for the function caller to call the graphic processing function.
상기 함수 호출부는 상기 제1 렌더링 함수를 이용한 제1 렌더링이 수행된 후 상기 데이터 저장부에 저장된 상기 호출 순서대로 상기 그래픽 처리 함수를 호출하는 3D 그래픽 모델 입체 렌더링 장치.The method of claim 3,
And the function caller calls the graphic processing function in the calling order stored in the data storage after the first rendering using the first rendering function is performed.
상기 함수 변경부는 상기 호출 순서대로 호출되는 그래픽 처리 함수 중 렌더링 함수를 상기 제2 렌더링 함수로 변경하는 그래픽 모델 입체 렌더링 장치.5. The method of claim 4,
And the function changer changes the rendering function of the graphic processing functions called in the calling order to the second rendering function.
상기 데이터 저장부는 상기 함수 호출부에서 호출되는 그래픽 처리 함수에 대한 정보를 프레임 단위로 저장하는 3D 그래픽 모델 입체 렌더링 장치.5. The method of claim 4,
And the data storage unit stores information on a graphics processing function called by the function caller in units of frames.
상기 제1 렌더링 방식을 통해 상기 3D 그래픽 모델에 대한 렌더링을 수행하여 제1 시점 영상을 생성하는 단계;
상기 3D 그래픽 모델에 대한 제2 시점 영상을 생성하기 위해 상기 렌더링 함수를 변경하여 제2 렌더링 방식을 설정하는 단계; 및
상기 제2 렌더링 방식을 통해 상기 3D 그래픽 모델에 대한 렌더링을 수행하여 제2 시점 영상을 생성하는 단계를 포함하고,
상기 제1 렌더링 방식을 설정하는 단계는,
상기 렌더링 함수의 호출 전에 설정되어 있던 모델뷰 행렬 값을 변경하여 상기 3D 그래픽 모델의 시점을 제1 시점으로 변경하는 단계; 및
상기 렌더링 함수의 호출 전에 설정되어 있던 투영 행렬 값을 변경하여 상기 제1 시점에서 상기 3D 그래픽 모델을 제1 시점의 가상의 공간에 맵핑시키는 단계를 포함하는 3D 그래픽 모델 입체 렌더링 방법.Setting a first rendering scheme by calling a rendering function and changing the called rendering function to generate a first viewpoint image for the 3D graphic model;
Generating a first view image by performing rendering on the 3D graphic model through the first rendering method;
Setting a second rendering scheme by changing the rendering function to generate a second viewpoint image for the 3D graphic model; And
Generating a second view image by performing rendering on the 3D graphic model through the second rendering method;
The setting of the first rendering method may include:
Changing a viewpoint of the 3D graphic model to a first viewpoint by changing a model view matrix value set before the rendering function is called; And
And changing the projection matrix value set before the call of the rendering function to map the 3D graphic model to the virtual space of the first view at the first view.
상기 제1 렌더링 방식을 설정하는 단계는,
상기 렌더링 함수의 호출 전에 설정되어 있던 뷰포트를 변경하여 상기 제1 시점에서 상기 3D 그래픽 모델을 스크린 상의 제1 시점 좌표계로 변환하는 단계를 더 포함하는 3D 그래픽 모델 입체 렌더링 방법.The method of claim 7, wherein
The setting of the first rendering method may include:
And changing the viewport set before the call to the rendering function to convert the 3D graphic model to a first view coordinate system on a screen at the first view.
상기 제2 렌더링 방식을 설정하는 단계는,
상기 렌더링 함수의 호출 전에 설정되어 있던 모델뷰 행렬 값을 변경하여 상기 3D 그래픽 모델의 시점을 제2 시점으로 변경하는 단계를 포함하는 3D 그래픽 모델 입체 렌더링 방법.The method of claim 7, wherein
The setting of the second rendering method may include:
And changing the viewpoint of the 3D graphic model to a second viewpoint by changing a model view matrix value set before the rendering function is called.
상기 제2 렌더링 방식을 설정하는 단계는,
상기 렌더링 함수의 호출 전에 설정되어 있던 투영 행렬 값을 변경하여 상기 제2 시점에서 상기 3D 그래픽 모델을 제2 시점의 가상 공간에 맵핑시키는 단계를 더 포함하는 3D 그래픽 모델 입체 렌더링 방법.12. The method of claim 11,
The setting of the second rendering method may include:
And changing the projection matrix value set before the call of the rendering function to map the 3D graphic model to the virtual space of the second view at the second view.
상기 제2 렌더링 방식을 설정하는 단계는,
상기 렌더링 함수의 호출 전에 설정되어 있던 뷰포트 행렬 값을 변경하여 상기 제2 시점에서 상기 3D 그래픽 모델을 스크린 상의 제2 시점 좌표계로 변환하는 단계를 더 포함하는 3D 그래픽 모델 입체 렌더링 방법.The method of claim 12,
The setting of the second rendering method may include:
And converting the 3D graphic model to a second view coordinate system on the screen at the second viewpoint by changing a viewport matrix value set before the rendering function is called.
상기 제1 렌더링 방식을 설정하는 단계는,
상기 렌더링 함수를 포함하는 그래픽 처리 함수가 호출되는 호출 순서를 저장하는 단계를 더 포함하고,
상기 호출 순서대로 호출되는 그래픽 처리 함수 중 렌더링 함수를 변경하여 상기 제2 렌더링 방식을 설정하는 3D 그래픽 모델 입체 렌더링 방법.The method of claim 7, wherein
The setting of the first rendering method may include:
Storing a call order in which a graphics processing function including the rendering function is called;
3D graphics model stereoscopic rendering method of setting the second rendering method by changing a rendering function of the graphics processing functions to be called in the calling order.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110025382A KR101227183B1 (en) | 2011-03-22 | 2011-03-22 | Apparatus and method for stereoscopic rendering 3-dimension graphic model |
PCT/KR2011/003962 WO2012128421A1 (en) | 2011-03-22 | 2011-05-31 | 3d graphic model spatial rendering device and 3d rendering method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110025382A KR101227183B1 (en) | 2011-03-22 | 2011-03-22 | Apparatus and method for stereoscopic rendering 3-dimension graphic model |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120107711A KR20120107711A (en) | 2012-10-04 |
KR101227183B1 true KR101227183B1 (en) | 2013-01-28 |
Family
ID=46879543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110025382A KR101227183B1 (en) | 2011-03-22 | 2011-03-22 | Apparatus and method for stereoscopic rendering 3-dimension graphic model |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101227183B1 (en) |
WO (1) | WO2012128421A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150121731A (en) * | 2014-04-18 | 2015-10-30 | 엔에이치엔엔터테인먼트 주식회사 | Rendering method and system for coproduction contents |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340956B (en) * | 2020-02-26 | 2024-02-06 | 陕西理工大学 | Space graph drawing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010023290A (en) * | 1998-06-30 | 2001-03-26 | 요트.게.아. 롤페즈 | Filter for transforming 3D data in a hardware accelerated rendering architecture |
KR20060082736A (en) * | 2005-01-13 | 2006-07-19 | 엘지전자 주식회사 | Method and apparatus for 3 dimension rendering processing using the monochromatic lighting |
KR20060088273A (en) * | 2005-02-01 | 2006-08-04 | 삼성전자주식회사 | Method for rendering 3d graphics data and apparatus therefore |
-
2011
- 2011-03-22 KR KR1020110025382A patent/KR101227183B1/en not_active IP Right Cessation
- 2011-05-31 WO PCT/KR2011/003962 patent/WO2012128421A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010023290A (en) * | 1998-06-30 | 2001-03-26 | 요트.게.아. 롤페즈 | Filter for transforming 3D data in a hardware accelerated rendering architecture |
KR20060082736A (en) * | 2005-01-13 | 2006-07-19 | 엘지전자 주식회사 | Method and apparatus for 3 dimension rendering processing using the monochromatic lighting |
KR20060088273A (en) * | 2005-02-01 | 2006-08-04 | 삼성전자주식회사 | Method for rendering 3d graphics data and apparatus therefore |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150121731A (en) * | 2014-04-18 | 2015-10-30 | 엔에이치엔엔터테인먼트 주식회사 | Rendering method and system for coproduction contents |
KR101675956B1 (en) * | 2014-04-18 | 2016-11-16 | 엔에이치엔엔터테인먼트 주식회사 | Rendering method and system for coproduction contents |
Also Published As
Publication number | Publication date |
---|---|
WO2012128421A1 (en) | 2012-09-27 |
KR20120107711A (en) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101556835B1 (en) | Stereoscopic conversion for shader based graphics content | |
KR101732836B1 (en) | Stereoscopic conversion with viewing orientation for shader based graphics content | |
KR101145260B1 (en) | Apparatus and method for mapping textures to object model | |
CN110546951B (en) | Composite stereoscopic image content capture | |
CN101477700B (en) | Real tri-dimension display method oriented to Google Earth and Sketch Up | |
CN108604385A (en) | A kind of application interface display methods and device | |
JP2014199617A (en) | Image generation system and program | |
US10217259B2 (en) | Method of and apparatus for graphics processing | |
CN115552451A (en) | Multi-layer reprojection techniques for augmented reality | |
CN101477702B (en) | Built-in real tri-dimension driving method for computer display card | |
JP2018101415A (en) | Method, apparatus, computer program and storage medium for determining lod for texturing cube map | |
JP2012190428A (en) | Stereoscopic image visual effect processing method | |
CN106204703A (en) | Three-dimensional scene models rendering intent and device | |
US20130210520A1 (en) | Storage medium having stored therein game program, game apparatus, game system, and game image generation method | |
KR100381817B1 (en) | Generating method of stereographic image using Z-buffer | |
CN101521828B (en) | Implanted type true three-dimensional rendering method oriented to ESRI three-dimensional GIS module | |
KR101227183B1 (en) | Apparatus and method for stereoscopic rendering 3-dimension graphic model | |
KR101227155B1 (en) | Graphic image processing apparatus and method for realtime transforming low resolution image into high resolution image | |
CN101511034A (en) | Truly three-dimensional stereo display method facing Skyline | |
JP4987890B2 (en) | Stereoscopic image rendering apparatus, stereoscopic image rendering method, stereoscopic image rendering program | |
CN101482978B (en) | ENVI/IDL oriented implantation type true three-dimensional stereo rendering method | |
US11915349B1 (en) | Extrusion technique for curve rendering | |
US10453247B1 (en) | Vertex shift for rendering 360 stereoscopic content | |
US11887228B2 (en) | Perspective correct vector graphics with foveated rendering | |
US20220270312A1 (en) | Perspective correct vector graphics rendering techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160122 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170123 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180122 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |