KR100803216B1 - 3차원 그래픽 데이터를 저작하는 방법 및 장치 - Google Patents
3차원 그래픽 데이터를 저작하는 방법 및 장치 Download PDFInfo
- Publication number
- KR100803216B1 KR100803216B1 KR1020060095038A KR20060095038A KR100803216B1 KR 100803216 B1 KR100803216 B1 KR 100803216B1 KR 1020060095038 A KR1020060095038 A KR 1020060095038A KR 20060095038 A KR20060095038 A KR 20060095038A KR 100803216 B1 KR100803216 B1 KR 100803216B1
- Authority
- KR
- South Korea
- Prior art keywords
- rendering
- rendering function
- memory
- function
- stored
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 3차원 그래픽 데이터를 저작하는 방법 및 장치에 관한 것으로서, 본 발명에 따른 3차원 그래픽 데이터 저작 방법은 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하고, 상기 생성된 렌더링 함수를 포함하는 전체 렌더링 함수가 소정 개수 이상인지 판단하고, 상기 판단 결과에 따라 상기 전체 렌더링 함수 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작함으로써, 저작 중인 3차원 그래픽 데이터가 재생될 때에 사용되는 렌더링 함수의 개수를 제한할 수 있으며, 따라서 3차원 그래픽 데이터의 재생시에 발생할 수 있는 렌더링 성능의 저하를 저작 단계에서 방지할 수 있다.
Description
도 1은 본 발명의 바람직한 일 실시예에 따른 3차원 그래픽 데이터 저작 장치의 구성도.
도 2a는 버텍스 처리를 위한 코드블록들의 일 예를 나타난 표.
도 2b는 픽셀 처리를 위한 코드블록들들의 일 예를 나타난 표.
도 3은 도 1의 렌더링 함수 생성부에서 생성될 수 있는 렌더링 함수의 예들.
도 4는 본 발명의 바람직한 일 실시예에 따른 3차원 그래픽 데이터 저작 방법의 흐름도
도 5는 본 발명의 바람직한 다른 실시예에 따른 3차원 그래픽 데이터 저작 방법의 흐름도.
도 6은 본 발명의 일 실시예에 따른 3차원 그래픽 데이터 저작 방법을 설명하기 위한 3차원 그래픽 데이터의 일 예이다.
본 발명은 3차원 그래픽 데이터를 저작하는 방법, 장치 및 그 방법을 수행하 는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 관한 것이다.
2차원 화면에 3차원 물체를 출력하기 위한 3차원 그래픽 데이터를 기술하는 방식에는 표준기술인 VRML(Virtual Reality Modeling Language) 등이 있다. 3차원 그래픽 데이터는 3차원 공간상에 위치하는 물체들의 기하학적 정보, 물체들의 재질(material) 정보 및 시간에 따른 이러한 정보들의 변화에 관한 정보 등을 포함한다. 예를 들어, 기하학적 정보는 물체를 구성하는 3차원 점(vertex)들의 위치와 이들의 연결 정보 등을 포함하고, 재질 정보는 물체의 질감, 투명도, 물체의 색깔, 물체 표면의 빛 반사도, 광원의 위치와 특성에 관한 정보 등을 포함한다.
이러한 3차원 그래픽 데이터를 읽어들여서 화면에 출력하기 위해서는 읽어들인 3차원 그래픽 데이터의 의미를 해석하고 데이터 변환을 하는 장치가 필요하다. 통상 이러한 장치를 3차원 그래픽 렌더링 엔진(3D Graphics Rendering Engine) 이라고 한다. 3차원 그래픽 렌더링 엔진은 해석기(Parser)와 렌더링기(Renderer)를 구비한다. 해석기는 3차원 그래픽 데이터를 읽어들여서 해석하는 부분이다. 즉, 읽어들인 데이터가 물체에 대한 기하학적 정보인지, 물체의 재질 정보인지 또는 장면 그래프 구조에 기인한 물체들간의 종속 관계에 대한 정보인지 등을 식별하고, 해석 및 판단하는 일을 수행한다. 렌더링기는 해석기에 의해 해석된 결과에 해당하는 장면 그래프를 렌더링하여 화면에 출력하는 작업을 한다.
그런데, 이와 같은 종래의 렌더링 엔진은 렌더링 함수가 하나로 구성되어 3차원 데이터를 처리할 수 있는 모든 코드를 모두 포함하고 있다. 종래의 렌더링 엔진은 3차원 그래픽 데이터의 특성을 무시한 채, 고정된 렌더링 함수를 이용하여 모 든 그래픽 데이터를 동일한 방식으로 렌더링하므로, 불필요한 기능들을 수행하는 코드들을 상당량 포함하게 되고, 그에 따라 렌더링 함수의 크기가 불필요하게 커지는 문제가 발생하였다. 렌더링 함수의 크기가 커지게 되면 계산량이 많아지게 되어 렌더링 속도가 저하되는 문제가 발생한다.
이를 해결하기 위하여, 3차원 그래픽 데이터의 특성을 고려하여 생성되고, 종래의 렌더링 함수보다 크기가 줄어든 복수 개의 렌더링 함수를 사용하여 3차원 그래픽 데이터를 렌더링함으로써 렌더링 속도를 향상시킬 수 있는 렌더링 방법 및 장치가 최근에 연구되고 있다.
그러나 이와 같이 크기가 줄어든 복수 개의 렌더링 함수를 사용하여 3차원 그래픽 데이터를 렌더링하는 경우에도, 렌더링 장면이 복잡해지면서 렌더링 함수의 개수가 많아지게 되면 렌더링 함수를 생성하는 과정에서의 계산량이 증가되어 렌더링 성능이 저하될 수 있다.
본 발명이 이루고자 하는 기술적 과제는 저작 중인 3차원 그래픽 데이터가 재생될 때에 사용되는 렌더링 함수의 개수를 제한할 수 있도록 하는 3차원 그래픽 데이터 저작 방법 및 장치를 제공하는 데 있다. 또한 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 3차원 그래픽 데이터 저작 방법은, 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 단계; 상기 생성된 렌더링 함수를 포함하는 전체 렌더링 함수가 소정 개수 이상인지 판단하는 단계; 및 상기 판단 결과에 따라 상기 전체 렌더링 함수 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작하는 단계를 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명에 따른 3차원 그래픽 데이터 저작 장치는, 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 렌더링 함수 생성부; 상기 생성된 렌더링 함수를 포함하는 전체 렌더링 함수가 소정 개수 이상인지 판단하는 판단부; 및 상기 판단 결과에 따라 상기 전체 렌더링 함수 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작할 것을 요청하는 출력부를 포함하는 것을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명에 따른 3차원 그래픽 데이터 저작 장치는, 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 렌더링 함수 생성부; 상기 렌더링 함수를 저장하는 메모리; 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 판단부; 및 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상이라고 판단되면, 상기 메모리에 저장된 렌더링 함수 중에서 상기 저작된 객체의 특성에 대응하는 렌더링 함수와 가장 유사한 렌더링 함수를 검색하고, 상기 저작된 객체의 특성을 상기 검색된 렌더링 함수에 대응하도록 수정하는 객체 수정부를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위하여 해결하기 위하여, 본 발명에 따른 3차원 그래픽 데이터 저작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 방법은 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 단계; 상기 생성된 렌더링 함수를 포함하는 전체 렌더링 함수가 소정 개수 이상인지 판단하는 단계; 및 상기 판단 결과에 따라 상기 전체 렌더링 함수 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작하는 단계를 포함하는 것을 특징으로 한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 3차원 그래픽 데이터 저작 장치(100)의 구성도이다.
도 1을 참조하면, 본 실시예에 따른 3차원 그래픽 데이터 저작 장치(100)는 저작부(110), 객체 분석부(112), 렌더링 함수 생성부(114), 코드블록 저장부(120), 메모리(130), 검색부(140), 판단부(150), 객체 수정부(160), 출력부(170), 그래픽 데이터 저장부(180)로 구성된다. 본 실시예에 따른 저작 장치는 3ds 맥스(3ds max)나 마야(Maya) 등과 같이 사용자로부터 명령을 입력받아 3차원 그래픽 데이터를 저작하는 장치이다.
저작부(110)는 사용자로부터 3차원 그래픽 데이터를 구성하는 객체의 데이터에 관한 명령을 입력받고, 객체를 저작한다. 즉, 사용자가 저작 장치(100)의 유저 인터페이스(미도시)를 통하여 객체의 데이터에 관한 명령을 입력하면, 저작부(110)는 이 입력에 따라 객체를 저작한다.
객체 분석부(112)는 상기 저작된 객체의 데이터를 입력받고, 객체의 특성을 분석한다. 객체 분석부(110)로 입력되는 데이터는 개략적으로 버텍스(vertex)의 특징, 버텍스들이 모여 구성되는 하나의 집합인 프리미티브(primitive)의 특징, 버텍스의 처리(vertex processing) 및 픽셀의 처리(pixel processing)와 관련된 렌더링 상태(rendering state)의 정보를 포함한다.
코드블록 저장부(120)는 소정 기능을 수행하는 코드로 이루어진 코드블록을 저장하고 있다. 코드블록의 일 예가 도 2a 및 도 2b에 도시되어 있다. 도 2a에 도시된 코드블록은 버텍스 처리를 위한 코드블록들을 나타내고, 도 2b에 도시된 코드블록은 픽셀 처리를 위한 코드블록들을 나타낸다. 각각의 코드블록은 예를 들면, 클리핑을 위해 버텍스를 스크린 좌표계에서 카메라 좌표계로 변환하는 기능을 수행하는 명령어들의 묶음 또는 클립 코드를 생성하는 기능을 수행하는 명령어들의 묶음이다.
도 2a 및 도 2b에 나타나 있는 각 코드블록의 내용은 버텍스 처리 및 픽셀 처리를 위해 필요한 코드블록들의 예를 나타낸 것으로, 이것은 예시적인 것일 뿐이고, 각 코드블록의 세부적인 의미나 내용은 본 발명의 범위를 벗어나므로 각 코드블록의 상세한 설명은 생략하기로 한다.
렌더링 함수 생성부(114)는 객체 분석부(112)에서 분석한 객체의 특성 정보에 기초하여 그 특성 정보에 대응하는 코드블록을 코드블록 저장부(120)로부터 읽어오고, 읽어온 코드블록들을 조합하여, 저작된 객체의 특성에 대응하는 렌더링 함수를 생성한다. 3차원 그래픽 데이터에는 다수의 객체가 포함되어 있다. 렌더링 함 수 생성부(114는 3차원 그래픽 데이터의 저작 과정에서 저작부(110)가 각 객체를 저작할 때마다 저작된 객체의 특성에 대응하는 렌더링 함수를 생성한다.
도 3은 렌더링 함수 생성부(114)에서 생성될 수 있는 렌더링 함수의 예들을 나타낸다. 도 3을 참조하면, 렌더링 함수 1은 코드블록 C1, C2, C3, C4로 구성되고, 렌더링 함수 2는 코드블록 C5, C6, C12, C15, C16, C21, C22로 구성된다.
렌더링 함수 생성부(114)는 생성된 렌더링 함수를 메모리(130)에 저장한다. 다만, 각 객체에 대응하는 렌더링 함수가 생성될 때마다 항상 저장하는 것은 아니다. 서로 다른 객체라 하더라도 특성이 동일하거나 유사하여 각 객체에 대응하는 렌더링 함수가 동일할 수 있으므로, 생성된 렌더링 함수가 메모리(130)에 이미 존재하는 렌더링 함수와 동일한 경우, 메모리(130)에 저장할 필요가 없다. 따라서, 렌더링 함수 생성부(114)는 판단부(150)가 출력하는 제어 신호에 응답하여, 생성된 렌더링 함수가 메모리(130)에 존재하지 않고, 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상이 아닌 경우에, 생성된 렌더링 함수를 메모리(130)에 저장한다.
검색부(140)는 렌더링 함수 생성부(114)에서 생성된 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재하는지 검색하고, 상기 생성된 렌더링 함수와 동일한 렌더링 함수가 존재하지 않는 것으로 나타나면 판단부(150)로 제어 신호를 출력한다.
판단부(150)는 검색부(140)로부터 제어 신호를 입력받으면 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상인지 판단한다. 여기서 소정 개수는 현 재 저작 중인 3차원 그래픽 데이터가 재생될 렌더링 엔진의 특성에 따라 결정되는 값으로, 렌더링 엔진에서 재생 성능의 저하가 일어나지 않도록 하는 렌더링 함수의 최대 허용 개수임이 바람직하다. 그러나 상기 소정 개수는 요구되는 재생 품질에 따라 유동적으로 결정될 수 있는 값이다.
메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상이 아닌 것으로 판단되면, 판단부(130)는 렌더링 함수 생성부(114)로 제어 신호를 출력한다. 그러나 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상인 것으로 판단되면, 판단부(130)는 객체 수정부(160) 또는 출력부(170)로 제어 신호를 출력한다.
객체 수정부(160)는 판단부(130)로부터 제어 신호를 받으면, 메모리(130)에 저장된 렌더링 함수 중 렌더링 함수 생성부(114)에 의해 생성된 렌더링 함수와 가장 유사한 렌더링 함수를 검색하고, 저작부(110)에 의해 저작된 객체의 특성을 상기 검색된 렌더링 함수에 대응하도록 수정한 후, 수정된 객체를 그래픽 데이터 저장부(180)에 저장한다. 보다 구체적으로 설명하면, 객체 수정부(160)는 메모리(130)에 저장된 렌더링 함수들 중에서 렌더링 함수 생성부(114)에 의해 생성된 렌더링 함수와 코드블록이 가장 많이 중복되는 렌더링 함수를 검색한다. 그리고 저작된 객체의 특성이 상기 검색된 렌더링 함수에 포함된 각 코드블록이 수행하는 기능에 대응되도록 저작된 객체가 가지고 있는 여러 가지 특성 중 일부를 변형한다.
출력부(170)는 판단부(130)로부터 제어 신호를 받으면, 사용자에게 현재 저작 중인 3D 그래픽 데이터를 재생하는 데 필요한 렌더링 함수의 개수가 소정 개수를 초과했음을 알리는 경고 메시지를 출력하고 객체의 재저작을 요청한다. 이 때, 사용자는 저작된 객체와 가장 유사한 객체를 앞서 저작된 객체들 중에서 찾아내어, 상기 찾아낸 객체의 특성에 맞추어 저작된 객체를 재편집한다.
도 1에 도시된 바에 따른 3차원 그래픽 데이터 저작 장치는 객체 수정부(160)와 출력부(170)를 선택적으로 구비할 수 있다. 즉, 객체 수정부(160)만 구비할 수도 있고, 출력부(170)만 구비할 수도 있다. 나아가, 객체 수정부(160)와 출력부(170)를 모두 구비함으로써, 사용자는 출력부(160)의 요청에 따라 사용자 스스로 객체를 재편집할 수도 있고, 객체 수정부(170)가 저작된 객체의 특성을 수정하도록 할 수도 있다.
도 4는 본 발명의 바람직한 일 실시예에 따른 3차원 그래픽 데이터 저작 방법의 흐름도이다. 이하 도 1과 결부시켜 설명하기로 한다.
410단계에서 3차원 그래픽 데이터 저작 장치(100)는 사용자로부터 3차원 그래픽 데이터를 구성하는 객체의 데이터에 관한 명령을 입력받고, 객체를 저작한다.
420단계에서 3차원 그래픽 데이터 저작 장치(100)는 저작된 객체의 특성을 분석한다.
430단계에서 3차원 그래픽 데이터 저작 장치(100)는 상기 분석한 객체의 특성 정보에 기초하여 그 특성 정보에 대응하는 코드블록들을 코드블록 저장부(120)로부터 읽어오고, 읽어온 코드블록들을 조합하여, 상기 저작된 객체의 특성에 대응하는 렌더링 함수를 생성한다.
440단계에서 3차원 그래픽 데이터 저작 장치(100)는 메모리(130)를 검색하고, 상기 생성된 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재하는지 판단한다. 이 때, 상기 생성된 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재하는 것으로 판단되면, 490단계로 진행하고, 상기 생성된 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재하지 않는 것으로 판단되면 450단계로 진행한다.
490단계에서 3차원 그래픽 데이터 저작 장치(100)는 사용자가 3차원 그래픽 데이터의 저작을 계속할 것인지 판단하고, 저작을 계속할 것으로 판단되면, 410단계로 진행한다.
450단계에서 3차원 그래픽 데이터 저작 장치(100)는 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상인지 판단한다. 이 때 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상인 것으로 판단되면 460단계로 진행하고, 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상이 아닌 것으로 판단되면 480단계로 진행한다.
480단계에서 3차원 그래픽 데이터 저작 장치(100)는 상기 생성된 렌더링 함수를 메모리(130)에 저장한다. 결과적으로, 3차원 그래픽 데이터 저작 장치(100)는 상기 생성된 렌더링 함수가 메모리(130)에 존재하지 않고, 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상이 아닌 경우에, 상기 생성된 렌더링 함수를 메모리(130)에 저장한다.
460단계에서 3차원 그래픽 데이터 저작 장치(100)는 메모리(130)에 저장된 렌더링 함수 중 상기 생성된 렌더링 함수와 가장 유사한 렌더링 함수를 검색하고, 저작된 객체의 특성을 상기 검색된 렌더링 함수에 대응하도록 수정한다.
도 5는 본 발명의 바람직한 다른 실시예에 따른 3차원 그래픽 데이터 저작 방법의 흐름도이다. 이하 도 1과 결부시켜 설명하기로 한다.
510단계 내지 540단계, 580단계 및 590단계는 도 4의 410단계 내지 440단계, 480단계 및 490단계와 각각 동일하므로 설명은 생략하기로 한다.
550단계에서 3차원 그래픽 데이터 저작 장치(100)는 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상인지 판단한다. 이 때 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상인 것으로 판단되면 560단계로 진행하고, 메모리(130)에 저장된 렌더링 함수의 개수가 소정 개수 이상이 아닌 것으로 판단되면 580단계로 진행한다.
560단계에서 3차원 그래픽 데이터 저작 장치(100)는 저작 중인 3D 그래픽 데이터를 재생하는 데 필요한 렌더링 함수의 개수가 소정 개수를 초과했음을 알리는 경고 메시지를 출력하고 객체의 재저작을 요청한다.
570단계에서 사용자가 객체를 재저작하면 520단계로 진행하여, 3차원 그래픽 데이터 저작 장치(100)는 상기 재편집된 객체의 특성을 분석한다.
도 6은 본 발명의 일 실시예에 따른 3차원 그래픽 데이터 저작 방법을 설명하기 위한 3차원 그래픽 데이터의 일 예이다. 여기서 객체는 도로(610), 풀(620), 집(630), 제1자동차(640), 제2자동차(650), 제1나무(660), 제2나무(670)가 있다. 이와 같은 3차원 그래픽 데이터를 저작하고자 할 때 본 발명의 일 실시예에 따른 3차원 그래픽 데이터 저작 방법을 설명하기로 한다. 이하 도 1과 결부시켜 설명하기로 한다.
편의상, 도 6의 3차원 그래픽가 재생될 렌더링 엔진에서 재생 성능의 저하가 일어나지 않도록 하는 렌더링 함수의 최대 허용 개수를 5개라고 가정한다. 또한, 제1자동차(640) 및 제2자동차(650)에 각각 대응하는 렌더링 함수는 동일하고, 제1나무(660) 및 제2나무(670)에 각각 대응하는 렌더링 함수는 동일하지는 않으나, 다른 객체들의 렌더링 함수에 비하여 가장 유사한 것으로 가정한다.
먼저 저작부(110)가 도로(610) 객체를 저작하면, 렌더링 함수 생성부(114)는 도로(610) 객체에 대응하는 랜더링 함수를 생성하여 메모리(130)에 저장한다. 이와 마찬가지로, 저작부(110)가 풀(620) 객체, 집(630) 객체, 제1자동차(640) 객체 등을 저작할 때마다 렌더링 함수 생성부(114)는 각 객체에 대응하는 렌더링 함수를 저작하여 메모리에 저장한다. 따라서 지금까지 메모리에 저장된 렌더링 함수는 4개가 된다.
저작부(110)가 제2자동차(650) 객체를 저작하면, 렌더링 함수 생성부(114)는 제2자동차 객체(650)에 대응하는 렌더링 함수를 생성한다. 검색부(140)는 제2자동차 객체(650)에 대응하는 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재하는지 검색한다. 제2자동차 객체(650)에 대응하는 렌더링 함수와 동일한 렌더링 함수가 메모리에 이미 저장되어 있으므로, 렌더링 함수 생성부(114)는 제2자동차 객체(550)에 대응하는 렌더링 함수는 메모리(130)에 저장할 필요가 없다.
저작부(110)가 제1나무(660) 객체를 저작하면, 렌더링 함수 생성부(114)는 제1나무(660) 객체에 대응하는 렌더링 함수를 생성한다. 검색부(140)는 제1나무(660) 객체에 대응하는 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재 하는지 검색한다. 제1나무(660) 객체에 대응하는 렌더링 함수와 동일한 렌더링 함수는 메모리(130)에 저장되어 있지 않으므로, 판단부(150)는 메모리(130)에 저장된 렌더링 함수의 개수가 5개 이상인지 판단한다. 메모리(130)에 저장된 렌더링 함수의 개수는 현재 4개로 5개 이상이 아니므로, 렌더링 함수 생성부(114)는 제1나무(660) 객체에 대응하는 렌더링 함수를 메모리(130)에 저장한다.
저작부(110)가 제2나무(670) 객체를 저작하면, 렌더링 함수 생성부(114)는 제2나무(670) 객체에 대응하는 렌더링 함수를 생성한다. 검색부(140)는 제2나무(670) 객체에 대응하는 렌더링 함수와 동일한 렌더링 함수가 메모리(130)에 존재하는지 검색한다. 제2나무(670) 객체에 대응하는 렌더링 함수와 동일한 렌더링 함수는 메모리(130)에 존재하지 않으므로, 판단부(150)는 메모리(130)에 저장된 렌더링 함수의 개수가 5개 이상인지 판단한다. 현재 메모리(130)에 저장된 렌더링 함수는 5개이므로, 객체 수정부(160)는 메모리(130)에 저장된 렌더링 함수 중 제2나무(670) 객체에 대응하는 렌더링 함수와 가장 유사한 렌더링 함수를 검색하고, 제2나무(670) 객체의 특성을 상기 검색된 렌더링 함수에 대응하도록 수정한다. 이 경우, 메모리(130)에 저장된 렌더링 함수 중 제2나무(670) 객체에 대응하는 렌더링 함수와 가장 유사한 렌더링 함수는 제1나무(660) 객체에 대응하는 렌더링 함수이므로, 객체 수정부(160)는 제2나무(670) 객체의 특성을 제1나무(660) 객체에 대응하는 렌더링 함수에 대응하도록 수정한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동 작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
본 발명에 의하면, 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하고, 렌더링 함수가 소정 개수 이상이라고 판단되면, 상기 객체를 달리 저작함으로써, 저작 중인 3차원 그래픽 데이터가 재생될 때에 사용되는 렌더링 함수의 개수를 제한할 수 있다. 따라서 3차원 그래픽 데이터의 재생시에 발생할 수 있는 렌더링 성능의 저하를 저작 단계에서 방지할 수 있다.
Claims (17)
- (a) 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 단계;(b) 상기 생성된 렌더링 함수와 동일한 렌더링 함수가 소정의 저장장치에 저장되어 있지 않으면, 상기 저장장치에 저장되어 있는 렌더링 함수가 소정 개수 이상인지 판단하는 단계; 및(c) 상기 판단 결과에 따라 상기 저장장치에 저장되어 있는 렌더링 함수들 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작하는 단계를 포함하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 제1항에 있어서,상기 생성된 렌더링 함수는 상기 객체의 특성에 대응하는 소정 기능을 수행하는 단위인 코드블럭의 조합으로 이루어진 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 제1항에 있어서, 상기 (a) 단계는상기 객체의 특성을 분석하는 단계; 및상기 분석에 기초하여 상기 객체의 특성에 대응하는 소정 기능을 수행하는 단위인 코드블록을 조합하여 렌더링 함수를 생성하는 단계를 포함하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 제1항에 있어서,(d) 상기 렌더링 함수를 메모리에 저장하는 단계를 더 포함하고,상기 (b) 단계는 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 제4항에 있어서,상기 (b) 단계는 상기 생성된 렌더링 함수가 상기 메모리에 존재하지 않는 경우, 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 것을 특징으로 하고,상기 (d) 단계는 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상이 아닌 것으로 판단되면 상기 생성된 렌더링 함수를 상기 메모리에 저장하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 제1항에 있어서, 상기 (c) 단계는상기 전체 렌더링 함수가 소정 개수 이상이라고 판단되면, 사용자의 입력에 따라 상기 객체를 재저작하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 제4항에 있어서, 상기 (c) 단계는상기 메모리에 저장된 렌더링 함수가 소정 개수 이상이라고 판단되면, 상기 메모리에 저장된 렌더링 함수 중에서 상기 저작된 객체의 특성에 대응하는 렌더링 함수와 코드 블록이 가장 많이 중복되는 렌더링 함수를 검색하는 단계;상기 저작된 객체의 특성을 상기 검색된 렌더링 함수에 대응하도록 수정함으로써 상기 객체를 재저작하는 단계를 포함하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법.
- 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 렌더링 함수 생성부;상기 생성된 렌더링 함수와 동일한 렌더링 함수가 소정의 저장장치에 저장되어 있지 않으면, 상기 저장장치에 저장되어 있는 렌더링 함수가 소정 개수 이상인지 판단하는 판단부; 및상기 판단 결과에 따라 상기 저장장치에 저장되어 있는 렌더링 함수들 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작할 것을 요청하는 출력부를 포함하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제8항에 있어서,상기 생성된 렌더링 함수는 상기 객체의 특성에 대응하는 소정 기능을 수행하는 단위인 코드블럭의 조합으로 이루어진 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제8항에 있어서,상기 객체의 특성을 분석하는 객체 분석부를 더 포함하고,상기 렌더링 함수 생성부는 상기 분석에 기초하여 상기 객체의 특성에 대응하는 소정 기능을 수행하는 단위인 코드블록을 조합하여 렌더링 함수를 생성하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제8항에 있어서,상기 렌더링 함수를 저장하는 메모리를 더 포함하고,상기 판단부는, 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제11항에 있어서,상기 판단부는 상기 생성된 렌더링 함수가 상기 메모리에 존재하지 않는 경우, 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 것을 특징으로 하고,상기 렌더링 함수 생성부는 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상이 아닌 것으로 판단되면 상기 생성된 렌더링 함수를 상기 메모리에 저장하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 렌더링 함수 생성부;상기 렌더링 함수를 저장하는 메모리;상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 판단부; 및상기 메모리에 저장된 렌더링 함수가 소정 개수 이상이라고 판단되면, 상기 메모리에 저장된 렌더링 함수 중에서 상기 저작된 객체의 특성에 대응하는 렌더링 함수와 코드 블록이 가장 많이 중복되는 렌더링 함수를 검색하고, 상기 저작된 객체의 특성을 상기 검색된 렌더링 함수에 대응하도록 수정하는 객체 수정부를 포함하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제13항에 있어서,상기 판단부는, 상기 생성된 렌더링 함수가 상기 메모리에 존재하지 않는 경우, 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상인지 판단하는 것을 특징으로 하고,상기 렌더링 함수 생성부는, 상기 메모리에 저장된 렌더링 함수가 소정 개수 이상이 아닌 것으로 판단되면 상기 생성된 렌더링 함수를 상기 메모리에 저장하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제13항에 있어서,상기 렌더링 함수는 상기 객체의 특성에 대응하는 소정 기능을 수행하는 단위인 코드블럭의 조합으로 이루어진 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 제13항에 있어서,상기 객체의 특성을 분석하는 객체 분석부를 더 포함하고,상기 렌더링 함수 생성부는 상기 분석에 기초하여 상기 객체의 특성에 대응하는 소정 기능을 수행하는 단위인 코드블록을 조합하여 렌더링 함수를 생성하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 장치.
- 이미 저작된 객체의 특성에 대응하는 렌더링 함수를 생성하는 단계;상기 생성된 렌더링 함수와 동일한 렌더링 함수가 소정의 저장장치에 저장되어 있지 않으면, 상기 저장장치에 저장되어 있는 렌더링 함수가 소정 개수 이상인지 판단하는 단계; 및상기 판단 결과에 따라 상기 저장장치에 저장되어 있는 렌더링 함수들 중 어느 하나의 렌더링 함수에 대응되도록 상기 객체를 재저작하는 단계를 포함하는 것을 특징으로 하는 3차원 그래픽 데이터 저작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060095038A KR100803216B1 (ko) | 2006-09-28 | 2006-09-28 | 3차원 그래픽 데이터를 저작하는 방법 및 장치 |
US11/889,321 US20080079720A1 (en) | 2006-09-28 | 2007-08-10 | Method, medium, and system authoring three-dimensional graphic data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060095038A KR100803216B1 (ko) | 2006-09-28 | 2006-09-28 | 3차원 그래픽 데이터를 저작하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100803216B1 true KR100803216B1 (ko) | 2008-02-14 |
Family
ID=39260650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060095038A KR100803216B1 (ko) | 2006-09-28 | 2006-09-28 | 3차원 그래픽 데이터를 저작하는 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080079720A1 (ko) |
KR (1) | KR100803216B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120042440A (ko) * | 2010-10-25 | 2012-05-03 | 한국전자통신연구원 | 조립 과정 가시화 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000311240A (ja) | 1999-03-31 | 2000-11-07 | Internatl Business Mach Corp <Ibm> | 取り込まれたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム |
JP2003308537A (ja) | 2002-04-15 | 2003-10-31 | Matsushita Electric Ind Co Ltd | 図形描画装置 |
KR20060088273A (ko) * | 2005-02-01 | 2006-08-04 | 삼성전자주식회사 | 3차원 그래픽스 데이터를 랜더링하는 방법 및 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6072498A (en) * | 1997-07-31 | 2000-06-06 | Autodesk, Inc. | User selectable adaptive degradation for interactive computer rendering system |
EP1055199B1 (en) * | 1998-02-17 | 2002-05-22 | Sun Microsystems, Inc. | Estimating graphics system performance for polygons |
US6943800B2 (en) * | 2001-08-13 | 2005-09-13 | Ati Technologies, Inc. | Method and apparatus for updating state data |
JP3696584B2 (ja) * | 2001-09-26 | 2005-09-21 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理方法及び装置、半導体デバイス、描画処理プログラム及び記録媒体 |
AUPR962001A0 (en) * | 2001-12-19 | 2002-01-24 | Redbank Manor Pty Ltd | Document display system and method |
US6657624B2 (en) * | 2001-12-21 | 2003-12-02 | Silicon Graphics, Inc. | System, method, and computer program product for real-time shading of computer generated images |
US7079151B1 (en) * | 2002-02-08 | 2006-07-18 | Adobe Systems Incorporated | Compositing graphical objects |
US7598953B2 (en) * | 2004-11-05 | 2009-10-06 | Microsoft Corporation | Interpreter for simplified programming of graphics processor units in general purpose programming languages |
US7602399B2 (en) * | 2006-03-15 | 2009-10-13 | Ati Technologies Ulc | Method and apparatus for generating a pixel using a conditional IF—NEIGHBOR command |
-
2006
- 2006-09-28 KR KR1020060095038A patent/KR100803216B1/ko not_active IP Right Cessation
-
2007
- 2007-08-10 US US11/889,321 patent/US20080079720A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000311240A (ja) | 1999-03-31 | 2000-11-07 | Internatl Business Mach Corp <Ibm> | 取り込まれたグラフィクス・ハードウェア命令を使用したグラフィクス・レンダリングの方法およびシステム |
JP2003308537A (ja) | 2002-04-15 | 2003-10-31 | Matsushita Electric Ind Co Ltd | 図形描画装置 |
KR20060088273A (ko) * | 2005-02-01 | 2006-08-04 | 삼성전자주식회사 | 3차원 그래픽스 데이터를 랜더링하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20080079720A1 (en) | 2008-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11721071B2 (en) | Methods and systems for producing content in multiple reality environments | |
KR102244619B1 (ko) | 가속 구조를 생성 및 탐색하는 방법 | |
KR101082215B1 (ko) | 하이브리드 광선 추적 시스템을 위한 프래그먼트 쉐이더 및 동작 방법 | |
JP4444180B2 (ja) | テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム | |
US8614704B2 (en) | Method and apparatus for rendering 3D graphics data | |
US5903272A (en) | Apparatus and method for determining a rendering order between first and second object surface primitives | |
JP2006228231A (ja) | 3次元イメージ特殊効果表現方法及びその装置、並びに、vrmlノード及びその生成方法 | |
JP4704348B2 (ja) | 画像生成装置および画像生成方法 | |
JP2005056075A (ja) | 地図表示システム、地図データ加工装置、地図表示装置及び地図表示方法 | |
KR101136737B1 (ko) | 그래픽 처리방법 및 그 장치 | |
JP2005310160A (ja) | 3次元グラフィックデータの再構成装置及び方法 | |
JP2009508214A (ja) | フォト・マンテル・ビューおよびアニメーション | |
JP2000348213A (ja) | 三次元画像生成装置、三次元画像生成表示装置、及びその方法並びに記録媒体 | |
US20120133660A1 (en) | Data processing method and apparatus in heterogeneous multi-core environment | |
KR100803216B1 (ko) | 3차원 그래픽 데이터를 저작하는 방법 및 장치 | |
EP3876205A1 (en) | Image generation system and method | |
US20140002451A1 (en) | Scene graph for defining a stereoscopic graphical object | |
KR101585998B1 (ko) | 영상 처리 장치 및 방법 | |
CN117315295A (zh) | 一种bim模型相似度计算方法、系统、设备及存储介质 | |
US20110191721A1 (en) | Method and apparatus for displaying additional information of content | |
US9519997B1 (en) | Perfect bounding for optimized evaluation of procedurally-generated scene data | |
CN111402369A (zh) | 互动广告的处理方法、装置、终端设备及存储介质 | |
JP2003168130A (ja) | リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法 | |
KR20170025993A (ko) | 가속 구조를 생성 및 탐색하는 방법 | |
Longhurst et al. | Snapshot: A rapid technique for driving a selective global illumination renderer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130115 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140124 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150116 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |