KR20070119853A - Real-time three-dimensional painting image rendering using octree texture - Google Patents

Real-time three-dimensional painting image rendering using octree texture Download PDF

Info

Publication number
KR20070119853A
KR20070119853A KR1020060054316A KR20060054316A KR20070119853A KR 20070119853 A KR20070119853 A KR 20070119853A KR 1020060054316 A KR1020060054316 A KR 1020060054316A KR 20060054316 A KR20060054316 A KR 20060054316A KR 20070119853 A KR20070119853 A KR 20070119853A
Authority
KR
South Korea
Prior art keywords
texture
node
octree
dimensional
painting image
Prior art date
Application number
KR1020060054316A
Other languages
Korean (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 KR1020060054316A priority Critical patent/KR20070119853A/en
Publication of KR20070119853A publication Critical patent/KR20070119853A/en

Links

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

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

Abstract

A real time three-dimensional painting image rendering using octree-texture is provided to render a three-dimensional painting image by using three-dimensional parameter information. An octree-texture of a mesh inputted from a CPU(Central Processing Unit) is generated and two-dimensional texture coordinates are indexed to generate a neighbor texture and a density texture. The lowermost node of the octree-texture is searched from a GPU. Water and dye density information of the corresponding node and a neighbor node are obtained by using index information of the lowermost node.

Description

옥트리 텍스쳐를 이용한 실시간 3차원 페인팅 이미지 렌더링 { Real-Time Three-Dimensional Painting Image Rendering Using Octree Texture }Real-Time Three-Dimensional Painting Image Rendering Using Octree Texture}

본 발명은 옥트리 텍스쳐를 이용한 실시간 3차원 페인팅 이미지 렌더링 방법에 관한 것으로서, 구체적으로 메쉬의 3차원 표면 정보를 볼륨 텍스쳐에 옥트리 구조로 저장한 뒤, GPU를 이용하여 3차원 표면상에서 파티클 시뮬레이션을 수행함으로써, 실시간으로 페인팅 효과를 렌더링하는 기법에 관한 것이다.The present invention relates to a real-time three-dimensional painting image rendering method using an octree texture, specifically, by storing the three-dimensional surface information of the mesh as an octree structure in the volume texture, by performing a particle simulation on the three-dimensional surface using a GPU It is about the technique of rendering painting effects in real time.

사람이 직접 그린 듯한 자연스러운 페인팅 이미지를 생성하기 위해 물, 물감, 종이 등의 상호작용을 시뮬레이션하는 방법은 비실사 렌더링의 주요 연구 분야 중에 하나이다. 대표적인 페인팅 시뮬레이션 방법은 물과 물감의 농도와 서로 다른 붓 터치 방식 그리고 다른 색상의 물감이 섞였을 때의 효과를 시뮬레이션하여 사람이 그린 듯한 페인팅 이미지를 렌더링하였다. 하지만 복잡하고 물리적인 상호 작용을 시뮬레이션하기 위해선 많은 연산 처리가 필요하기 때문에 실시간 적용에 많은 제약이 따른다. 또한 기존 방법은 종이 위에서 일어나는 2차원 시뮬레이션만을 다루고 있기 때문에 3차원으로 구현된 분야에서 새로운 기법이 필요하게 되었다.The method of simulating the interaction of water, paint, paper, etc. to create natural painting images that seem to be drawn by humans is one of the major research areas of non-realistic rendering. The typical painting simulation method simulates the effect of water and paint concentrations, different brush touch methods, and different color paints, rendering a painting image that looks like a human. However, simulating complex and physical interactions requires a great deal of computation, which places many constraints on real-time applications. In addition, the existing methods deal only with two-dimensional simulations occurring on paper, so new techniques are needed in the three-dimensional implementation.

본 발명이 이루고자 하는 기술적 과제는 위에서 언급한 문제점들을 해결하기 위한 것으로서, 옥트리 텍스쳐를 GPU를 이용해 탐색하고, 픽셀 쉐이더를 이용하여 시뮬레이션을 수행함으로써 실시간에 페인팅 이미지를 생성하는 것이다.The technical problem to be solved by the present invention is to solve the above-mentioned problems, it is to create a painting image in real time by searching the octree texture using a GPU, and performing a simulation using a pixel shader.

또한 3차원 파라미터 정보를 사용함으로써 2차원 페인팅 이미지가 아닌 3차원 페인팅 이미지를 렌더링하는데에 있다.In addition, by using the three-dimensional parameter information is to render a three-dimensional painting image, not a two-dimensional painting image.

이와 같은 목적을 달성하기 위한 본 발명의 특징에 따른 실시간 페인팅 이미지 렌더링 방법은 Real-time painting image rendering method according to a feature of the present invention for achieving the above object

CPU에서 입력으로 들어온 메쉬의 옥트리 텍스쳐를 생성하고 2차원 텍스쳐 좌표를 인덱싱하여 이웃 텍스쳐와 농도 텍스쳐를 생성하는 전처리 단계; 메쉬의 3차원 표면을 포함하는 상기 옥트리 텍스쳐의 최하위 노드를 GPU에서 탐색하는 단계; 탐색한 노드의 인덱스 정보를 이용하여 해당 노드와 이웃 노드의 물과 물감 농도 정보를 얻어오는 단계; 상기의 정보를 이용하여 시뮬레이션 식을 적용하는 단계를 포함한다.A preprocessing step of generating an octree texture of a mesh input as an input from a CPU and indexing two-dimensional texture coordinates to generate neighboring textures and density textures; Searching at the GPU for the lowest node of the octree texture comprising a three-dimensional surface of a mesh; Obtaining water and paint concentration information of a corresponding node and a neighboring node using index information of the found node; And applying a simulation equation using the above information.

이하에서는 본 발명의 실시 예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail.

본 발명의 실시 예에서는 옥트리 텍스쳐와 파티클 시뮬레이션을 사용하여, 입력된 메쉬를 3차원 페인팅 이미지로 렌더링하는 방법을 제안한다. 이 방법은 대부분의 과정이 GPU에서 처리되므로 실시간에 렌더링이 가능하며 3차원 요소를 시뮬레이션 파라미터로 사용할 수 있다는 장점이 있다.An embodiment of the present invention proposes a method of rendering an input mesh as a 3D painting image by using an octree texture and particle simulation. This method has the advantage of being able to render in real time because most of the process is performed on the GPU, and use three-dimensional elements as simulation parameters.

첫 단계에서는 우선적으로 입력된 3차원 메쉬의 정육면체 바운딩 볼륨을 생성하고 해당 볼륨을 최상위 노드로 하여 하위 노드를 분할해 나간다. 해당 노드를 분할할 것인지 판단하기 위해 노드의 볼륨 안에 폴리곤이 존재하는지 여부를 기존의 효율적인 육면체와 폴리곤의 교차테스트 방식으로 검사한다.In the first step, we first create a cube bounding volume of the input 3D mesh and divide the lower node using the volume as the top node. In order to determine whether to split the node, we check whether the polygon exists in the volume of the node using the existing efficient hexahedron and polygon cross test method.

사용자가 설정한 깊이까지 트리를 생성한 다음 이를 3차원 텍스쳐에 저장한다. 이 옥트리 텍스쳐는 8비트 RGBA 채널을 가지고있으며 각 노드의 타입에 따라 저장되는 데이터가 다르다.Create a tree up to the depth you set and store it in a 3D texture. This octree texture has an 8-bit RGBA channel and the data stored is different for each node type.

최하위 노드이면서 볼륨 안에 폴리곤을 가지고 있을 경우 2차원 텍스쳐 좌표를 RGB 중 두 개의 채널에 저장한다. 2차원 텍스쳐 좌표는 (0,0)부터 차례로 할당한다. 그리고 알파 채널에 1을 저장한다. 8개의 자식 노드를 가지고 있는 중간 노드는 옥트리 텍스쳐에서 8개의 자식 노드가 저장되어 있는 3차원 좌표를 RGB 채널에 저장한다. 그리고 알파 채널에 0.5를 저장한다. 마지막으로 아무 것도 가지고 있지않은 빈 노드는 RGBA 채널 모두에 0을 저장한다.If it is the lowest node and has a polygon in the volume, two-dimensional texture coordinates are stored in two channels of RGB. Two-dimensional texture coordinates are assigned in order from (0,0). And store 1 in the alpha channel. An intermediate node with eight child nodes stores the three-dimensional coordinates of eight child nodes in the octree texture in the RGB channel. And store 0.5 in the alpha channel. Finally, empty nodes that have nothing store zeros on all RGBA channels.

이웃 텍스쳐는 총 26장을 생성하는데 한 노드를 중심으로 X,Y,Z 세 방향으로 인접한 노드들의 RGBA 값을 텍스쳐에 저장한다. 농도 텍스쳐에는 해당 노드의 물과 물감의 초기 농도를 저장한다.The neighbor texture generates a total of 26 sheets, and stores the RGBA values of adjacent nodes in three directions of X, Y, and Z around one node in the texture. The concentration texture stores the initial concentrations of water and paint of the node.

지금까지의 첫 단계는 모두 CPU에 의해 처리되는 전처리 과정이다.The first steps so far are all preprocessing done by the CPU.

두 번째 단계는 렌더링이 필요한 메쉬의 표면 정보를 얻기 위해 옥트리 텍스쳐를 탐색하는 과정이다. 픽셀 쉐이더를 통해 이루어지며 텍스쳐 메모리에 저장된 트리 구조를 탬색하여 해당 표면의 농도 정보나 이웃 노드 정보를 접근하기 위함이다.The second step is to search the octree texture to get the surface information of the mesh to render. This is done through the pixel shader and searches the tree structure stored in the texture memory to access density information of the surface or neighbor node information.

찾고자 하는 3차원 텍스쳐 좌표가 M이라 하고 현재 방문중인 노드의 깊이를 D라고 하자. 깊이 D에서의 2 * 2 * 2 영역의 인덱스를 ID 라고 하면 I0 은 (0,0,0)이다.Let's say that the three-dimensional texture coordinate we are looking for is M and the depth of the node we are visiting is D. Index 2 * 2 * 2 area at depth D I D Speak I 0 Is (0,0,0).

따라서 현재 방문중인 ID 에서 M의 좌표를 계산하는 공식은 다음과 같다.Therefore, the formula for calculating the coordinates of M in the current visit I D is

Figure 112006042267775-PAT00001
Figure 112006042267775-PAT00001

수학식1에서 P에 저장된 알파 값을 통해 현재 노드의 타입을 판단할 수 있다.In Equation 1, the type of the current node may be determined based on an alpha value stored in P.

알파 값이 0일 경우 빈 노드이므로 더 이상 진행하지 않으며, 알파 값이 1일 경우는 폴리곤이 포함된 최하위 노드이므로 R,G,B 채널을 통해 2차원 텍스쳐 좌표를 얻 는다. 알파 값이 0.5일 경우는 자식 노드가 존재하는 중간 노드이므로 R,G,B값은 ID+1 이다. 그러므로 다음 깊이로 탐색을 진행한다.If the alpha value is 0, it will not proceed any further because it is an empty node. If the alpha value is 1, it is the lowest node that contains polygons, so 2D texture coordinates are obtained through the R, G, and B channels. If the alpha value is 0.5, the R, G, and B values are I D + 1 because they are intermediate nodes with child nodes. Therefore, proceed to the next depth.

모든 폴리곤은 폴리곤이 포함된 최하위 노드에 속해 있으므로 실제 예에서는 빈 노드를 참조하는 경우가 없다. 따라서 무조건 트리의 깊이만큼 반복문을 수행하여 최하위 노드에 접근한다.All polygons belong to the lowest node that contains the polygon, so in our example we never refer to an empty node. Therefore, the loop is accessed as deep as the tree to access the lowest node.

다음 단계에서는 이전 단계를 통해 얻은 노드의 인덱스 정보를 이용하여 해당 노드와 이웃 노드의 물과 물감 농도 정보를 얻어온다. 폴리곤을 포함한 최하위 노드의 RGB 채널 중 두 개의 채널은 U,V 텍스쳐 좌표가 저장되어 있다. 해당 좌표를 이용하여 농도 텍스쳐에 접근하면 노드의 물과 물감 농도 정보를 얻을 수 있다.In the next step, water and paint concentration information of the node and neighbor nodes is obtained using the index information of the node obtained in the previous step. Two of the RGB channels of the lowest node, including polygons, contain U and V texture coordinates. By accessing the concentration texture using the coordinates, we can get the water and paint concentration information of the node.

물과 물감의 이류를 시뮬레이션하기 위해선 주변 노드의 정보가 필요하다. 위 단계에서 얻은 U,V 좌표로 이웃 텍스쳐에 접근하여 이웃 노드의 인덱스 정보를 얻는다. 이웃 텍스쳐에서 얻은 U,V 좌표를 이용하여 다시 농도 텍스쳐에 접근하면 이웃 노드의 물과 물감의 농도 정보를 얻을 수 있다.In order to simulate water and paint advection, we need information from neighboring nodes. The neighboring texture is accessed using the U and V coordinates obtained in the above step to obtain index information of the neighbor node. When the density texture is accessed again using the U and V coordinates obtained from the neighbor texture, the concentration information of water and paint of the neighbor node can be obtained.

마지막 단계는 옥트리 텍스쳐, 이웃 텍스쳐, 농도 텍스쳐를 통해 얻은 정보들을 바탕으로 파티클 시뮬레이션을 수행한다. 파티클 시뮬레이션은 Lattice Boltzmann Equation에 의해 이루어진다. 식은 다음과 같다.The final step is to perform the particle simulation based on the information obtained from the octree texture, neighbor texture, and density texture. Particle simulation is done by Lattice Boltzmann Equation. The equation is

Figure 112006042267775-PAT00002
Figure 112006042267775-PAT00002

사용자의 선택에 따라 파라미터를 적용시킬 수 있는데 빛의 방향에 따른 밝기, 카메라와의 거리, 노멀 등의 값을 이용하여 파티클의 이동 속성을 설정할 수 있다.Parameters can be applied according to the user's choice. The movement properties of the particles can be set using values such as brightness, distance from the camera, and normals according to the light direction.

이상에서 설명한 바와 같이 본 발명의 방법으로 실시간에 3차원 페인팅 이미지를 렌더링하는 것이 가능하다.As described above, it is possible to render a 3D painting image in real time by the method of the present invention.

Claims (2)

3차원 페인팅 이미지를 실시간에 렌더링하는 실시간 비실사 렌더링 기법Real-time non-realistic rendering technique that renders 3D painting images in real time Lattice Boltzmann Equation에 3차원 공간 정보를 파타미터를 적용하는 방법How to apply 3D spatial information parameter to Lattice Boltzmann Equation
KR1020060054316A 2006-06-16 2006-06-16 Real-time three-dimensional painting image rendering using octree texture KR20070119853A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060054316A KR20070119853A (en) 2006-06-16 2006-06-16 Real-time three-dimensional painting image rendering using octree texture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060054316A KR20070119853A (en) 2006-06-16 2006-06-16 Real-time three-dimensional painting image rendering using octree texture

Publications (1)

Publication Number Publication Date
KR20070119853A true KR20070119853A (en) 2007-12-21

Family

ID=39137921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060054316A KR20070119853A (en) 2006-06-16 2006-06-16 Real-time three-dimensional painting image rendering using octree texture

Country Status (1)

Country Link
KR (1) KR20070119853A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334290A (en) * 2019-06-28 2019-10-15 中南大学 A kind of space-time data method for quickly retrieving based on MF-Octree

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110334290A (en) * 2019-06-28 2019-10-15 中南大学 A kind of space-time data method for quickly retrieving based on MF-Octree
CN110334290B (en) * 2019-06-28 2021-12-03 中南大学 MF-Octree-based spatio-temporal data rapid retrieval method

Similar Documents

Publication Publication Date Title
Cohen et al. Wang tiles for image and texture generation
US10380790B2 (en) System and methods for generating procedural window lighting effects
KR20160088902A (en) Volume rendering polygons for 3-d printing
Graciano et al. Real-time visualization of 3D terrains and subsurface geological structures
Novák et al. Rasterized bounding volume hierarchies
Kratt et al. Woodification: User‐Controlled Cambial Growth Modeling
Unver et al. Virtual stonehenge reconstruction
Tanveer et al. Simulate forest trees by integrating l-system and 3d cad files
Sanchez et al. Space-time transfinite interpolation of volumetric material properties
CN116452735A (en) Octree-based data processing method, octree-based data processing device and computer-readable storage medium
KR20070119853A (en) Real-time three-dimensional painting image rendering using octree texture
Bridault-Louchez et al. Enhanced illumination of reconstructed dynamic environments using a real-time flame model
Dietrich et al. Terrain guided multi-level instancing of highly complex plant populations
Sexton et al. Vectorization of gridded urban land use data
Easton et al. Axial generation: a concretism-inspired method for synthesizing highly varied artworks
Cui Procedural cave generation
Izani et al. Photorealistic rendering for the Prophet Mosque in 3D Media: Issues and solutions
Skorkovská et al. Complex multi-material approach for dynamic simulations
Song et al. Shell radiance texture functions
Nadig Example-Based Terrain Authoring with Complex Features
Adamopoulos et al. A Multifragment Renderer for Material Aging Visualization.
Chandler et al. Procedural window lighting effects for real-time city rendering
Beebe A Bibliography of Computer Graphics Forum: 1982–2009
Taha Using Cohen Sutherland Line Clipping Algorithm to Generate 3D Models from 2D
Roure et al. Hierarchical Radiosity for Procedural Urban Environments.

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination