KR20240074815A - 3d 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체 - Google Patents

3d 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체 Download PDF

Info

Publication number
KR20240074815A
KR20240074815A KR1020247013891A KR20247013891A KR20240074815A KR 20240074815 A KR20240074815 A KR 20240074815A KR 1020247013891 A KR1020247013891 A KR 1020247013891A KR 20247013891 A KR20247013891 A KR 20247013891A KR 20240074815 A KR20240074815 A KR 20240074815A
Authority
KR
South Korea
Prior art keywords
cross
data
submodel
section
model
Prior art date
Application number
KR1020247013891A
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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20240074815A publication Critical patent/KR20240074815A/ko

Links

Classifications

    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 출원은 3D(3-dimension) 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체를 개시하며, 이미지 처리 기술 분야에 속한다. 상기 3D 모델 렌더링 방법은 단면 데이터세트를 취득하는 단계 - 상기 단면 데이터세트는 3D 모델의 서브모델에 기초하여 구축되고 적어도 하나의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용되는 단면 데이터를 포함함 -; 상기 단면 데이터세트 내의 단면 데이터에 대응되는 텍스처 맵을 취득하는 단계 - 상기 단면 데이터에 대응되는 텍스처 맵은 상기 단면 데이터에 대응되는 서브모델의 텍스처 데이터에 따라 결정됨-; 및 상기 단면 데이터세트 내의 상기 단면 데이터와 상기 대응하는 텍스처 맵에 기초하여 상기 3D 모델을 렌더링하는 단계를 포함한다. 텍스처 맵이 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 상기 단면 데이터에 의해 지시되는 단면에 투영하여 획득되는 텍스처 데이터를 나타내기 때문에, 텍스처 맵은 서브모델의 텍스처 및 형상을 반영할 수 있으므로, 단면 데이터 및 대응하는 텍스처 맵에 기초하여 렌더링하는 동안 렌더링 효과를 향상시킬 수 있다.

Description

3D 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체
본 출원은 2022년 8월 19일에 출원된 "3D MODEL RENDERING METHOD AND APPARATUS, ELECTRONIC DEVICE, AND STORAGE MEDIUM(3D 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체"라는 명칭의 중국 특허출원 제202210996952.8호에 대한 우선권을 주장하며, 이 출원의 내용 전체가 인용에 의해 본 출원에 포함된다.
본 출원의 실시예는 이미지 처리 기술 분야에 관한 것이며, 특히 3D(3-dimension, 3차원) 모델 렌더링 방법 및 장치, 전자 디바이스 및 저장 매체에 관한 것이다
컴퓨터 성능이 향상되고 영상 처리 기술이 발전함에 따라, 객체는 3D 모델로 표현되는 것이 일반적이다. 예를 들어 식물은 3D 식물 모델로 표현된다. 전자 디바이스는 3D 모델을 렌더링하여 영화, 게임, 엔지니어링 설계 등의 장면에서 3D 모델로 표현된 객체를 표시할 수 있다.
관련 기술에서는 먼저 객체의 3D 모델을 모델링할 필요가 있다. 3D 모델은 복수의 서브모델(submodel)을 포함한다. 서브모델은 텍스처 데이터가 있는 삼각형 메시(triangular mesh)이다. 삼각형 메시 각각은 복수의 삼각형을 포함한다. 삼각형 메시는 데이터 볼륨이 커서 렌더링 효율에 심각한 영향을 미친다. 따라서, 적어도 두 개의 삼각형을 하나의 삼각형으로 병합함으로써 삼각형 메시를 단순화할 수 있으며, 이로써 서브모델을 단순화하여 렌더링 효율을 향상시킬 수 있다. 단순화된 서브모델을 렌더링하여 3D 모델의 렌더링 결과를 획득한다.
상기한 기술에서는 삼각형 메시의 단순화로 인해 서브모델이 변형될 수 있으며, 이로 인해 3D 모델의 렌더링 효과가 좋지 않다는 문제가 있다.
본 출원은 관련 기술에 있어 3D 모델의 렌더링 효과가 좋지 않은 문제를 해결하기 위한 3D 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체를 제공한다. 기술적 해결방안은 다음의 내용을 포함한다.
한 측면에 따르면, 다음을 포함하는 3D 모델 렌더링 방법이 제공된다:
단면 데이터세트(cross-section dataset)를 취득하는 단계 - 상기 단면 데이터세트는 객체의 3D 모델에 포함된 복수의 서브모델에 기초하여 구축되고, 상기 복수의 서브모델은 상기 객체의 컴포넌트를 각각 나타내고, 상기 복수의 서브모델의 텍스처 데이터는 상기 컴포넌트의 텍스처 정보를 나타내고, 상기 단면 데이터세트는 복수의 단면 데이터를 포함하고, 상기 복수의 단면 데이터 각각은 하나 이상의 서브모델의 엔벨로프 박스(envelope box)의 단면을 지시하는 데 사용됨 -;
상기 단면 데이터세트 내의 상기 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하는 단계 - 상기 텍스처 맵 중 어느 하나는 대응 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 상기 대응 단면 데이터에 의해 지시되는 단면에 투영하여 획득되는 텍스처 데이터를 나타내는 데 사용되고, 상기 대응 단면 데이터는 상기 복수의 단면 데이터 중의 단면 데이터이고 상기 텍스처 맵에 대응함 -; 및
상기 단면 데이터세트 내의 상기 복수의 단면 데이터와 상기 대응하는 텍스처 맵에 기초하여 상기 3D 모델을 렌더링하는 단계.
다른 측면에 따르면, 3D 모델 렌더링 장치가 제공되며, 상기 3D 모델 렌더링 장치는 취득 모듈 및 렌더링 모듈을 포함하고,
상기 취득 모듈은, 단면 데이터세트를 취득하도록 구성되고 - 상기 단면 데이터세트는 객체의 3D 모델에 포함된 복수의 서브모델에 기초하여 구축되고, 상기 복수의 서브모델은 상기 객체의 컴포넌트를 각각 나타내고, 상기 복수의 서브모델의 텍스처 데이터는 상기 컴포넌트의 텍스처 정보를 나타내고, 상기 단면 데이터세트는 복수의 단면 데이터를 포함하고, 상기 복수의 단면 데이터 각각은 하나 이상의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용됨 -;
상기 취득 모듈은 추가로, 상기 단면 데이터세트 내의 상기 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하도록 구성되며 - 상기 텍스처 맵 중 어느 하나는 대응 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 상기 대응 단면 데이터에 의해 지시되는 단면에 투영하여 획득되는 텍스처 데이터를 나타내는 데 사용되고, 상기 대응 단면 데이터는 상기 복수의 단면 데이터 중의 단면 데이터이고 상기 텍스처 맵에 대응함 -;
상기 렌더링 모듈은, 상기 단면 데이터세트 내의 상기 복수의 단면 데이터와 상기 대응하는 텍스처 맵에 기초하여 상기 3D 모델을 렌더링하도록 구성된다.
또 다른 측면에 따르면, 전자 디바이스가 제공되며, 상기 전자 디바이스는 프로세서 및 메모리를 포함하고, 상기 메모리는 하나 이상의 컴퓨터 프로그램을 저장하고, 상기 하나 이상의 컴퓨터 프로그램은 상기 프로세서에 의해 로드 및 실행되어 상기 전자 디바이스로 하여금, 전술한 3D 모델 렌더링 방법 중 어느 하나를 구현하게 한다.
또 다른 측면에 따르면, 컴퓨터로 판독 가능한 저장 매체가 제공되며, 상기 컴퓨터로 판독 가능한 저장 매체는 하나 이상의 컴퓨터 프로그램을 저장하고, 상기 하나 이상의 컴퓨터 프로그램은 프로세서에 의해 로드 및 실행되어 상기 전자 디바이스로 하여금, 전술한 3D 모델 렌더링 방법 중 어느 하나를 구현하게 한다.
또 다른 측면에 따르면, 컴퓨터 프로그램 도는 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 프로그램을 저장하고, 상기 하나 이상의 컴퓨터 프로그램은 프로세서에 의해 로드 및 실행되어 상기 전자 디바이스로 하여금, 전술한 3D 모델 렌더링 방법 중 어느 하나를 구현하게 한다.
본 출원에서 제공되는 기술적 해결방안은 적어도 다음과 같은 유익한 효과를 가져옵니다:
본 출원에서 제공되는 기술적 해결방안에서는 먼저, 하나 이상의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용되는 단면 데이터가 취득되고, 그런 다음 단면 데이터에 대응하는 텍스처 맵이 취득되며, 단면 데이터에 대응하는 텍스처 맵은 단면 데이터에 대응하는 서브모델의 텍스처 데이터에 따라 결정된다. 텍스처 맵은 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 임의의 단면 데이터에 의해 지시되는 단면상에 투영하여 획득되는 텍스처 데이터를 나타내기 때문에, 투영 후의 서브모델의 형상이 쉽게 변형되지 않으므로, 단면 데이터와 대응하는 텍스처 맵에 기초한 렌더링 시에 렌더링 효과를 향상시킬 수 있다.
도 1은 본 출원의 일 실시예에 따른 3D 모델 렌더링 방법의 구현 환경의 개략도이다.
도 2는 본 출원의 일 실시예에 따른 3D 모델 렌더링 방법의 흐름도이다.
도 3은 본 출원의 일 실시예에 따른 기본 잎 모델의 단면 데이터의 취득에 대한 개략도이다.
도 4는 본 출원의 일 실시예에 따른 다양한 레벨의 데이터세트의 개략도이다.
도 5는 본 출원의 일 실시예에 따른 인덱스 구조의 개략도이다.
도 6은 본 출원의 일 실시예에 따른 텍스처 맵의 개략도이다.
도 7은 본 출원의 일 실시예에 따른 렌더링의 개략도이다.
도 8은 본 출원의 실시예에 따른 식물 모델 렌더링의 개략도이다.
도 9는 본 출원의 실시예에 따른 식물 모델의 렌더링 결과의 개략도이다.
도 10은 본 출원의 일 실시예에 따른 식물 모델의 다른 렌더링 결과의 개략도이다.
도 11은 본 출원의 일 실시예에 따른 또 다른 렌더링 결과의 개략도이다.
도 12는 본 출원의 일 실시예에 따른 3D 모델 렌더링 장치의 개략 구성도이다.
도 13은 본 출원의 일 실시예에 따른 단말 디바이스의 개략 구성도이다.
도 14는 본 출원의 일 실시예에 따른 서버의 개략 구성도이다.
도 1은 본 출원의 일 실시예에 따른 3D 모델 렌더링 방법의 구현 환경의 개략도이다. 도 1에 도시된 바와 같이, 구현 환경은 단말 디바이스(101)와 서버(102)를 포함한다. 본 출원의 이 실시예에서의 3D 모델 렌더링 방법은 단말 디바이스(101)에 의해, 또는 서버(102)에 의해, 또는 단말 디바이스(101)와 서버(102) 모두에 의해 수행될 수 있다. 단말 디바이스(101)는 스마트폰, 게임 콘솔, 데스크톱 컴퓨터, 웨어러블 디바이스, 태블릿 컴퓨터, 노트북 컴퓨터, 스마트 TV, 스마트 차량 탑재형 디바이스, 스마트 음성 상호작용 디바이스, 스마트 가전 등일 수 있다. 서버(102)는 서버, 복수의 서버로 구성된 서버 클러스터, 클라우드 컴퓨팅 센터, 가상화 센터 중 어느 하나일 수 있으며, 본 출원의 이 실시예에서는 이에 한정되지 않는다. 서버(102)는 유선 네트워크 또는 무선 네트워크를 이용하여 단말 디바이스(101)와 통신 연결될 수 있다. 서버(102)는 데이터 처리, 데이터 저장, 데이터 송수신 등의 기능을 가질 수 있으며, 본 출원의 이 실시예에서는 이에 한정되지 않는다. 단말 디바이스(101)와 서버(102)의 수량은 제한되지 않으며, 하나 이상일 수 있다. 본 출원의 이 실시예에서 제공되는 기술적 해결방안은 클라우드 기술을 기반으로 구현될 수 있다. 클라우드 기술은 하드웨어, 소프트웨어, 네트워크 등의 일련의 자원을 광역 네트워크 또는 근거리 네트워크에 통합하여 데이터의 컴퓨팅, 저장, 처리, 공유를 구현하는 호스팅 기술(hosting technology)이다. 클라우드 기술은 클라우드 컴퓨팅 비즈니스 방식의 애플리케이션을 기반으로 한 네트워크 기술, 정보 기술, 통합 기술, 관리 플랫폼 기술, 응용 기술 등을 총칭하며, 자원 풀(resource pool)을 구성할 수 있으며, 필요에 따라 사용되며 유연하고 편리하다. 클라우드 컴퓨팅 기술은 중요한 지원이 될 것이다. 기술 네트워크 시스템의 백엔드 서비스(backend service)는 비디오 웹사이트, 이미지 웹사이트, 더 많은 포털 웹사이트 등의 대량의 컴퓨팅 및 저장 자원을 필요로 한다. 인터넷 산업이 고도로 발전하고 적용됨에 따라, 각각의 물품(article)은 장래에 자신의 ID를 가질 수 있고, 이를 논리적 처리를 위해 백엔드 시스템으로 송신해야 한다. 여러 다른 레벨의 데이터가 개별적으로 처리될 수 있고, 다양한 산업에서의 데이터는 강력한 시스템 지원이 필요하며, 이는 클라우드 컴퓨팅을 통해서만 구현될 수 있다.
이미지 처리 기술 분야에서, 전자 디바이스는 객체의 3D 모델에서의 서브모델을 렌더링하여 3D 모델로 표현되는 객체를 영화, 게임, 공학 설계 등의 장면에서 표시한다. 일반적으로 3D 모델의 각 서브모델은 삼각형 메시(triangular mesh)이다. 삼각형 메시는 복수의 삼각형을 포함한다. 서브모델의 텍스처 데이터는 객체에 대한 대응하는 컴포넌트의 텍스처 정보를 나타낼 수 있다. 임의의 서브모델을 렌더링하는 동안, 서브모델의 삼각형 중 일부가 큰 삼각형으로 병합되어, 삼각형 메시를 단순화한다, 즉, 서브모델을 단순화한다. 이 프로세스는 서브모델의 변형을 초래하고, 그 결과 3D 모델의 렌더링 효과가 저하된다. 본 출원의 일 실시예는 3D 모델 렌더링 방법을 제공한다. 이 3D 모델 렌더링 방법은 3D 모델의 렌더링 효과가 나쁘다는 문제를 해결하기 위해 위의 구현 환경에 적용 가능하다. 설명의 편의를 위해, 도 2에 도시된 본 출원의 일 실시예에 따른 3D 모델 렌더링 방법의 흐름도를 예로 들면, 본 출원의 이 실시예에서 3D 모델 렌더링 방법을 수행하는 단말 디바이스(101) 또는 서버(102)를 전자 디바이스라고 칭한다. 이 3D 모델 렌더링 방법은 전자 디바이스에 의해 수행될 수 있다. 도 2에 도시된 바와 같이, 이 3D 모델 렌더링 방법은 단계 201 내지 단계 203을 포함한다.
단계 201: 단면 데이터세트를 취득하며, 단면 데이터세트는 객체의 3D 모델에 포함된 복수의 서브모델에 기초하여 구축되고, 복수의 서브모델은 객체의 컴포넌트를 각각 나타내고, 복수의 서브모델의 텍스처 데이터는 컴포넌트의 텍스처 정보를 나타내고, 단면 데이터세트는 복수의 단면 데이터를 포함하고, 복수의 단면 데이터 각각은 적어도 하나의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용된다.
본 출원의 실시예에서, 전자 디바이스는 먼저 객체의 3D 모델을 취득한 다음, 3D 모델에 포함된 서브모델들에 기초하여 단면 데이터세트를 구축할 수 있다. 본 출원에서, 단면 데이터세트는 복수의 단면 데이터를 포함하며, 하나의 단면 데이터는 적어도 하나의 서브모델에 대응하고, 하나의 서브모델은 객체의 하나의 컴포넌트에 대응한다.
3D 모델의 내용은 다음과 같다.
3D 모델 모델링 기술을 이용하여 임의의 객체를 모델링하여 객체의 3D 모델을 획득할 수 있다. 본 출원의 이 실시예에서는 모델링 방식을 한정하지 않는다. 객체는 임의의 모델링 도구를 사용하여 모델링될 수 있다. 예를 들어, 모델링 도구(예컨대, Speed Tree)를 사용하여 임의의 식물을 모델링하여, 그 식물의 3D 모델(식물 모델이라고 함)을 획득할 수 있다.
전자 디바이스는 모델링된 3D 모델을 직접 취득할 수도 있다. 3D 모델은 복수의 서브모델을 포함한다. 일반적으로, 임의의 객체는 복수의 컴포넌트로 형성되는 것으로 간주될 수 있다. 임의의 컴포넌트를 표현하는 서브모델은 그 컴포넌트를 모델링하여 획득될 수 있다. 예를 들어, 식물은 뿌리, 줄기, 가지, 잎과 같은 컴포넌트를 포함한다. 잎을 예로 들면, 잎을 모델링하여 잎을 표현하는 서브모델을 획득한다. 잎을 표현하는 서브모델을 잎 모델이라 부를 수 있다.
각각의 서브모델은 그것에 대응하는 삼각형 메시를 갖는다. 삼각형 메시는 컴퓨터 그래픽스에서 사용되는 다각형 메시(메시라고도 함)이다. 컴퓨터 그래픽스 및 3D 솔리드 모델링에서, 다각형 메시는 다면체 객체의 모양을 정의하는 정점, 변 및 면의 집합이다. 삼각형 메시는 공통의 변 또는 각으로 연결된 삼각형 세트(일반적으로 3D 공간의 삼각형)로 구성된다. 간략히 설명하면, 삼각형 메시는 복수의 삼각형을 포함하고, 삼각형 메시는 서브모델에 대응하는 컴포넌트의 형상, 윤곽선 등의 정보를 표현할 수 있다.
본 출원의 이 실시예에서, 서브모델에 대응하는 삼각형 메시는 텍스처 데이터가 있는 삼각형 메시이다. 삼각형 메시는 삼각형 메시 데이터와 텍스처 이미지로 표현된다.
일반적으로, 서브모델에 대응하는 삼각형 메시의 정점 데이터는 서브모델에 대응하는 삼각형 메시 데이터에 기록된다. 임의의 정점의 데이터는 정점의 3D 좌표, 정점의 식별 정보, 정점의 UV 좌표(즉, 텍스처 좌표) 등을 포함한다. 몇몇 실시예에서, 삼각형 메시의 3개 정점은 삼각면(triangular surface)을 결정할 수 있다. 삼각형 메시 데이터는 정점의 데이터 외에, 삼각면의 데이터도 포함할 수 있다. 삼각면의 데이터는 삼각면의 평면 방정식, 삼각형 평면에서의 임의의 두 정점 사이의 직선의 직선 방정식, 삼각면의 법선 벡터, 삼각면의 정점 데이터 중 적어도 하나를 포함한다.
서브모델은 적어도 하나의 텍스처 이미지에 대응한다. 텍스처 이미지는 알베도 맵(albedo map), 법선 맵(normal map), 지하 산란 맵(subsurface scattering map), 위치 맵(position map) 등을 포함한다. 서브모델에 대응하는 알베도 맵은 서브모델의 색상 및 질감을 반영할 수 있다. 서브모델에 대응하는 알베도 맵은 서브모델의 요철 표면(uneven surface)상에 각 점의 법선을 그려 법선 방향을 픽셀값으로 표현한 맵이다. 따라서, 서브모델에 대응되는 알베도 맵은 서브모델의 요철 표면을 반영할 수 있다. 서브모델에 대응하는 지하 산란 맵은 서브모델의 표면에 빛이 조사된 후의 시각적 효과를 반영할 수 있다. 서브모델에 대응하는 위치 맵에서의 임의의 픽셀의 픽셀 값은 3D 공간에서 한 점의 3D 좌표에 대응한다. 따라서, 서브모델에 대응되는 위치 맵은 서브모델의 3D 구조를 반영할 수 있다.
각 정점의 UV 좌표에 기초하여, 정점에 대응하는 텍스처 색상 값(텍스처 값이라 함)이 결정될 수 있다. 따라서, 서브모델에 대응하는 삼각형 메시에서의 정점의 UV 좌표는 서브모델에 대응하는 컴포넌트의 텍스처 정보를 반영할 수 있다. 또한, 서브모델에 대응하는 텍스처 이미지는 서브모델에 대응하는 컴포넌트의 텍스처 정보도 반영할 수 있다. 따라서 정점의 UV 좌표와 서브모델에 대응하는 텍스처 이미지는 모두 서브모델에 대응하는 텍스처 데이터에 속한다.
예를 들어, 잎 모델에 대응하는 삼각형 메시의 정점의 3D 좌표, 정점의 식별 정보, 및 정점의 텍스처 좌표는 잎 모델에 대응하는 삼각형 메시 데이터로 기록된다. 삼각형 메시에서의 정점들의 3D 좌표로 잎의 모양, 윤곽선 등의 정보를 표현할 수 있다. 잎 모델은 또한 알베도 맵, 법선 맵, 지하 산란 맵, 및 위치 맵에 대응한다. 잎의 텍스처 데이터는 맵과 삼각형 메시에서 정점의 텍스처 좌표로 표현될 수 있다.
3D 모델의 내용은 위에서 설명하였다. 위에서 알 수 있듯이, 3D 모델은 복수의 서브모델을 포함한다. 본 출원의 이 실시예에서, 전자 디바이스는 적어도 하나의 서브모델을 기반으로 하나의 단면 데이터를 결정할 수 있다. 이러한 방식으로, 단면 데이터세트 내의 단면 데이터는 복수의 서브모델을 기반으로 결정될 수 있다. 단면 데이터는 적어도 하나의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용된다. 서브모델은 3D 모델에 속하므로, 엔벨로프 박스는 3D 지오메트리이다. 몇몇 실시예에서, 엔벨로프 박스는 다면체이고, 단면은 다면체의 임의의 단면이다. 본 출원의 이 실시예에서는 단면의 형상을 한정하지 않는다. 예를 들어, 단면은 사각형, 삼각형, 육각형 등이다. 예를 들어, 단면 데이터는 적어도 하나의 서브모델의 엔벨로프 박스의 단면의 픽셀의 3D 좌표, 단면의 법선 벡터, 및 단면의 평면 방정식 중 적어도 하나를 지시하는 데 사용된다.
몇몇 실시예에서, 엔벨로프 박스는 적어도 하나의 서브모델을 둘러싸는 최소 직육면체이다. 이 경우, 단면은 최소 직육면체의 중심을 통과하는 단면일 수 있다. 다시 말해, 단면 데이터는 적어도 하나의 서브모델을 둘러싸는 최소 직육면체의 단면을 지시하는 데 사용되며, 단면은 최소 직육면체의 중심을 통과한다. 몇몇 실시예에서, 단면 데이터에 의해 지시되는 단면은 동일 평면상에 위치하는 삼각면으로 형성된다. 예를 들어, 최소 직육면체의 단면은 직사각형이고, 직육면체는 2개의 삼각면으로 형성되며, 2개의 삼각면은 동일한 평면에 위치한다.
단계 201의 한 가지 가능한 구현은 아래에 나타낸 구현 A를 포함한다.
구현 A에서, 단면 데이터세트는 적어도 2개의 레벨의 데이터세트를 포함하고, 임의의 레벨의 데이터세트는 적어도 하나의 단면 데이터를 포함하며, 이전 레벨의 하나의 단면 데이터는 다음 레벨의 적어도 하나의 단면 데이터에 대응한다.
적어도 2개의 레벨의 데이터세트는 LOD(Level Of Detail) 데이터 구조에 속한다. 이전 레벨의 하나의 단면 데이터는 다음 레벨의 적어도 하나의 단면 데이터에 대응하기 때문에, 이전 레벨의 데이터세트에 포함되는 단면 데이터의 양은 다음 레벨의 데이터세트에 포함되는 단면 데이터의 양보다 적다.
본 출원의 이 실시예에서, 임의의 레벨의 LOD는 그 레벨의 데이터세트에 포함된 단면 데이터의 양과 관련이 있다. 임의의 레벨의 데이터세트가 더 많은 양의 단면 데이터를 포함하는 경우, 그 레벨의 LOD는 더 미세하다(즉, 더 높다). 임의의 레벨의 데이터세트가 더 적은 양의 단면 데이터를 포함하는 경우, 그 레벨의 LOD는 더 거칠다(즉, 더 낮다). 이전 레벨의 데이터세트에 포함된 단면 데이터의 양이 다음 레벨의 데이터세트에 포함된 단면 데이터의 양보다 적기 때문에, 이전 레벨의 LOD는 다음 레벨의 LOD보다 낮다.
구현 A에서, 이 3D 모델 렌더링 방법은 단계 201 이전에 단계 2011 내지 단계 2012를 더 포함한다.
단계 2011: 다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트를 결정하며, 다음 레벨의 데이터세트는 다음 레벨이 적어도 2개의 레벨 중의 최하위 레벨인 것에 응답하여, 3D 모델에서의 서브모델에 대응하는 단면 데이터에 기초하여 결정된다.
본 출원의 이 실시예에서, 3D 모델에서의 서브모델에 대응하는 단면 데이터가 먼저 결정될 수 있으며, 3D 모델에서의 서브모델에 대응하는 단면 데이터는 적어도 2개의 레벨 중의 최하위 레벨의 데이터세트 내의 단면 데이터로서 취해진다. 대안적으로, 3D 모델에서의 서브모델에 대응하는 단면 데이터를 집성하여 적어도 2개의 레벨 중의 최하위 레벨의 데이터세트를 획득하다. 집성 방식은 단계 B1에 대한 이하의 설명을 참조하여 얻을 수 있으므로, 여기서는 구체적으로 설명하지 않는다. 다음으로, 최하위 레벨에서부터, 다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트를 결정함으로써 적어도 2개의 레벨의 데이터세트를 획득할 수 있다. 즉, 단면 데이터세트는 최하위 레벨의 단면 데이터와, 집성된 단면 데이터를 포함하며, 최하위 레벨의 단면 데이터는 서브모델과 일대일 대응관계에 있으며, 집성된 단면 데이터는 복수의 서브모델에 대응한다.
최하위 레벨의 데이터세트를 결정하는 아래에 소개한다.
가능한 구현에서는, 아래에 나타낸 바와 같이 단계 A1 내지 단계 A3에 의해 3D 모델의 서브모델에 대응하는 단면 데이터를 결정하여, 최하위 레벨의 데이터세트를 획득할 수 있다.
단계 A1: 3D 모델에서의 기본 서브모델을 결정하고; 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보를 결정하며, 기본 서브모델은 3D 모델에서의 서브모델 중 어느 한 서브모델이고, 다른 서브모델은 3D 모델에서의 기본 서브모델이 아닌 서브모델 중 어느 한 서브모델이다.
모델링에 의해 3D 모델을 획득하는 과정에서, 먼저 설정된 수량의 서브모델이 모델링될 수 있다. 이 서브모델은 기본 서브모델이라고 불릴 수 있다. 3D 아핀 변환을 통해, 기본 서브모델을 변환하여 다른 서브모델을 획득한다. 예를 들어, 식물 모델의 경우, 식물 모델에서의 잎 모델의 수량이 수량 임계값보다 큰 경우, 이는 식물 모델이 더 많은 수량의 잎 모델을 포함하고 있음을 지시하며, 설정된 수량의 잎 모델이 모델링될 수 있다. 이러한 잎 모델을 기본 잎 모델(즉, 기본 서브모델)로서 취하고, 기본 잎 모델을 변환하여 다른 잎 모델을 획득한다.
일반적으로 3D 모델을 모델링하는 과정에서, 기본 서브모델을 모델링할 때마다, 기본 서브모델에 대응하는 삼각형 메시(즉, 삼각형 메시 데이터와 적어도 하나의 텍스처 이미지)가 설정된 저장 공간에 저장될 수 있다. 기본 서브모델을 변환하여 다른 서브모델을 획득할 때마다, 변환 정보가 저장 공간에 저장되어, 변환 정보를 사용하여 변환을 기록할 수 있다. 따라서 기본 서브모델은 삼각형 메시에 대응하는 것 외에, 변환 파일에도 대응한다. 변환 파일에는 기본 서브모델에서 복수의 다른 서브모델로의 변환에 대한 변환 정보가 기록된다.
몇몇 실시예에서, 변환 정보는 평행이동 정보(translation information), 확대/축소 정보(zooming information), 및 회전 정보(rotation information) 중 적어도 하나를 포함한다. 기본 서브모델에서 다른 서브모델 중 어느 하나로의 변환에 대한 변환 정보는 데이터 유형이 부동 소수점 수인 8개의 데이터 세그먼트(data segment)로 구성된다. 부동 소수점 수는 소수와 정수를 모두 포함하는 데이터 유형이다. 평행이동 정보는 데이터 유형이 부동 소수점 수인 3개의 데이터 세그먼트에 대응하며 평행이동 변환을 기록하는 데 사용된다. 확대/축소 정보는 데이터 유형이 부동 소수점 수인 1개의 데이터 세그먼트에 대응하며, 균일한 확대/축소 변환을 기록하는 데 사용된다. 회전 정보는 데이터 유형이 부동 소수점 수인 4개의 데이터 세그먼트에 대응한다. 데이터 유형이 부동 소수점 수인 1개의 데이터 세그먼트는 회전 각도를 기록하는 데 사용되고, 데이터 유형이 부동 소수점 수인 3개의 데이터 세그먼트는 회전 축을 기록하는 데 사용된다.
본 출원의 이 실시예에서는 기본 서브모델에 대응되는 삼각형 메시 및 변환 파일을 저장 공간으로부터 직접 판독하여, 3D 모델에서의 기본 서브모델과 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보를 획득할 수 있다.
가능한 구현에서, 3D 모델은 서브모델에 대응하는 삼각형 메시를 포함한다. 전자 디바이스는 3D 모델을 저장 공간에 저장한 후, 삼각형 메시 대신 서브모델에 대응하는 삼각형 메시와 기본 서브모델에 대응하는 변환 파일을 저장 공간에 저장한다. 이 경우, 3D 모델에서의 기본 서브모델과 변환 정보는 3D 모델에서의 서브모델에 대응하는 삼각형 메시에 기초하여 결정되어야 한다.
몇몇 실시예에서, 3D 모델에서의 기본 서브모델을 결정하는 단계는, 3D 모델에서의 서브모델의 텍스처 데이터에 따라 3D 모델에서의 서브모델을 하나 이상의 카테고리로 분류하는 단계; 및 하나 이상의 카테고리 중 어느 한 카테고리에 대해, 그 카테고리의 서브모델 중에서 임의의 서브모델을 그 카테고리의 기본 서브모델로서 선택하는 단계를 포함한다.
본 출원의 실시예에는 많은 변환 방식이 있으며, 기본 서브모델은 임의의 변환 방식으로 다른 서브모델로 변환될 수 있다. 예를 들어, 기본 서브모델은 3D 아핀 변환을 통해 다른 서브모델로 변환된다. 3D 아핀 변환을 통해 변환이 수행되는 경우, 삼각형 메시에서의 정점의 3D 좌표가 변경될 수 있다. 정점의 3D 좌표가 변경될 수 있으므로, 삼각면의 평면 방정식, 삼각면의 임의의 두 정점 사이의 직선의 직선 방정식, 그리고 삼각면의 법선 벡터가 변경될 수 있다. 다만, 삼각형 메시에서의 정점의 식별 정보와 정점의 텍스처 좌표는 변경되지 않을 수 있다. 다시 말해, 기본 서브모델이 다른 서브모델로 변환될 때, 서브모델의 형상은 변경될 수 있지만, 서브모델의 텍스처 데이터는 변경되지 않을 수 있다.
따라서, 3D 모델에서의 임의의 2개의 서브모델의 텍스처 데이터가 동일하다는 것은 그 2개의 서브모델이 동일한 기본 서브모델로부터 변환되었음을 지시하고, 그 2개의 서브모델은 동일한 카테고리로 분류될 수 있다. 이러한 방식으로 3D 모델에서의 서브모델들은 여러 카테고리로 분류될 수 있다. 몇몇 실시예에서, 2개의 서브모델에 대응하는 텍스처 좌표의 수량이 동일한 경우(즉, 정점의 수량이 동일한 경우), 그 2개의 서브모델의 텍스처 데이터가 동일한 것으로 결정된다. 몇몇 실시예에서, 2개의 서브모델에 대응되는 텍스처 좌표의 수량이 동일한 경우, 서브모델에 대응되는 정점의 텍스처 좌표가 정렬될 수 있다. 2개의 서브모델에 대응하는 정렬된 텍스처 좌표가 동일한 경우, 그 2개의 서브모델의 텍스처 데이터는 동일하다.
몇몇 실시예에서, 각각의 서브모델은 하나의 재질 정보(material information)에 대응한다. 예를 들어, 잎 모델에 대응되는 재질 정보는 플라스틱, 종이, 천 등이 될 수 있다. 기본 서브모델이 다른 서브모델로 변환되는 경우, 그 서브모델에 대응하는 재질 정보도 변경될 수 있다. 따라서, 서브모델들은 대안적으로 서브모델의 텍스처 데이터 및 재질 정보에 기초하여 적어도 하나의 카테고리로 분류될 수 있다. 임의의 2개의 서브모델의 텍스처 데이터와 재질 정보가 동일한 경우, 그 2개의 서브모델은 동일한 카테고리로 분류된다. 이러한 방식으로, 3D 모델에서의 서브모델들은 복수의 카테고리로 분류될 수 있다. 예를 들어, 복수의 잎 모델은 잎 모델의 재질 정보에 따라 미리 분류될 수 있다. 각각의 카테고리에 대해, 잎 모델의 텍스처 데이터에 따라 카테고리가 재분류된다. 대안적으로, 복수의 잎 모델은 잎 모델의 텍스처 데이터에 따라 미리 분류될 수 있다. 각각의 카테고리에 대해, 잎 모델의 재질 데이터에 따라 카테고리가 재분류된다. 다시 말해, 본 출원의 이 실시예에서는 분류의 기초가 되는 텍스처 데이터와 재질 데이터의 순서를 제한하지 않는다.
복수의 서브모델이 하나 이상의 카테고리로 분류된 후, 임의의 서브모델이 임의의 카테고리의 서브모델에서 그 카테고리에서의 기본 서브모델로 선택될 수 있다. 다음으로, 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계는, 카테고리의 기본 서브모델에서 카테고리의 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계를 포함하고, 카테고리의 다른 서브모델은 카테고리의 기본 서브모델이 아닌 카테고리의 서브모델이다. 본 출원의 이 실시예에서, 임의의 카테고리에 대해, 그 카테고리의 기본 서브모델에서 그 카테고리의 다른 서브모델로의 변환에 대한 변환 정보는 그 카테고리의 기본 서브모델의 삼각형 메시와 그 카테고리의 다른 서브모델의 각형 메시에 기초하여 계산될 수 있다.
가능한 구현에서, 카테고리의 기본 서브모델에서 카테고리의 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계는, 카테고리의 기본 서브모델의 제1 엔벨로프 박스를 결정하는 단계 카테고리의 다른 서브모델의 제2 엔벨로프 박스를 결정하는 단계 ; 및 제1 엔벨로프 박스 및 제2 엔벨로프 박스에 기초하여 카테고리의 기본 서브모델에서 카테고리의 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계를 포함한다. 기본 서브모델에 대응하는 삼각형 메시 데이터를 획득할 수 있다. 삼각형 메시 데이터에는 기본 서브모델에 대응하는 삼각형 메시에서의 정점의 데이터가 기록되어 있으므로, 기본 서브모델의 엔벨로프 박스의 데이터는 정점의 데이터(예컨대, 정점의 3D 좌표)에 기초하여 결정될 수 있으며, 이로써 제1 엔벨로프 박스(즉, 기본 서브모델의 엔벨로프 박스)를 결정한다. 제1 엔벨로프 박스는 기본 서브모델에 대응하는 정점과 삼각면을 둘러싼다. 가능한 구현에서, 제1 엔벨로프 박스는 기본 서브모델을 둘러싸는 최소 엔벨로프 박스(즉, 경계 박스)이다. 몇몇 실시예에서, 주성분 분석(principal component analysis, PCA)을 통해, 기본 서브모델에 대응하는 삼각형 메시 데이터를 분석함으로써 3개의 좌표축의 방향, 3개의 변의 길이, 중심점의 좌표와 같은 정보 중 적어도 하나를 결정할 수 있다. 정보를 결정하는 것은 기본 서브모델을 둘러싸는 최소 엔벨로프 박스를 결정하는 것과 같다. 최소 엔벨로프 박스는 직육면체이다.
3D 장면에서, PCA를 통해 3D 공간으로부터 상호 직교하는 좌표축 세트를 찾아, 최소 엔벨로프 박스의 3개의 좌표축 방향을 얻을 수 있다. 첫 번째 좌표축의 방향은 기본 서브모델에 대응하는 정점을 좌표축에 투영한 후, 투영된 정점의 분산(variance)이 최대가 되는 방향이다. 두 번째 좌표축의 방향은 첫 번째 좌표축과 직교하는 평면에서, 기본 서브모델에 대응하는 정점을 좌표축상에 투영한 후 투영된 정점의 분산이 최대가 되도록 하는 방향이다. 세 번째 좌표축의 방향은 처음 두 좌표축과 직교하는 평면에서, 기본 서브모델에 대응하는 정점을 좌표축에 투영한 후, 투영된 정점의 분산이 최대가 되도록 하는 방향이다. 기본 서브모델에 대응하는 정점의 3D 좌표를 평균하여, 기본 서브모델의 중심점 좌표를 획득할 수 있으며, 기본 서브모델의 중심점 좌표를 최소 엔벨로프 박스의 중심점 좌표로 취한다. 최소 엔벨로프 박스의 세 변의 길이는 세 개의 좌표축에서 기본 서브모델에 대응하는 정점의 분포에 기초하여 결정된다.
마지막으로, 제1 엔벨로프 박스를 결정하는 방식으로 다른 서브모델의 엔벨로프 박스의 데이터를 결정하여, 제2 엔벨로프 박스(즉, 다른 서브모델의 엔벨로프 박스)를 결정할 수 있으며, 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보는 기본 서브모델의 엔벨로프 박스의 데이터와 다른 서브모델의 엔벨로프 박스의 데이터에 기초하여 계산될 수 있다.
본 출원의 이 실시예에서, 기본 서브모델에서 다른 서브모델로의 변환 정보가 저장되는 경우에 필요한 저장 자원은 다른 서브모델의 3D 메시 데이터 및 텍스처 이미지를 저장하는 경우에 필요한 것보다 적다. 따라서, 기본 서브모델 및 기본 서브모델에서 다른 서브모델로의 변환 정보의 결정을 통해, 전자 디바이스는 다른 서브모델을 저장하지 않고 기본 서브모델 및 변환 정보만 저장하면 되므로, 저장 자원의 점유를 감소시키고, 전자 디바이스의 하드웨어 요구사항을 감소시킨다.
단계 A2: 기본 서브모델에 대응하는 단면 데이터를 결정한다.
본 출원의 이 실시예에서, 기본 서브모델의 엔벨로프 박스의 데이터는 기본 서브모델에 대응하는 삼각형 메시 데이터에 기초하여 결정될 수 있다. 엔벨로프 박스의 데이터에 기초하여, 엔벨로프 박스의 임의의 단면을 나타내는 단면 데이터를 결정하여, 기본 서브모델에 대응하는 단면 데이터를 획득한다.
몇몇 실시예에서, 엔벨로프 박스는 최소 엔벨로프 박스이고, 최소 엔벨로프 박스는 최소 엔벨로프 박스의 중심을 통과하는 복수의 단면에 대응하며, 각각의 단면은 하나의 단면의 데이터에 대응한다. 임의의 단면에 대해, 기본 서브모델을 단면상에 투영하여, 단면에 대응하는 투영 면적을 획득한다. 예를 들어, 기본 서브모델에 대응하는 삼각형 메시의 다양한 삼각면을 단면에 투영하여 투영된 삼각면을 획득한다. 임의의 투영된 삼각면의 면적이 결정될 수 있다. 투영된 삼각면의 면적들을 가산하여 단면에 대응하는 투영 면적을 획득한다. 단면에 대응하는 투영 면적 중에서 최대 투영 면적을 선택한다. 최대 투영 면적에 대응하는 단면의 데이터를 기본 서브모델의 단면 데이터로 취한다.
도 3을 참조하면, 도 3은 본 출원의 일 실시예에 따른 기본 잎 모델의 단면 데이터를 취득하는 개략도이다. 도 3의 (1)에 301로 도시된 모델이 기본 잎 모델이다. 도 3의 (1)에서 303로 도시된 바와 같이, 기본 잎 모델의 최소 엔벨로프 박스를 먼저 결정할 수 있다. 다음으로, 최소 엔벨로프 박스의 중심을 통과하는 복수의 단면을 결정한다. 임의의 단면에 대해, 단면에 투영된 기본 잎 모델의 투영 면적을 결정하여, 단면에 대응하는 투영 면적을 획득한다. 단면에 대응하는 투영 면적에 기초하여, 도 3의 (1)에서 302로 도시된 바와 같이, 최대 투영 면적에 대응하는 단면을 선택한다. 도 3의 (2)에 도시된 바와 같이, 최대 투영 면적에 대응하는 단면의 데이터를 기본 잎 모델의 단면 데이터로 취하여, 기본 잎 모델의 단면 데이터를 사용하여 최대 투영 면적에 대응하는 단면을 기본 잎 모델의 최소 엔벨로프 박스에 나타낸다. 단면은 동일한 평면에 위치한 삼각면으로 구성된다.
단계 A3: 기본 서브모델에 대응하는 단면 데이터 및 변환 정보에 기초하여 다른 서브모델에 대응하는 단면 데이터를 결정한다.
기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보와 기본 서브모델에 대응되는 단면 데이터가 결정된 후, 변환 정보에 기초하여 단면 데이터를 변환하여 변환 단면 데이터를 획득할 수 있다. 변환된 단면 데이터는 다른 서브모델에 대응되는 단면 데이터이다. 변환 정보에 기초한 단면 데이터의 변환에 관련된 계산량이 서브모델에 대응하는 삼각형 메시 데이터를 통해 서브모델에 대응하는 단면 데이터의 결정에 관련된 계산량보다 적기 때문에, 본 출원의 이 실시예에 따르면, 서브모델의 단면 데이터를 신속하고 정확하게 획득할 수 있어 계산량을 줄일 수 있다.
물론, 실제 적용 시에는, 대안적으로 기본 서브모델의 단면 데이터를 결정하는 것과 동일한 원리를 사용하여 다른 서브모델의 삼각형 메시 데이터에 기초하여 다른 서브모델의 엔벨로프 박스의 데이터를 결정하고, 그런 다음 다른 서브모델의 엔벨로프 박스 데이터의 데이터에 기초하여 다른 서브모델에 대응하는 단면 데이터를 결정할 수 있다.
본 출원의 이 실시예에서, 다음 레벨은 적어도 2개의 레벨 중의 최상위 레벨 이외의 임의의 레벨일 수 있으며, 이는 적어도 2개의 레벨 중의 최하위 레벨을 포함하지만 이에 한정되지는 않는다. 본 출원의 이 실시예에서, 이전 레벨의 데이터세트는 다음 레벨의 데이터세트에 기초하여 결정된다.
가능한 구현에서, 다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트를 결정하는 것은 단계 B1 및 단계 B2를 포함한다.
단계 B1: 다음 레벨의 데이터세트 내의 임의의 2개의 단면 데이터에 대해, 2개의 단면 데이터가 어그리게이션 조건(aggregation condition)을 충족하는 것에 응답하여, 2개의 단면 데이터에 대응하는 서브모델에 기초하여 2개의 단면 데이터에 대응하는 단면 데이터를 결정한다.
다음 레벨의 데이터세트에서의 단면 데이터가 결정된 후. 단면 데이터들이 집성될 수 있어, 새로운 단면 데이터를 사용하여 집성 전에 적어도 2개의 단면 데이터를 근사화할 수 있다.
본 출원의 이 실시예에서, 다음 레벨의 데이터세트 내의 2개의 단면 데이터가 어그리게이션 조건을 충족하는지 여부를 판정할 수 있다. 몇몇 실시예에서, 어그리게이션 조건을 총족하는 2개의 단면 데이터는 사례 C1 및 사례 C2 중 적어도 하나를 포함한다.
사례 C1에서, 2개의 단면 데이터에 의해 지시되는 단면들 사이의 거리가 거리 임계값보다 작다.
본 출원의 이 실시예에서는, 하나의 단면 데이터에 의해 지시되는 단면의 중심 좌표를 결정할 수 있어, 이 중심 좌표를 사용하여 단면의 중심을 나타낼 수 있다. 대응하는 2개의 단면 데이터의 중심 좌표를 사용하여 2개의 단면의 중심 사이의 거리를 계산하고, 이를 2개의 단면 사이의 거리로 한다.
2개의 단면 사이의 거리가 거리 임계값보다 작은 경우, 2개의 단면에 대응하는 단면 데이터는 어그리게이션 조건을 총족한다. 본 출원의 이 실시예에서는 거리 임계값을 한정하지 않는다. 예를 들어 거리 임계값은 현재 레벨의 레벨 수와 관련 있다. 현재 레벨의 레벨 수가 적을수록 현재 레벨이 높다는 것을 지시이다. 그러면, 현재 레벨의 LOD는 더 거칠고, 현재 레벨의 데이터세트는 더 적은 양의 단면 데이터를 포함하며, 거리 임계값은 더 크다. 몇몇 실시예에서, 거리 임계값은 미리 설정된다.
사례 C2에서, 2개의 단면 데이터에 의해 지시되는 단면들 사이의 법선 벡터의 각도는 각도 임계값보다 작다.
본 출원의 이 실시예에서, 임의의 서브모델에 대응하는 삼각형 메시 데이터는 서브모델에 대응하는 삼각형 메시의 삼각면의 법선 벡터를 포함할 수 있거나, 임의의 서브모델에 대응하는 삼각형 메시의 삼각면의 법선 벡터가 서브모델에 대응하는 삼각형 메시 데이터의 정점 데이터에 기초하여 결정될 수 있다. 각각의 법선 벡터는 방향에 대응한다. 방향은 양의 방향(서브모델의 엔벨로프 박스 내부에서 외부로) 또는 음의 방향(서브모델의 엔벨로프 박스 외부에서 내부로)일 수 있다.
임의의 단면 데이터는 적어도 하나의 서브모델에 대응하기 때문에, 적어도 하나의 서브모델에 대응하는 삼각면의 법선 벡터에 대응하는 방향에 기초하여 평균 방향(average direction)이 계산될 수 있고, 단면 데이터에 의해 지시되는 단면의 법선 벡터는 평균 방향 및 단면 데이터에 기초하여 결정된다.
에 기초하여 평균 방향을 계산할 수 있다. 단면 데이터로 표시된 부분은 다음을 기준으로 결정된다.
임의의 2개의 단면 데이터에 의해 지시되는 단면 사이의 법선 벡터의 각도(즉, 법선 벡터 각도)가 각도 임계값보다 작은 경우, 그 2개의 단면 데이터는 어그리게이션 조건을 총족한다. 각도 임계값은 본 출원의 실시예에서 한정되지 않는다. 예를 들어 각도 임계값은 설정된 값이다. 예를 들어, 각도 임계값은 30도이다. 몇몇 실시예에서, 각도 임계값은 현재 레벨의 레벨 수와 관련된다. 현재 레벨의 레벨 수가 적을수록, 현재 레벨이 높다는 것을 지시한다. 그러면, 현재 레벨의 LOD는 더 거칠고, 현재 레벨의 데이터세트는 더 적은 양의 단면 데이터를 포함하며, 각도 임계값은 더 크다. 몇몇 실시예에서, 각도 임계값은 미리 설정된다. 개략적으로, 제3 레벨의 각도 임계값은 제3 각도 값으로 미리 설정되고, 제2 레벨의 각도 임계값은 제2 각도 값으로 미리 설정되며, 제3 각도 값은 제2 각도 값보다 작다.
어그리게이션 조건을 총족하는 2개의 단면 데이터에 대해, "기본 서브모델의 단면 데이터 결정하는 것"과 동일한 원리를 사용하여 그 2개의 단면 데이터에 대응하는 서브모델에 기초하여 단면 데이터를 결정하고, 그 단면 데이터를 2개의 단면 데이터에 대응하는 단면 데이터로서 취하여, 그 단면 데이터를 사용하여 2개의 단면 데이터를 근사화하여, 2개의 단면 데이터의 집성을 실현할 수 있다. 즉, 2개의 단면 데이터에 대응하는 서브모델을 조합으로 취하고, 그 조합의 엔벨로프 박스의 데이터를 결정하고, 엔벨로프 박스의 데이터에 기초하여 조합에 대응하는 단면 데이터를 결정하고, 2개의 단면 데이터에 대응하는 단면 데이터를 획득한다. 이 프로세스는 위의 단계 A2의 설명을 참조하여 얻을 수 있으며, 이에 대해서는 여기서 다시 자세히 설명하지 않는다.
단계 B1를 통해, 어그리게이션 조건을 총족하는 다음 레벨의 단면 데이터 2개를 다음 레벨의 단면 데이터에 의해 지시되는 단면의 위치와 방향에 따라 집계하고, 그 2개의 단면 데이터는 다음 레벨의 다른 단면 데이터와 집성되지 않는다. 집성을 통해, 단면 데이터의 양이 감소되고, LOD가 감소된다.
단계 B2: 후보 데이터세트 내의 단면 데이터의 양이 참조량보다 적은 것에 응답하여, 후보 데이터세트를 이전 레벨의 데이터세트로서 취하며, 후보 데이터세트는 어그리게이션 조건을 충족하는 2개의 단면 데이터에 대응하는 단면 데이터와 어그리게이션 조건을 충족하지 않는 단면 데이터를 포함한다.
다음 레벨의 단면 데이터를 집성하는 경우, 어그리게이션 조건을 충족하는 2개의 단면 데이터가 하나의 단면 데이터로 집성될 수 있으나, 단면 데이터의 일부는 집성될 수 없는 것으로 이해될 수 있다. 본 출원의 이 실시예에서, 어그리게이션 조건을 충족하는 2개의 단면 데이터에 대응하는 단면 데이터는 어그리게이션 조건을 충족하는 다른 2개의 단면 데이터에 대응하는 단면 데이터와의 집성에 사용될 수 있거나, 어그리게이션 조건을 충족하지 않는 단면 데이터와의 집성에 사용될 수 있으며, 어그리게이션 조건을 충족하지 않는 단면 데이터는 추가로, 어그리게이션 조건을 충족하지 않는 다른 단면 데이터와의 집성에 사용될 수 있다. 따라서, 어그리게이션 조건을 총족하는 2개의 단면 데이터와 어그리게이션 조건을 총족하지 않는 단면 데이터에 대응하는 단면 데이터가 동일한 방식으로 사용된다. 설명의 편의상, 어그리게이션 조건을 총족하는 2개의 단면 데이터와 어그리게이션 조건을 총족하지 않는 단면 데이터에 대응하는 단면 데이터가 세트 내의 단면 데이터로 간주된다. 이 세트를 후보 데이터세트라고 한다.
다음 단계의 단면 데이터를 집성하여 후보 데이터세트 내의 단면 데이터를 획득하므로, 단면 데이터의 양이 줄어들고, 단면 데이터에 대응하는 서브모델의 수량이 줄어들 수 있으며, 단면 데이터의 후속 렌더딩 과정에서 동시에 복수의 서브모델을 렌더링할 수 있어, 렌더링 속도를 향상시키고 렌더링 효율을 향상시킨다.
후보 데이터세트의 단면 데이터의 양이 참조량 이상인 것에 응답하여, 후보 데이터세트를 다음 레벨의 데이터세트로서 취한다. 참조량은 본 출원의 실시예에서 한정되지 않는다. 예를 들어, 참조량은 이전 레벨의 레벨 수와 관련 있다. 레벨 수가 적을수록 레벨이 높다는 것을 지시하며, 참조량은 더 적다. 몇몇 실시예에서, 참조량은 미리 설정되어 있다.
본 출원의 실시예에서, 상기한 방법은 단계 B3을 더 포함하고, 단계 B3은 단계 B1 이후에 수행된다.
단계 B3: 후보 데이터세트 내의 단면 데이터의 양이 참조량 이상인 것에 응답하여, 후보 데이터세트를 다음 레벨의 데이터세트로 취하고, 2개의 단면 데이터가 어그리게이션 조건을 충족시키는 것에 응답하여, 후보 데이터세트 내의 단면 데이터의 양이 참조량보다 적을 때까지 2개의 단면 데이터에 대응하는 서브모델에 기초하여 2개의 단면 데이터에 대응하는 단면 데이터의 결정을 주기적으로 수행하고, 후보 데이터세트를 이전 레벨의 데이터세트로서 취한다.
본 출원의 실시예에서는, 후보 데이터세트의 단면 데이터의 양이 참조량 이상인 것에 응답하여, 후보 데이터세트를 다음 레벨의 데이터세트로 취하고, 단계 B1은 다시 수행하여 후보 데이터세트를 획득한다. 단계 B2를 수행할지 단계 B3을 수행할지 여부는 후보 데이터세트 내의 단면 데이터 양에 따라 결정된다. 단계 B2가 수행되는 경우, 루프가 종료되고, 이전 레벨의 데이터세트가 획득된다. 단계 B3 이 수행되는 경우, 루프가 계속된다. 이러한 방식으로, 단면 데이터가 참조 데이터보다 작을 때까지 다음 레벨의 데이터세트에 대해 단면 데이터 집성을 1회 이상 수행하여, 이전 레벨의 데이터세트를 획득한다.
도 4를 참조하면, 도 4는 본 출원의 일 실시예에 따른 다양한 레벨의 데이터세트의 개략도이다. 도 4의 (1)은 식물 모델의 모든 잎 모델을 도시하며, 총 6004752개의 잎 모델이 있다. 도 4의 (2)는 도 4의 (1)에 기초하여 결정된 최하위 레벨의 데이터세트를 도시한다. 데이터세트는 307936개의 단면 데이터를 포함한다. 도 4의 (2)에 도시된 데이터세트에 대해 단면 데이터 집성을 1회 이상 수행하여, 도 4의 (3)에 도시된 데이터세트를 획득한다. 이 데이터세트는 최하위 레벨의 이전 레벨의 데이터세트이며, 이 데이터세트는 15,408개의 단면 데이터를 포함한다. 도 4의 (3)에 도시된 데이터세트에 대해 단면 데이터 집성을 1회 이상 수행하여, 도 4의 (4)에 도시된 데이터세트를 획득한다. 이 데이터세트는 최하위 레벨의 이전 2개 레벨의 데이터세트이며, 이 데이터 세트는 762개의 단면 데이터를 포함한다. 도 4에서, 영역의 색상이 어두울수록 영역에 대응하는 단면의 법선 벡터의 방향이 양의 방향에 가깝다는 것을 지시하고, 영역의 색상이 밝을수록 영역에 대응하는 단면의 법선 벡터의 방향이 음의 방향에 가깝다는 것을 지시한다.
단계 2012: 설정된 조건을 충족하는 것에 응답하여 적어도 2개의 레벨의 데이터세트에 기초하여 단면 데이터세트를 획득한다.
본 출원의 이 실시예에서는 설정된 조건을 한정하지 않는다. 예를 들어, 설정된 조건을 충족시키기 위해서는, 이전 레벨이 적어도 2개의 레벨 중의 최상위 레벨이거나, 단계 2011이 수행될 때마다, 루프의 수가 업데이트된다. 즉, 이전 루프의 수에 1을 더해 현재 루프의 수를 구한다. 그 후, 설정된 조건을 충족시키기 위해. 루프 수가 설정된 수에 도달한다.
본 출원의 이 실시예에서, 상기한 방법은 단계 2013을 더 포함한다. 단계 2013은 단계 2011 이후에 수행된다.
단계 2013: 설정된 조건을 충족하지 않는 것에 응답하여, 이전 레벨의 데이터세트를 다음 레벨의 데이터세트로 취하고, 설정된 조건이 될 때까지 다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트를 결정하는 단계를 주기적으로 수행하여, 적어도 2개의 레벨의 데이터세트에 기초한 단면 데이터세트를 획득한다.
본 출원의 이 실시예에서는, 설정된 조건이 충족되지 않을 경우, 이전 레벨의 데이터세트를 다음 레벨의 데이터세트로 취하고, 단기 2011를 주기적으로 수행하여, 설정된 조건이 충족되는지 여부를 판정한다. 설정된 조건이 충족되는 경우, 루프가 종료되고 단면 데이터세트가 획득된다. 설정된 조건이 충족되지 않는 경우, 루프는 계속된다. 이러한 방식으로, 단면 데이터세트가 획득될 때까지 최하위 레벨의 데이터세트에 기초하여 계속해서 이전 레벨의 데이터세트가 결정될 수 있다.
본 출원의 이 실시예에서, 이전 레벨의 임의의 단면 데이터는 다음 레벨의 임의의 단면 데이터에 대응한다. 이러한 방식으로 서로 다른 레벨의 단면 데이터가 연관된다. 본 출원의 이 실시예에서는 인덱스 구조를 이용하여 다양한 레벨의 단면 데이터를 저장할 수 있다. 인덱스 구조는 LOD 데이터 구조라고도 하며, 인덱스 구조는 트리 구조이다. 따라서 인덱스 구조를 LOD 트리 구조라고 할 수 있다.
LOD 트리 구조는 적어도 2개의 레벨을 포함한다. 최상위 레벨은 적어도 하나의 루트 노드(root node)에 대응한다. 최하위 레벨은 복수의 리프 노드(leaf node)에 대응한다. 레벨이 2개만 있는 경우, 최상위 레벨의 하나의 루트 노드는 최하위 레벨의 적어도 하나의 리프 노드에 대응하고, 루트 노드는 최상위 레벨의 데이터세트 내의 하나의 단면 데이터를 나타낸다. 따라서, 루트 노드의 수량은 최상위 레벨의 데이터세트 내의 단면 데이터의 수량과 동일하다. 리프 노드는 자식 노드(child node)가 없다. 하나의 리프 노드는 최하위 레벨의 데이터세트 내의 하나의 단면 데이터를 나타낸다. 따라서 리프 노드의 수량은 최하위 레벨의 데이터세트 내의 단면 데이터의 수량과 동일하다. 가능한 구현에서, 최하위 레벨의 데이터세트는 3D 모델에서의 서브모델의 단면 데이터를 포함한다. 따라서 리프 노드의 수량은 서브모델의 수량과 동일하다.
LOD 트리 구조가 2개 이상의 레벨을 포함하는 경우, LOD 트리 구조는 적어도 하나의 중간 레벨(intermediate level)을 더 포함하며, 중간 레벨은 최하위 레벨과 최고 레벨을 제외한 임의의 레벨이다. 하나의 중간 레벨은 복수의 중간 노드에 대응한다. 이 경우, 최상위 레벨의 하나의 루트 노드는 다음 중간 레벨의 적어도 하나의 중간 노드에 대응하고, 이전 중간 레벨의 하나의 중간 노드는 다음 중간 레벨의 적어도 하나의 중간 노드에 대응한다. 마지막 중간 레벨의 하나의 중간 노드는 최하위 레벨의 적어도 하나의 리프 노드에 대응한다.
도 5를 참조하면, 도 5는 본 출원의 실시예에 따른 LOD 트리 구조의 개략 구조도이다. LOD 트리 구조는 레벨 0부터 레벨 n+1까지 포함하며, 여기서 n은 양의 정수이다. 임의의 레벨은 각각이 하나의 단면 데이터를 나타내는 복수의 노드에 대응한다. 레벨 n+1이 최하위 레벨이며, 레벨 n+1의 단면 데이터는 식물 모델의 다양한 잎 모델에 순차적으로 대응한다. 따라서, 레벨 n+1의 단면 데이터의 수량은 식물 모델의 잎 모델의 수량과 동일하다. 레벨 n의 임의의 단면 데이터는 레벨 n+1의 적어도 하나의 단면 데이터에 대응하는 등이며, 이는 레벨 0까지 계속된다. 레벨 0이 최상위 레벨이다. 레벨 0의 임의의 단면 데이터는 레벨 1의 적어도 하나의 단면 데이터에 대응한다.
단계 202: 단면 데이터세트 내의 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하며, 텍스처 맵 중 어느 하나는 대응 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 대응 단면 데이터에 의해 지시되는 단면상에 투영하여 획득되는 텍스처 데이터를 나타내는 데 사용되고, 대응 단면 데이터는 복수의 단면 데이터 중의 하나의 단면 데이터이고 텍스처 맵에 대응한다.
본 출원의 이 실시예에서, 단면 데이터세트 내의 임의의 단면 데이터에 대해, 단면 데이터에 대응하는 텍스처 맵은 단면 데이터에 대응하는 서브모델의 텍스처 데이터에 따라 결정된다. 단면 데이터세트 내의 모든 단면 데이터에 대해, 단면 데이터에 대응하는 서브모델의 텍스처 데이터에 따라 각각의 단면 데이터에 대응하는 텍스처 맵이 결정되고 획득된다. 이에 상응하여, N개의 서브모델에 기초하여 하나의 단면 데이터가 결정되는 경우, N개의 서브모델의 텍스처 데이터가 취득될 수 있으며, N개의 서브모델의 텍스처 데이터를 단면 데이터에 의해 지시되는 단면에 투영함으로써 취득되는 텍스처 데이터는 단면 데이터에 대응하는 텍스처 맵이다. 단면 데이터에 의해 지시되는 단면에 서브모델의 텍스처 데이터를 투영하는 경우, 그 단면은 투영된 텍스처 데이터가 위치하는 영역을 포함하며, 그 영역의 텍스처 데이터는 투형 후의 서브모델의 텍스처를 반영할 수 있고, 영역의 윤곽은 투영 후의 서브모델의 형상을 반영할 수 있다. 따라서, 단면 데이터에 대응하는 텍스처 맵은 투영 후의 단면 데이터에 대응하는 서브모델의 텍스처 및 형상을 반영할 수 있으며, 이는 투영 후의 서브모델의 형상이 변형되지 않도록 보장하고 투영 후의 서브모델의 텍스처의 충실도를 보장한다.
가능한 구현에서, 단면 데이터세트 내의 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하는 단계 전에, 상기한 방법은 임의의 단면 데이터에 대응하는 임의의 서브모델에 대해, 서브모델의 텍스처 데이터를 단면 데이터에 의해 지시되는 단면상에 투영하여, 서브모델의 텍스처 맵을 획득하는 단계; 및 단면 데이터에 대응하는 서브모델들의 텍스처 맵을 융합하여 단면 데이터에 대응하는 텍스처 맵을 획득하는 단계를 더 포함한다.
본 출원의 이 실시예에서는 단면 데이터에 대응하는 임의의 서브모델에 대해, 서브모델에 대응하는 텍스처 데이터는 서브모델에 대응하는 정점의 UV 좌표 및 서브모델에 대응하는 적어도 하나의 텍스처 이미지를 포함한다. 일반적으로, 정점의 UV 좌표는 정점에 대응되는 텍스처 값을 결정하는 데 사용되며, 텍스처 이미지는 복수의 픽셀의 텍스처 값을 포함한다. 따라서, 서브모델에 대응되는 텍스처 데이터는 픽셀의 텍스처 값으로 이해될 수 있다.
몇몇 실시예에서는, 픽셀 단위로, 서브모델에 대응하는 임의의 픽셀을 단면 데이터에 의해 지시되는 임의의 단면에 투영하여 투영된 픽셀을 획득하고, 임의의 픽셀의 텍스처 값이 투영된 픽셀에 할당되므로, 투영된 픽셀의 텍스처 값은 투영 전의 픽셀의 텍스처 값과 동일하다. 서브모델의 텍스처 맵은 서브모델에 대응하는 픽셀을 투영함으로써 획득될 수 있다.
서브모델은 3D 모델에 속하고, 서브모델에 대응되는 텍스처 데이터는 3D 텍스처 데이터와 동일하며, 서브모델의 텍스처 맵은 2D 맵에 속하는 것으로 이해될 수 있다. 따라서, 본 출원의 이 실시예에서는 3D 텍스처 데이터를 2D UV 도메인으로 투영한다. 투영 시에, 픽셀을 단면상에 투영하여야 한다. 즉, 서브모델에 대응하는 각각의 삼각면을 단면 영역에 투영해야 한다.
가능한 구현에서, 서브모델의 정점을 단면 영역에 투영하여, 서브모델의 투영된 정점을 획득할 수 있다. 이 경우, 임의의 픽셀에 대해, 서브모델의 투영된 정점에 따라 픽셀의 무게 중심 좌표(barycentric coordinate)가 결정되고, 무게 중신 좌표와 서브모델의 정점에 따라, 투영 전의 픽셀의 텍스처 값이 취득되고, 투영 전의 픽셀의 텍스처 값은 투영된 픽셀에 할당된다.
위의 방식으로, 임의의 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 단면 데이터에 의해 지시되는 단면에 투영하여, 단면 데이터에 대응하는 서브모델의 텍스처 맵을 획득할 수 있다. 다음으로, 단면 데이터에 대응하는 서브모델의 텍스처 맵을 융합하여, 단면 데이터에 대응하는 텍스처 맵을 획득한다. 예를 들어, 단면 데이터에 의해 지시되는 단면상의 임의의 점은 적어도 2개의 픽셀에 대응하고, 2개의 픽셀은 서로 다른 서브모델의 텍스처 맵에 속한다. 그러면, 적어도 두 개의 픽셀의 픽셀값을 평균하고, 새로운 픽셀값을 획득할 수 있어, 적어도 2개의 픽셀의 융합을 실현할 수 있다. 이러한 방식으로, 단면 데이터에 대응하는 서브모델의 텍스처 맵을 융합할 수 있다. 몇몇 실시예에서, 픽셀의 위치에 따라 픽셀의 깊이를 적절하게 조정하여 텍스처 맵을 최적화할 수 있다.
본 출원의 이 실시예에서, 단면 데이터세트 내의 각각의 단면 데이터는 이에 대응하는 텍스처 맵을 갖는다. 단면 데이터세트에는 N개의 단면 데이터를 포함하며, N개의 텍스처 맵도 있다. 몇몇 실시예에서, UV 도메인은 개의 UV 메시로 균일하게 분할되며, 처음 N개의 UV 메시는 N개의 단면 데이터에 할당되고, 각각의 UV 메시는 대응 단면 데이터의 텍스처 맵을 저장한다.
몇몇 실시예에서, 하나의 단면 데이터에 의해 지시되는 단면은 동일 평면 상에 위치하는 삼각면으로 구성된다. 삼각면의 수량이 A개이면, 각각의 UV 메시는 A개의 UV 서브메시(submesh)로 분할될 수 있으며, 하나의 UV 서브메시는 하나의 삼각면의 텍스처 맵을 저장하는 데 사용된다.
도 6을 참조하면, 도 6은 본 출원의 일 실시예에 따른 텍스처 맵의 개략도이다. 도 6의 (1)은 단면 데이터세트 내의 어느 레벨에서의 단면 데이터에 의해 지시되는 단면을 도시하며, 총 9440개의 단면이 있다. 도 6의 (2)의 왼쪽 절반은 9440개의 단면 데이터에 대응하는 텍스처 맵을 도시한다. 도 6의 (2)의 오른쪽 절반은 일부 텍스처 맵의 확대도를 도시한다. 도 6의 (2)에서 알 수 있듯이, 적어도 하나의 심볼의 텍스처 데이터를 하나의 단면 데이터에 의해 지시되는 단면에 투영하여 그 단면 데이터에 대응하는 텍스처 맵을 획득하며, 텍스처 맵은 투영 후의 서브모델의 텍스처 및 형상을 반영할 수 있다.
단계 203: 단면 데이터세트 내의 복수의 단면 데이터와 대응하는 텍스처 맵에 기초하여 3D 모델을 렌더링한다.
본 출원의 이 실시예에서, 단면 데이터세트 내의 임의의 단면 데이터에 대해, 그 단면 데이터에 대응하는 텍스처 맵을 그 단면 데이터에 의해 지시되는 단면에 렌더링하여, 그 단면 데이터의 렌더링 결과를 획득한다. 단면 데이터는 적어도 하나의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용되고, 단면 데이터에 대응되는 텍스처 맵은 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 단면 데이터에 의해 지시되는 단면상에 투영함으로써 획득되는 텍스처 데이터를 표현하는 데 사용된다. 따라서, 단면 데이터의 렌더링 결과는 서브모델의 렌더링 결과와 동일하다. 3D 모델의 서브모델을 렌더링함으로써 3D 모델의 렌더링 결과를 획득할 수 있다.
가능한 구현에서, 단면 데이터세트는 적어도 2개 레벨의 데이터세트를 포함하고, 임의 레벨의 데이터세트는 적어도 하나의 단면 데이터를 포함하며, 이전 레벨의 하나의 단면 데이터는 다음 레벨의 적어도 하나의 단면 데이터에 대응한다. 단계 203은 단계 2031과 단계 2032을 포함한다.
단계 2031: 이전 레벨의 임의의 단면 데이터에 대해, 단면 데이터가 제1 렌더링 조건과 제2 렌더링 조건을 충족하는 것에 응답하여, 단면 데이터에 대응하는 텍스처 맵에 따라 단면 데이터를 렌더링하여 단면 데이터에 대한 렌더링 결과를 획득한다.
몇몇 실시예에서, 적어도 2개의 레벨 중의 임의의 레벨(예컨대, 최상위 레벨)로부터, 임의의 레벨 및 그 아래의 다양한 레벨의 단면 데이터는 위에서 아래로 순서대로 순회되고(traversed), 제1 렌더링 조건 및 제2 렌더링 조건을 충족하는 하나의 단면 데이터를 렌더링하여 단면 데이터에 대한 렌더링 결과를 획득한다. 제1 렌더링 조건을 충족하는 단면 데이터는 뷰 절두체(view frustum) 내에 있는 단면 데이터에 의해 지시되는 단면을 포함한다.
제2 렌더링 조건을 충족하는 단면 데이터는 크기 임계값 이하인 화면상의 단면 데이터의 크기 데이터를 포함한다.
렌더링 초기에, 카메라의 위치, 카메라 파라미터, 3D 모델의 위치 등을 획득할 수 있다. 카메라 파라미터는 카메라와 화면 간의 상대 관계를 나타낼 수 있다. 한편, 카메라의 위치, 카메라 파라미터, 및 3D 모델의 위치를 통해, 단면 데이터에 의해 지시되는 단면이 뷰 절두체 내에 있는지 여부를 판정할 수 있다. 뷰 절두체는 3D 영역이다. 객체가 3D 영역 내에 있는 경우, 객체는 화면에서 볼 수 있다. 따라서 뷰 절두체는 카메라의 시야와 동일하다. 한편, 화면상의 단면 데이터의 크기 데이터는 카메라의 위치, 카메라 파라미터, 및 3D 모델의 위치를 통해 계산될 수 있다. 크기 데이터는 화면상에 단면 데이터에 의해 지시되는 단면의 둘레, 면적, 대각선 길이 등 중 어느 하나일 수 있다.
본 출원의 이 실시예에서, 이전 레벨의 임의의 단면 데이터에 대해, 단면 데이터가 제1 렌더링 조건을 충족하는 경우, 단면 데이터에 의해 지시되는 단면이 전체 또는 부분적으로 뷰 절두체 내에 있음을 지시한다. 이 경우, 단면 데이터에 대응하는 서브모델은 카메라의 시야 내에 있다. 따라서 이러한 서브모델을 렌더링해야 한다.
단면 데이터가 제2 렌더링 조건을 충족하는 경우, 즉 화면상의 단면 데이터의 크기 데이터가 크기 임계값보다 크지 않은 경우, 이는 단면 데이터에 대응하는 서브모델이 카메라에서 비교적 멀리 떨어져 있고, 단면 데이터에 대응하는 텍스처 맵이 직접 획득될 수 있으며, 단면 데이터에 대응하는 텍스처 맵은 단면 데이터에 의해 지시되는 단면상에 픽셀 셰이더(pixel shader)를 사용하여 렌더링되어, 단면 데이터의 레더링 결과를 획득한다. 본 출원의 이 실시예에서는 크기 임계값은 한정되지 않는다. 예를 들어 크기 임계값은 설정된 값이다.
단계 2032: 제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하는 것에 응답하여, 단면 데이터의 렌더링 결과에 기초하여 3D 모델의 렌더링 결과를 획득한다.
제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하는 것에 응답하여, 단계 2031에 따라 단면 데이터에 대한 렌더링 결과가 획득되었다. 이 경우, 카메라 시야각 내의 모든 서브모델이 렌더링되었고, 3D 모델의 렌더링 결과는 단면 데이터의 렌더링 결과에 기초하여 획득될 수 있다.
가능한 구현에서, 방법은 단계 2033 및 단계 2034를 더 포함한다. 단계 2033 및 단계 2034는 단계 2031 이후에 수행될 수 있다.
단계 2033: 이전 레벨이 적어도 2개의 레벨 중의 최하위 레벨이 아니고, 이전 레벨이 제1 렌더링 조건을 충족하지만 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 타깃 단면 데이터에 대응하는 다음 레벨의 단면 데이터를 주기적으로 결정하고; 다음 레벨을 이전 레벨로 취하며; 이전 레벨의 임의의 단면 데이터에 대해, 단면 데이터가 제1 렌더링 조건 및 제2 렌더링 조건을 충족하는 것에 응답하여, 제1 렌더링 조건을 충족하는 이전 레벨의 복수의 단면 데이터가 제2 조건을 충족할 때까지, 단면 데이터에 대응하는 텍스처 맵에 따라 단면 데이터를 렌더링하여 단면 데이터에 대응하는 렌더링 결과를 획득한다.
이전 레벨이 적어도 2개의 레벨 중의 최하위 레벨이 아니고 제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하지 않는 단면 데이터를 포함하는 경우, 루프가 시작된다. 제2 렌더링 조건을 충족하지 않는 단면 데이터를 타깃 단면 데이터로 취한다. 이후, 타깃 단면 데이터에 대응하는 다음 레벨의 단면 데이터를 이전 레벨의 단면 데이터로 취하고, 단계 2031을 수행하여 임의의 단면 데이터에 대응하는 렌더링 결과를 취득한다. 제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하지 않는 단면 데이터를 포함하는 경우, 루프는 계속된다. 제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하는 경우, 루프가 종료된다.
단계 2034: 단면 데이터의 렌더링 결과에 기초하여 3D 모델의 렌더링 결과를 획득한다.
루프가 종료되면, 임의의 레벨의 단면 데이터 중 일부가 렌더링에 참여할 수 있다. 따라서, 단면 데이터의 렌더링 결과는 적어도 하나의 레벨의 단면 데이터의 렌더링 결과를 포함한다. 3D 모델의 렌더링 결과는 적어도 2개 레벨의 단면 데이터의 렌더링 결과에 기초하여 획득될 수 있다.
렌더링에 참여하는 모든 단면 데이터는 제1 렌더링 조건을 충족해야 한다. 즉, 단면 데이터에 의해 지시되는 단면은 완전히 또는 부분적으로 뷰 절두체 내에 있어야 한다. 본 출원의 이 실시예에서는 임의의 레벨 및 그 아래의 다양한 레벨의 단면 데이터가 위에서 아래로 순서대로 계층별로 순회되기 때문에, 어느 레벨의 하나의 단면 데이터에 의해 지시되는 단면이 완전히 뷰 절두체 외부에 있는 경우, 그 단면 데이터는 렌더링에 참여하지 않으며, 단면 데이터에 대응하는 단면 데이터와 이 레벨 아래의 다양한 레벨에서도 렌더링에 참여하지 않는다. 단면 데이터에 의해 지시되는 단면이 완전히 또는 부분적으로 뷰 절두체의 외부에 있는 경우, 제2 렌더링 조건을 충족하는 경우, 그 단면 데이터는 렌더링에 참여하지 않거나, 제2 렌더링 조건이 충족되지 않는 경우, 단면 데이터에 대응하는 다음 레벨의 단면 데이터가 제1 렌더링 조건과 제2 렌더링 조건을 충족하는지 여부를 판정해야 하며, 단면 데이터가 렌더링에 참여하는지 여부는 판정 결과에 따라 결정된다. 이러한 방식으로, 완전히 보이지 않는 단면을 빠르고 효율적으로 제거할 수 있어, 렌더링해야 하는 단면 데이터의 양을 줄이고 렌더링 성능을 향상시킨다.
가능한 구현에서, 상기한 방법은 단계 2035 및 단계 2037을 더 포함한다. 단계 2035 및 단계 2037은 단계 2031 이후에 수행될 수 있다.
단계 2035: 이전 레벨이 적어도 2개의 레벨 중의 최하위 레벨이고 이전 레벨이 제1 렌더링 조건을 충족하지만 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 타깃 단면 데이터에 대응하는 타깃 서브모델을 취득한다.
본 출원의 이 실시예에서, 이전 레벨이 적어도 2개의 레벨 중의 최하위 레벨이고, 이전 레벨이 타깃 단면 데이터를 포함하는 경우, 타깃 단면 데이터에 대응하는 다음 레벨의 단면 데이터는 존재하지 않기 때문에, 타깃 단면 데이터에 대응하는 타깃 서브모델이 취득될 수 있어, 타깃 서브모델을 렌더링하고 렌더링 효과를 향상시킬 수 있다.
몇몇 실시예에서, 타깃 단면 데이터에 대응하는 타깃 서브모델을 취득하는 단계는, 타깃 단면 데이터에 대응되는 타깃 서브모델이 기본 서브모델인 것에 응답하여, 기본 서브모델을 취득하는 단계; 및 타깃 단면 데이터에 대응되는 타깃 서브모델이 다른 서브모델인 것에 응답하여, 기본 서브모델 및 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보를 취득하고, 기본 서브모델 및 변환 정보에 기초하여 다른 서브모델을 취득하는 단계를 포함한다.
3D 모델의 서브모델은 기본 서브모델과 기본 서브모델 이외의 서브모델을 포함한다. 기본 서브모델을 결정하는 방식과, 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보에 대해서는 위에서 설명하였으므로 여기서는 더 자세히 설명하지 않는다.
기본 서브모델과 기본 서브모델에서 다른 서브모델로의 변형에 대한 변형 정보를 통해 기본 서브모델이 다른 서브모델로 변형될 수 있기 때문에, 기본 서브모델과 다른 서브모델은 유사한 형상과 텍스처를 갖는다. 기본 서브모델과 기본 서브모델에서 다른 서브모델로의 변형에 대한 변형 정보가 저장 공간에 저장되므로, 전자 디바이스는 기본 서브모델의 형상과 텍스처의 존재만 필요로 하고 다른 서브 모델의 형상 및 텍스처의 존재를 필요로 하지 않아, 반복되는 서브모델의 형상 및 텍스처의 저장을 방지하고 저장 공간의 점유를 줄일 수 있다. 특히 서브 모델의 수가 많고 서브모델의 복잡도가 높은 경우(즉, 서브모델의 정점과 삼각면이 더 많은 경우) 저장 공간 점유를 크게 줄일 수 있다.
본 출원의 이 실시예에서, 3D 모델에서 각각의 서브모델은 그에 대응하는 식별 정보를 가지며, 식별 정보와 기본 서브모델 사이의 제1 매핑 관계, 및 식별 정보, 기본 서브모델 및 변환 정보 간의 제2 매핑 관계는 저장 공간에 저장될 수 있다. 타깃 단면 데이터에 대응하는 임의의 식별 정보는 타깃 단면 데이터에 기초하여 결정될 수 있으며, 이에 따라 식별 정보에 대응되는 타깃 서브모델이 결정될 수 있다. 제1 매핑 관계가 타깃 서브모델이 기본 서브모델임을 지시하는 식별 정보를 포함하는 경우, 식별 정보에 대응되는 타깃 서브모델은 저장 공간에서 직접 취득될 수 있다. 제2 매핑 관계가 타깃 서브모델이 다른 서브모델임을 지시하는 식별 정보를 포함하는 경우, 식별 정보 및 변환 정보에 대응하는 기본 서브모델을 저장 공간으로부터 직접 취득할 수 있고, 기본 서브모델을 변환 정보에 기초하여 변환하여 식별 정보에 대응하는 타깃 서브모델을 획득한다.
단계 2036: 타깃 서브모델을 렌더링하여 타깃 서브모델의 렌더링 결과를 획득한다. 타깃 서브모델은 픽셀 셰이더를 사용하여 렌더링될 수 있으며, 여기서 렌더링 방식은 한정되지 않는다.
단계 2037: 단면 데이터의 렌더링 결과와 타깃 서브모델의 렌더링 결과에 기초하여 3D 모델의 렌더링 결과를 획득한다.
본 출원의 이 실시예에서, 3D 모델의 일부 서브모델은 단면 데이터의 관점에서 렌더링되는 반면, 다른 서브모델들은 직접 렌더링된다. 따라서,
3D 모델의 렌더링 결과는 단면 데이터의 렌더링 결과와 타깃 서브모델의 렌더링 결과에 기초하여 직접 획득될 수 있다.
3D 모델에서는 모든 서브모델을 직접 렌더링할 수 있다. 이 경우, 3D 모델의 렌더링 결과는 타깃 서브모델의 렌더링 결과에 기초하여 직접 획득된다.
도 7을 참조하면, 도 7은 본 출원의 일 실시예에 따른 렌더링의 개략도이다. 본 출원의 이 실시예에서는 도 5에 도시된 LOD 트리 구조를 기반으로 렌더링이 수행된다. 본 출원의 이 실시예에서는 레벨 0부터, LOD 트리 구조의 노드가 위에서 아래로 순회된다. 레벨 0에 있는 임의의 노드의 경우, 그 노드는 단면 데이터에 대응한다. 화면상의 단면 데이터의 크기 데이터는 메시 셰이더(701)에 기초하여 결정될 수 있다. 메시 셰이더(701)는 적어도 하나의 스레드(thread)에 대응된다. 하나의 스레드는 화면상의 단면 데이터의 크기 데이터를 결정하는 데 사용된다. 즉, 스레드는 화면에 투영되었을 때 단면 데이터에 의해 지시되는 단면의 에지 길이(즉, 둘레)를 결정하는 데 사용된다. 그 후, 다음 레벨에서 단면 데이터를 회전할지 여부를 판정하기 위해 단계 702가 수행된다. 크기 데이터가 크기 임계값보다 크지 않는 경우, 단면 데이터에 대응하는 다음 레벨(즉, 레벨 1)의 단면 데이터를 선택하지 않은 것으로 판정하고, 단면 데이터를 래스터화(703)한 후, 레스터화(703)된 단면 데이터를 픽셀 셰이더(704)를 사용하여 렌더링한다. 단면 데이터를 래스터화(703)하는 것은 단면 데이터에 의해 지시되는 단면을 화면상에 투영하여 화면상의 단면을 획득하는 것이고, 그러면 픽셀 셰이더(704)는 단면 데이터의 텍스처 맵에 기초하여 화면상의 단면을 렌더링하여, 단면 데이터의 렌더링 결과를 획득할 수 있다. 예를 들어, 도 7에서, 검은색 노드에 대응하는 단면 데이터를 래스터화(703)한 후, 픽셀 셰이더(704)를 사용하여 렌더링이 수행된다. 크기 데이터가 크기 임계값보다 큰 경우, 단면 데이터에 대응하는 다음 레벨의 단면 데이터가 선택되는 것으로 결정되고, 다음 레벨의 단면 데이터가 GPU(Graphics Processing Unit) 버퍼에 저장된다. 즉, 단면 데이터에 대응하는 레벨 1의 단면 데이터가 GPU 버퍼(705)에 저장된다. 예를 들어, 도 7에서, 회색 노드에 대응하는 다음 레벨의 다양한 노드들이 GPU 버퍼(705)에 저장된다.
레벨 0의 여러 노드를 모두 순회한 후, GPU 버퍼(705)에 저장된 노드를 메시 셰이더(701)를 기반으로 순회할 수 있다. 크기 데이터가 크기 임계값보다 큰 레벨 0의 노드에 대응하는 다음 레벨의 노드는 GPU 버퍼(705)에 저장되기 때문에, 그러한 노드는 레벨 0의 노드와 동일한 방식으로 순차적으로 처리될 수 있으며, 이에 대해서는 여기서 다시 자세히 설명하지 않는다. GPU 버퍼(705)에 저장된 노드는 질서정연하게 배열되어, 내부 메모리에 대한 지속적인 액세스를 보장하고 보다 빠른 정보 검색을 촉진한다.
크기 데이터가 크기 임계값보다 큰 레벨 n의 노드에 대응하는 다음 레벨(즉, 레벨 n+1)의 노드가 GPU 버퍼(705)에 저장되는 경우, 그러한 레벨 n+1의 노드는 메시 셰이더(701)에 기초하여 순회될 수 있다. 임의의 노드에 대해, 노드에 대응하는 크기 데이터가 크기 임계값보다 크지 않은 경우, 노드에 대응하는 단면 데이터는 래스터화(703)될 수 있고, 픽셀 셰이더(704)는 노드에 대응하는 텍스처 맵에 기초하여 래스터화(703)된 단면 데이터를 렌더링한다. 노드에 대응하는 크기 데이터가 크기 임계값보다 큰 경우, 노드에 대응하는 잎 모델은 래스터화(703)될 수 있으며, 픽셀 셰이더(704)는 래스터화(703)된 잎 모델을 렌더링할 수 있다.
본 출원의 이 실시예에서는 단면 데이터를 렌더링하지만, 단면 데이터에 의해 지시되는 단면이 사각형(quadrilateral)인 경우, 사각형은 두 개의 삼각형으로 이루어진 것으로 간주되며, 계산량이 작게 나타난다. 또한, LOD 트리 구조를 기반으로 렌더링은 랜더링해야 하는 단면 데이터의 양이 줄어들 수 있지만, 대규모 장면에서는 여전히 계산량이 많다. 화면상의 단면 데이터의 크기 데이터는 메시 셰이더를 사용하여 계산되며, 이는 단면 데이터의 렌더링 여부를 빠르게 판단할 수 있어, 렌더링 속도를 높이고 렌더링의 실시간 성능을 보장하므로, 본 출원의 이 실시예에 따르면 비디오 장면 및 게임 장면과 같은 실시간 상호작용 장면에서도 여전히 양호한 렌더링 효과가 달성된다. 메시 셰이더는 다른 GPU 하드웨어(예컨대 컴퓨팅 셰이더)로 대체될 수 있다.
일부 관련 기술에서는, 전체 3D 모델을 직접 렌더링하고, 이러한 렌더링 방식을 기반으로 연속된 두 프레임의 이미지를 렌더링하는 경우, 전체 3D 모델이 직접 교체된다. 연속된 두 프레임의 이미지에 대응하는 카메라의 위치와 카메라 파라미터가 크게 변경되는 경우, 3D 모델이 갑자기 변경되어, 시각적 결함이 쉽게 발생할 수 있다. 본 출원의 이 실시예에서는 한편으로는 3D 모델의 서브모델에 대해 서로 다른 레벨의 단면 데이터가 구축되며, 어느 레벨의 단면 데이터는 카메라의 위치, 서브모델의 위치 및 카메라 파라미터에 따라 이후에 유연하게 선택될 수 있다. 카메라의 위치와 카메라 파라미터가 크게 변경되더라도, 서브모델 레벨에서 렌더링함으로써 전체 3D 모델이 비교적 원활하게 변화할 수 있어, 3D 모델의 큰 변화로 인한 갑작스러운 시각적 결함을 방지할 수 있다. 한편, 단면 데이터는 단면 데이터에 대응되는 텍스처 맵을 기반으로 렌더링된다. 텍스처 맵은 서브모델의 형상, 텍스처 등의 정보를 보유할 수 있으므로, 카메라의 위치와 카메라 파라미터가 크게 변경되더라도 서브모델이 변형되지 않을 수 있으며, 이는 또한 시각적 결함도 어느 정도 줄일 수 있다.
정보(사용자 장비 정보, 사용자 개인정보 등을 포함하지만 이에 한정되지 않음), 데이터(분석에 사용되는 데이터, 저장된 데이터, 표시되는 데이터 등을 포함하지만 이에 한정되지 않음) 및 본 출원에 관련된 신호는 사용자의 승인을 받았거나 모든 당사자의 완전한 승인을 받았으며, 관련 데이터의 수집, 사용 및 처리는 관련 국가 및 지역의 관련 법률, 규정 및 표준을 준수해야 한다. 예를 들어, 본 출원에 관련된 3D 모델 등은 충분한 권한이 있는 경우에 취득된다.
상기한 방법은 적어도 하나의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용되는 단면 데이터를 먼저 취득한 후, 단면 데이터에 대응되는 텍스처 맵을 취득하며, 단면 데이터에 대응하는 텍스처 맵은 단면 데이터에 대응하는 서브모델의 텍스처 데이터에 따라 결정된다. 텍스처 맵은 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 임의의 단면 데이터에 의해 지시되는 단면상에 투영하여 획득되는 텍스처 데이터를 나타내기 때문에, 투영 후의 서브모델의 형상이 쉽게 변형되지 않으므로, 단면 데이터와 대응 텍스처 맵을 기반으로 렌더링할 시에 렌더링 효과가 향상될 수 있다.
본 출원의 이 실시예에서 제공되는 3D 모델 렌더링 방법은 방법 단계의 관점에서 위에서 자세히 설명되었으며, 아래에서는 장면과 결합하여 더 자세하게 설명한다. 본 출원의 일 실시예에서의 장면에서, 3D 모델은 식물 모델이고, 서브모델은 잎 모델이다.
도 8을 참조하면, 도 8은 본 출원의 일 실시예에 따른 식물 모델 렌더링의 개략도이다.
단계 801: 식물 모델을 취득하며, 식물 모델은 복수의 잎 모델을 포함한다.
단계 802: 복수의 잎 모델 중의 기본 잎 모델 및 기본 잎 모델에서 다른 잎 모델로의 변환에 대한 변환 정보를 결정한다. 여기서 다른 잎 모델은 복수의 잎 모델 중 기본 잎 모델 이외의 잎 모델이다. 기본 잎 모델은 위에서 언급한 기본 서브모델에 대응하고, 다른 잎 모델은 위에서 언급한 다른 서브모델에 대응한다.
단계 803: 기본 잎 모델의 단면 데이터를 결정하고, 기본 잎 모델의 단면 데이터 및 변환 정보에 기초하여 다른 잎 모델의 단면 데이터를 결정하고, 최하위 레벨의 단면 데이터를 획득한다. 다음에, 단계 S 1-1이 수행된다.
단계 S1-1: 다음 레벨의 임의의 2개의 단면 데이터가 어그리게이션 조건을 충족하는 것에 응답하여, 2개의 단면 데이터에 대응하는 잎 모델에 기초하여 2개의 단면 데이터에 대응하는 단면 데이터를 결정한다.
단계 S1-2: 어그리게이션 조건을 충족하는 2개의 단면 데이터에 대응하는 단면 데이터와 어그리게이션 조건을 충족하지 않는 단면 데이터를 후보 데이터세트 내의 단면 데이터로서 취한다.
단계 S1-3: 후보 데이터세트 내의 단면 데이터량이 참조량 이상인 것에 응답하여, 후보 데이터세트 내의 단면 데이터를 다음 레벨의 단면 데이터로서 취한다. 단계 S 1이 다시 수행된다.
단계 S1-4: 후보 데이터세트 내의 단면 데이터량이 참조량보다 적은 것에 응답하여, 후보 데이터세트 내의 단면 데이터를 이전 레벨의 단면 데이터로서 취한다.
단계 S1-5: 설정된 조건을 충족하지 못하는 것에 응답하여, 이전 레벨의 단면 데이터를 다음 레벨의 단면 데이터로서 취한다.
단계 S1-6: 설정된 조건을 충족하는 것에 응답하여, 다양한 레벨의 단면 데이터에 기초하여 LOD 트리 구조를 획득하고, LOD 트리 구조의 단면 데이터에 대응하는 텍스처 맵을 결정한다.
단계 S2-1: 이전 레벨의 임의의 단면 데이터에 대해, 단면 데이터가 제1 렌더링 조건 및 제2 렌더링 조건을 충족하는 것에 응답하여, 단면 데이터에 대응하는 텍스처 맵에 따라 단면 데이터를 렌더링한다.
단계 S2-2: 이전 레벨이 최하위 레벨이 아니고 제1 렌더링 조건을 충족하지만 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 타깃 단면 데이터에 대응하는 다음 레벨의 단면 데이터를 결정하고, 다음 레벨을 이전 레벨로서 취하며, 단계 S 2-1을 다시 수행한다.
단계 S2-3: 이전 레벨이 최하위 레벨이고 제1 렌더링 조건을 충족하지만 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 타깃 단면 데이터에 대응하는 타깃 단면 데이터에 대응하는 타깃 서브모델을 렌더링하여, 식물 모델의 렌더링 결과를 획득한다.
단계 S2-4: 제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하는 것에 응답하여, 식물 모델의 렌더링 결과를 획득한다.
식물 모델은 도 8에 도시된 방식으로 렌더링된다. 몇몇 실시예에서, 식물 모델은 CPU(Central Processing Unit) 코어 24개, CPU 메모리 스토리지 128개, NVIDIA GeForce RTX 3090 GPU(그래픽 카드)를 장비한, 운영체제인 Windows 10을 사용하는 전자 디바이스에서 DirectX 12를 API(Graphics Programming Application) 사용하여 도 8에 도시된 방식으로 렌더링된다. 본 출원의 이 실시예에서는 15개의 식물 모델을 기반으로 10000개의 식물 모델의 잎 모델이 위의 전자 디바이스를 사용하여 렌더링된다. 잎 모델의 더 우수한 렌더링 효율을 위해, 다른 태스크에 의한 GPU 점유는 줄일 수 있다. 이 경우, 렌더링 효율은 초당 1500프레임(FPS)까지 높을 수 있으며, 이미지의 각 프레임은 GPU 내부 메모리 중 최대 463MB를 차지한다. 렌더링 결과는 도 9와 같다. 도 9의 (1)과 (2)는 렌더링 프레임 레이트가 1321FPS, 1557FPS까지 높을 수 있고 식물 모델이 카메라에 가까울 때의 식물 모델 렌더링 결과이다. 도 9의 (3) 및 (4)는 렌더링 프레임 레이트가 785FPS, 894FPS까지 높을 수 있고, 식물 모델이 카메라로부터 적절한 거리에 있을 때의 식물 모델의 렌더링 결과이다. 도 9의 (5) 및 (6)는 렌더링 프레임 레이트가 1002FPS 및 1032FPS까지 높을 수 있고 식물 모델이 카메라에서 멀리 떨어져 있을 때의 식물 모델의 렌더링 결과이다.
본 출원의 이 실시예에서는 4개의 식물 모델이 취득될 수 있고, 각 식물 모델의 수량은 500개로 설정되며, 총 2000개의 식물 모델이 획득된다. 한편, 4개의 식물 모델을 기반으로, 상기한 전자 디바이스를 이용하여 2000개의 식물 모델을 관련 기술의 렌더링 방식(Nanite 방법 등)으로 렌더링하여, 도 10의 (1)과 같은 렌더링 결과를 획득한다. 한편, 4개의 식물 모델을 기반으로, 상기 전자 디바이스를 이용하여 2000개의 식물 모델을 도 8에 도시된 렌더링 방법으로 렌더링하여 도 10의 (2)에 도시된 렌더링 결과를 획득한다. UE5(Unreal Engine)에서는 Nanite를 사용해야 하므로, 관련 기술에서의 렌더링 방식과 도 8에 도시된 렌더링 방식에서는 UE5를 기반으로 렌더링이 수행된다. UE5 기반의 렌더링은 글로벌 일루미네이션(global illumination)과 섀도우(shadow)등 추가적인 렌더링 비용이 발생할 수 있으며, 도 8에 도시된 렌더링 방법에서는 UE5 기반의 렌더링이 수행되지 않을 수 있다. 따라서, 도 8에 도시된 렌더링 방법의 렌더링 효율은 감소될 수 있다. 도 10의 (1)과 (2)를 비교하면 알 수 있듯이. (1)의 점선 상자 안에 표시된 내용은 식물 모델을 나타내지 않는 반면, (2)의 점선 상자 안에 표시된 내용은 식물 모델을 나타낸다. 따라서, 도 8에 도시된 렌더링 방법을 사용하면 식물 모델의 렌더링 효과를 향상시킬 수 있고, 식물 모델의 소멸(disappearance)을 방지한다. 또한, 도 10의 (1)은 내부 메모리 1146MB, 잎 모델 5.7ms/프레임의 GPU를 사용하여 최대 76FPS의 렌더링 장면을 렌더링한 반면, 도 10의 (2)는 내부 메모리 630MB와 2.5ms/프레임의 잎 모델을 구비한 GPU를 사용하여 최대 102FPS의 렌더링 장면을 렌더링하여 획득된다. 알 수 있듯이, 도 8에 도시된 렌더링 방법은 렌더링 효율이 더 높고 렌더링에 더 적은 컴퓨팅 자원을 사용한다. 본 출원의 실시예에서 제공되는 3D 모델 렌더링 방법은 3D 비디오 게임, 가상 현실 및 지리적 환경 시각화와 같은 많은 장면에 적용 가능하다. 도 11을 참조하면, 도 11은 본 출원의 일 실시예에 따른 또 다른 렌더링 결과의 개략도이다. 도 11은 게임 장면에서의 숲을 도시한다. 본 출원의 이 실시예에서는 식물 모델의 렌더링 효과가 향상될 수 있기 때문에, 게임 경험이 향상될 수 있다.
일 실시예에서, 3D 모델은 우주 모델이고, 서브모델은 행성 모델이다.
우주 모델이 취득된다. 우주 모델에는 복수의 행성 모델이 포함된다. 복수의 행성 모델 중 기본 행성 모델과, 기본 행성 모델에서 다른 행성 모델로의 변환에 대한 변환 정보가 결정된다. 여기서의 다른 행성 모델은 복수의 행성 모델 중 기본 행성 모델 이외의 행성 모델이다. 기본 행성 모델은 위에서 언급한 기본 서브모델에 대응하고, 다른 행성 모델은 위에서 언급한 다른 서브모델에 대응한다. 기본 행성 모델의 단면 데이터를 결정하고, 다른 행성 모델의 단면 데이터는 기본 행성 모델의 단면 데이터와 변환 정보, 최하위 레벨의 단면 데이터에 기초하여 결정하여 획득된다.
어그리게이션 조건을 총족하는 다음 레벨의 임의의 2개의 단면 데이터에 응답하여, 2개의 단면 데이터에 대응하는 단면 데이터는 2개의 단면 데이터에 대응하는 행성 모델을 기반으로 결정된다. 어그리게이션 조건을 충족하는 2개의 단면 데이터와 어그리게이션 조건을 충족하지 않는 단면 데이터에 대응하는 단면 데이터를 후보 데이터세트의 단면 데이터로 취한다. 후보 데이터세트의 단면 데이터의 양이 참조량 이상인 것에 응답하여, 후보 데이터세트의 단면 데이터를 다음 레벨의 단면 데이터로 취한다. 후보 데이터세트의 단면 데이터의 양이 참조량보다 적은 것에 경우, 후보 데이터세트의 단면 데이터를 이전 레벨의 단면 데이터로 취한다. 설정된 조건을 충족하지 못하는 것에 응답하여, 이전 레벨의 단면 데이터를 다음 레벨의 단면 데이터로 취한다. 설정된 조건을 충족하는 것에 응답하여, 다양한 레벨의 단면 데이터에 기초하여 LOD 트리 구조를 획득하고, LOD 트리 구조의 단면 데이터에 대응하는 텍스처 맵을 결정한다. 이전 레벨의 임의의 단면 데이터에 대해, 단면 데이터가 제1 렌더링 조건 및 제2 조건을 충족하는 것에 응답하여 단면 데이터는 단면 데이터에 대응되는 텍스처 맵에 따라 렌더링된다. 이전 레벨이 최하위 레벨이 아니고, 제1 렌더링 조건을 충족하지만 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 타깃 단면 데이터에 대응하는 다음 레벨의 단면 데이터가 결정되고, 다음 레벨은 이전 레벨로 간주된다. 이전 레벨이 최하위 레벨이고, 제1 렌더링 조건을 충족하고 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 타깃 단면 데이터에 대응하는 타깃 서브모델이 렌더링되어 우주 모델의 렌더링 결과를 얻는다. 제1 렌더링 조건을 충족하는 이전 모델의 단면 데이터가 제2 렌더링 조건을 충족하는 것에 응답하여, 우주 모델의 렌더링 결과를 얻는다.
일 실시예에서, 3D 모델은 도시 모델이고, 서브모델은 건물 모델이다.
도시 모델이 취득된다. 도시 모델은 다수의 건물 모델을 포함한다. 복수의 건물 모델 중 기본 건물 모델과, 기본 건물 모델에서 다른 건물 모델로의 변환대한 변환 정보가 결정된다. 여기서의 다른 건물 모델은 복수의 건물 모델 중 기본 건물 모델 이외의 건물 모델이다. 기본 건물 모델은 위에서 언급한 기본 서브모델에 대응하고, 다른 건물 모델은 위에서 언급한 다른 서브모델에 대응한다. 기본 건물 모델의 단면 데이터를 결정하고, 기본 건물 모델의 단면 데이터와 변형 정보에 기초하여, 다른 건물 모델의 단면 데이터를 결정하고 최하위 레벨의 단면 데이터를 획득한다.
다음 레벨의 임의의 2개의 단면 데이터가 어그리게이션 조건을 총족하는 것에 응답하여, 2개의 단면 데이터에 대응하는 건축 모델을 기반으로 2개의 단면 데이터에 대응하는 단면 데이터가 결정된다. 어그리게이션 조건을 충족하는 2개의 단면 데이터와 어그리게이션 조건을 충족하지 않는 단면 데이터에 대응하는 단면 데이터를 후보 데이터세트의 단면 데이터로 취한다. 후보 데이터세트의 단면 데이터의 양이 참조량 이상인 것에 응답하여, 후보 데이터세트의 단면 데이터를 다음 레벨의 단면 데이터로 취한다. 후보 데이터세트의 단면 데이터의 양이 참조량보다 적은 것에 응답하여, 후보 데이터세트의 단면 데이터를 이전 레벨의 단면 데이터로 취한다. 설정된 조건을 충족하지 못하는 것에 응답하여, 이전 레벨의 단면 데이터를 다음 레벨의 단면 데이터로 취한다. 설정된 조건을 충족하는 것에 응답하여, 다양한 레벨의 단면 데이터를 기반으로 LOD 트리 구조를 획득하고, LOD 트리 구조의 단면 데이터에 대응하는 텍스처 맵을 결정한다. 임의의 이전 레벨의 단면 데이터에 대해, 제1 렌더링 조건과 제2 렌더링 조건을 충족하는 단면 데이터에 응답하여, 단면 데이터가 단면 데이터에 대응하는 텍스처 따라 렌더링된다. 이전 레벨이 최하위 레벨이 아니고, 제1 렌더링 조건을 충족하지만 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 대응하여, 타깃 단면 데이터에 대응하는 다음 레벨의 단면 데이터가 결정되고 다음 레벨은 이전 레벨로 간주된다. 이전 레벨이 최하위 레벨이고, 제1 렌더링 조건을 충족하고 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 대응하여, 타깃 단면 데이터에 대응하는 타깃 서브모델을 렌더링하여, 도시 모델의 렌더링 결과를 얻는다. 제1 렌더링 조건을 충족하는 이전 레벨의 단면 데이터가 제2 렌더링 조건을 충족하는 것에 대응하여 도시 모델의 렌더링 결과를 얻는다.
도 12는 본 출원의 일 실시예에 따른 3D 모델 렌더링 장치의 개략적인 구성도이다. 도 12에 도시된 바와 같이, 3D 모델 렌더링 장치는, 취득 모듈(1201) 및 렌더링 모듈(1202)을 포함하고;
취득 모듈(1201)은, 단면 데이터세트를 취득하도록 구성되고 - 단면 데이터세트는 객체의 3D 모델에 포함된 복수의 서브모델에 기초하여 구축되고, 복수의 서브모델은 객체의 컴포넌트를 각각 나타내고, 복수의 서브모델의 텍스처 데이터는 컴포넌트의 텍스처 정보를 나타내고, 단면 데이터세트는 복수의 단면 데이터를 포함하고, 복수의 단면 데이터 각각은 적어도 하나의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용됨;
취득 모듈(1201)은 추가로, 단면 데이터세트 내의 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하도록 구성되며 - 텍스처 맵 중 어느 하나는 대응 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 대응 단면 데이터에 의해 지시되는 단면에 투영하여 획득되는 텍스처 데이터를 나타내는 데 사용되고, 대응 단면 데이터는 복수의 단면 데이터 중의 단면 데이터이고 텍스처 맵에 대응함 -;
렌더링 모듈은(1202), 단면 데이터세트 내의 복수의 단면 데이터와 대응하는 텍스처 맵에 기초하여 3D 모델을 렌더링하도록 구성된다. 취득 모듈(1201)은 도 2에 도시된 방법 실시예의 단계 201 및 단계 202에서 관련 동작을 수행하도록 추가로 구성된다. 렌더링 모듈(1202)은 도 2에 도시된 방법 실시예의 단계 203에서 관련 동작을 수행하도록 추가로 구성된다. 구체적인 내용은 위의 방법 실시예를 참조한다.
도 13은 본 출원의 예시적인 실시예에 따른 단말 디바이스(1300)의 구성 블록도이다. 단말 디바이스(1300)는 프로세서(1301) 및 메모리(1302)를 포함한다.
프로세서(1301)는 하나 이상의 처리 코어, 예를 들어 4-코어 프로세서 또는 8-코어 프로세서를 포함할 수 있다. 프로세서(1301)는 DSP(Digital Signal Processor), FPGA(Field Programmable Gate Array), PLA(Programmable logic array) 중 적어도 하나의 하드웨어 형태로 구현될 수 있다. 프로세서(1301)는 메인 프로세서 및 코프로세서를 포함할 수 있다. 메인 프로세서는 각성상태(awake state)에서 데이터를 처리하도록 구성된 프로세서이며, 중앙 처리 유닛(CPU)이라고도 한다. 코프로세서는 대기상태(standby state)에서 데이터를 처리하도록 구성된 저전력 프로세서이다. 몇몇 실시예에서, 프로세서(1301)는 GPU와 통합될 수 있다. GPU는 디스플레이 화면에 표시해야 하는 콘텐츠를 렌더링하고 그리도록 구성된다. 몇몇 실시예에서, 프로세서(1301)는 AI(Artificial Intelligence) 프로세서를 더 포함할 수 있다. AI 프로세서는 머신러닝과 관련된 컴퓨팅 동작을 처리하도록 구성된다.
메모리(1302)는 하나 이상의 컴퓨터로 판독 가능한 저장 매체를 포함할 수 있다. 컴퓨터로 판독 가능한 저장 매체는 비일시적일 수 있다. 메모리(1302)는 고속 랜덤 액세스 메모리 및 비휘발성 메모리, 예를 들어 하나 이상의 디스크 저장 디바이스 또는 플래시 저장 디바이스를 더 포함할 수 있다. 몇몇 실시예에서, 메모리(1302)의, 컴퓨터로 판독 가능한 비일시적 저장 매체는 적어도 하나의 명령어를 저장하도록 구성되고, 적어도 하나의 명령어는 프로세서(1301)에 의해 실행되어 본 출원의 방법 실시예에서 제공된 3D 모델 렌더링 방법을 구현하도록 구성된다.
몇몇 실시예에서, 단말 디바이스(1300)는 대안적으로 주변기기 인터페이스(1303) 및 적어도 하나의 주변기기를 포함할 수 있다. 프로세서(1301), 메모리(1302) 및 주변기기 인터페이스(1303)는 버스 또는 신호 케이블을 통해 연결될 수 있다. 각각의 주변기기는 버스, 신호 케이블, 회로 기판 등을 통해 주변기기 인터페이스(1303)에 연결될 수 있다.
당업자는 도 13에 도시된 구성을 이해할 수 있다. 도 13은 단말 디바이스(1300)에 제한을 두지 않으며, 단말 디바이스는 도시된 것보다 더 많거나 더 적은 컴포넌트를 포함할 수도 있고, 일부 컴포넌트가 결합되거나, 다른 컴포넌트 배치가 사용될 수도 있다.
도 14는 본 출원의 실시예에 따른 서버의 개략적인 구성도이다. 서버(1400)는 구성이나 성능의 차이로 인해 많이 달라질 수 있으며, 하나 이상의 프로세서(1401) 및 하나 이상의 메모리(1402)를 포함할 수 있다. 하나 이상의 메모리(1402)는 적어도 하나의 컴퓨터 명령어를 저장한다. 적어도 하나의 컴퓨터 명령어는 전술한 방법 실시예에서 제공된 3D 모델 렌더링 방법을 구현하기 위해 하나 이상의 프로세서(1401)에 의해 로드 및 실행된다. 예를 들어, 프로세서(1401)는 CPU이다. 물론, 서버(1400)는 입출력을 용이하게 하기 위해 유무선 네트워크 인터페이스, 키보드, I/O 인터페이스 등의 컴포넌트를 더 포함할 수 있다. 서버(1400)는 디바이스의 기능을 구현하기 위한 또 다른 구성요소를 더 포함할 수 있다. 자세한 내용은 여기에 설명하지 않는다.
예시적인 실시예에서, 컴퓨터로 판독 가능한 저장 매체가 추가로 제공된다. 컴퓨터로 판독 가능한 저장매체는 적어도 하나의 컴퓨터 프로그램을 저장한다. 적어도 하나의 컴퓨터 프로그램은 프로세서에 의해 로드되고 실행되어, 전자 디바이스로 하여금, 전술한 3D 모델 렌더링 방법 중 어느 하나를 구현하게 한다.
몇몇 실시예에서, 컴퓨터로 판독 가능한 저장 매체는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 컴팩트 디스크 ROM(CD-ROM), 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등일 수 있다.
예시적인 실시예에서, 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품이 추가로 제공된다. 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품은 적어도 하나의 컴퓨터 프로그램을 저장한다. 적어도 하나의 컴퓨터 프로그램은 프로세서에 의해 로드 및 실행되어 전자 디바이스로 하여금, 전술한 3D 모델 렌더링 방법 중 어느 하나를 구현하게 한다.

Claims (20)

  1. 단말 디바이스에 의해 수행되는 3D(3-Dimension) 모델 렌더링 방법으로서,
    단면 데이터세트(cross-section dataset)를 취득하는 단계 - 상기 단면 데이터세트는 객체의 3D 모델에 포함된 복수의 서브모델에 기초하여 구축되고, 상기 복수의 서브모델은 상기 객체의 컴포넌트를 각각 나타내고, 상기 복수의 서브모델의 텍스처 데이터는 상기 컴포넌트의 텍스처 정보를 나타내고, 상기 단면 데이터세트는 복수의 단면 데이터를 포함하고, 상기 복수의 단면 데이터 각각은 하나 이상의 서브모델의 엔벨로프 박스(envelope box)의 단면을 지시하는 데 사용됨 -;
    상기 단면 데이터세트 내의 상기 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하는 단계 - 상기 텍스처 맵 중 어느 하나는 대응 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 상기 대응 단면 데이터에 의해 지시되는 단면에 투영하여 획득되는 텍스처 데이터를 나타내는 데 사용되고, 상기 대응 단면 데이터는 상기 복수의 단면 데이터 중의 단면 데이터이고 상기 텍스처 맵에 대응함 -; 및
    상기 단면 데이터세트 내의 상기 복수의 단면 데이터와 상기 대응하는 텍스처 맵에 기초하여 상기 3D 모델을 렌더링하는 단계
    를 포함하는 3D 모델 렌더링 방법.
  2. 제1항에 있어서,
    상기 단면 데이터세트는 2개 이상의 레벨의 데이터세트를 포함하고, 임의의 레벨의 상기 데이터세트는 하나 이상의 단면 데이터를 포함하고, 이전 레벨의 하나의 단면 데이터는 다음 레벨의 하나 이상의 단면 데이터에 대응하며;
    상기 단면 데이터세트를 취득하는 단계 전에, 상기 3D 모델 렌더링 방법은,
    다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트를 결정하는 단계 - 상기 다음 레벨의 데이터세트는 상기 다음 레벨이 상기 2개 이상의 레벨 중의 최하위 레벨인 것에 응답하여, 상기 3D 모델에서의 상기 복수의 서브모델에 대응하는 단면 데이터에 기초하여 결정됨 -; 및
    설정 조건을 충족하는 것에 응답하여, 상기 2개 이상의 레벨의 데이터세트에 기초하여 상기 단면 데이터세트를 획득하는 단계
    더 포함하는 3D 모델 렌더링 방법.
  3. 제2항에 있어서,
    상기 3D 모델 렌더링 방법은,
    상기 3D 모델에서의 기본 서브모델을 결정하는 단계 - 상기 기본 서브모델은 상기 3D 모델에서의 상기 복수의 서브모델 중 어느 한 서브모델임 -;
    상기 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계 - 상기 다른 서브모델은 상기 3D 모델에서의 상기 기본 서브모델이 아닌 상기 복수의 서브모델 중 어느 한 서브모델임 -;
    상기 기본 서브모델에 대응하는 단면 데이터를 결정하는 단계; 및
    상기 기본 서브모델에 대응하는 단면 데이터 및 상기 변환 정보에 기초하여 상기 다른 서브모델에 대응하는 단면 데이터를 결정하는 단계
    를 더 포함하는 3D 모델 렌더링 방법.
  4. 제3항에 있어서,
    상기 3D 모델에서의 기본 서브모델을 결정하는 단계는,
    상기 3D 모델에서의 상기 복수의 서브모델의 텍스처 데이터에 따라 상기 3D 모델에서의 상기 복수의 서브모델을 하나 이상의 카테고리로 분류하는 단계; 및
    상기 하나 이상의 카테고리 중 어느 한 카테고리에 대해, 상기 카테고리의 복수의 서브모델 중에서 임의의 서브모델을 상기 카테고리의 기본 서브모델로서 선택하는 단계를 포함하고,
    상기 기본 서브모델에서 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계는,
    상기 카테고리의 기본 서브모델에서 상기 카테고리의 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계를 포함하고, 상기 카테고리의 다른 서브모델은 상기 카테고리의 기본 서브모델이 아닌 상기 카테고리의 서브모델인, 3D 모델 렌더링 방법.
  5. 제4항에 있어서,
    상기 카테고리의 기본 서브모델에서 상기 카테고리의 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계는,
    상기 카테고리의 기본 서브모델의 제1 엔벨로프 박스를 결정하는 단계 - 상기 제1 엔벨로프 박스는 상기 기본 서브모델을 둘러싸는 3D 지오메트리임 -;
    상기 카테고리의 다른 서브모델의 제2 엔벨로프 박스를 결정하는 단계 - 상기 제2 엔벨로프 박스는 상기 다른 서브모델을 둘러싸는 3D 지오메트리임 -; 및
    상기 제1 엔벨로프 박스 및 상기 제2 엔벨로프 박스에 기초하여 상기 카테고리의 기본 서브모델에서 상기 카테고리의 다른 서브모델로의 변환에 대한 변환 정보를 결정하는 단계를 포함하는, 3D 모델 렌더링 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트를 결정하는 단계는,
    상기 다음 레벨의 데이터세트 내의 임의의 2개의 단면 데이터에 대해, 상기 2개의 단면 데이터가 어그리게이션 조건(aggregation condition)을 충족하는 것에 응답하여, 상기 2개의 단면 데이터에 대응하는 서브모델에 기초하여 상기 2개의 단면 데이터에 대응하는 단면 데이터를 결정하는 단계; 및
    후보 데이터세트 내의 단면 데이터의 양이 참조량 미만인 것에 응답하여, 상기 후보 데이터세트를 상기 이전 레벨의 데이터세트로서 취하는 단계 - 상기 후보 데이터세트는 상기 어그리게이션 조건을 충족하는 상기 2개의 단면 데이터에 대응하는 단면 데이터와 상기 어그리게이션 조건을 충족하지 않는 단면 데이터를 포함함 -를 포함하는, 3D 모델 렌더링 방법.
  7. 제6항에 있어서,
    상기 2개의 단면 데이터가 충족하는 어그리게이션 조건은,
    상기 2개의 단면 데이터에 의해 지시되는 단면들 사이의 거리가 거리 임계값보다 작은 것; 및
    상기 2개의 단면 데이터에 의해 지시되는 단면들 사이의 법선 벡터의 각도가 임계값 보다 작은 것 중 적어도 하나를 포함하는, 3D 모델 렌더링 방법.
  8. 제6항 또는 제7항에 있어서,
    상기 3D 모델 렌더링 방법은,
    상기 후보 데이터세트의 단면 데이터의 양이 상기 참조량 이상인 것에 응답하여, 상기 후보 데이터세트를 상기 다음 레벨의 데이터세트로서 취하고, 상기 2개의 단면 데이터가 어그리게이션 조건을 충족시키는 것에 응답하여, 상기 후보 데이터세트 내의 단면 데이터의 량이 상기 참조량보다 적을 때까지 상기 2개의 단면 데이터에 대응하는 서브모델에 기초하여 상기 2개의 단면 데이터에 대응하는 단면 데이터의 결정을 주기적으로 수행하고, 상기 후보 데이터세트를 상기 이전 레벨의 데이터세트로서 취하는 단계를 더 포함하는 3D 모델 렌더링 방법.
  9. 제2항 내지 제8항 중 어느 한 항에 있어서,
    상기 3D 모델 렌더링 방법은,
    상기 설정된 조건을 충족하지 않는 것에 응답하여, 상기 이전 레벨의 데이터세트를 상기 다음 레벨의 데이터세트로서 취하고, 상기 설정된 조건이 충족될 때까지 다음 레벨의 데이터세트에 기초하여 이전 레벨의 데이터세트의 결정을 주기적으로 수행하고, 상기 2개 이상의 레벨의 데이터세트에 기초하여 상기 단면 데이터세트를 획득하는 단계를 더 포함하는 3D 모델 렌더링 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 단면 데이터세트 내의 상기 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하는 단계 이전에, 상기 3D 모델 렌더링 방법은,
    임의의 단면 데이터에 대응하는 임의의 서브모델에 대해, 상기 서브모델의 텍스처 데이터를 상기 단면 데이터에 의해 지시되는 단면상에 투영하여, 상기 서브모델의 텍스처 맵을 획득하는 단계; 및
    상기 단면 데이터에 대응하는 서브모델들의 텍스처 맵을 융합하여 상기 단면 데이터에 대응하는 텍스처 맵을 획득하는 단계
    를 더 포함하는 3D 모델 렌더링 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 단면 데이터세트는 2개 이상의 레벨의 데이터세트를 포함하고, 임의의 레벨의 데이터세트는 하나 이상의 단면 데이터를 포함하며, 이전 레벨의 하나의 단면 데이터는 다음 레벨의 하나 이상의 단면 데이터에 대응하고;
    상기 단면 데이터세트 내의 상기 복수의 단면 데이터와 상기 대응하는 텍스처 맵에 기초하여 상기 3D 모델을 렌더링하는 단계는,
    상기 이전 레벨의 임의의 단면 데이터에 대해, 상기 단면 데이터가 제1 렌더링 조건과 제2 렌더링 조건을 충족하는 것에 응답하여, 상기 단면 데이터에 대응하는 상기 텍스처 맵에 따라 상기 단면 데이터를 렌더링하여 상기 단면 데이터에 대한 렌더링 결과를 획득하는 단계; 및
    상기 제1 렌더링 조건을 충족하는 상기 이전 레벨의 복수의 단면 데이터가 상기 제2 렌더링 조건을 충족하는 것에 응답하여, 상기 복수의 단면 데이터의 렌더링 결과에 기초하여 상기 3D 모델의 렌더링 결과를 획득하는 단계를 포함하는, 3D 모델 렌더링 방법.
  12. 제11항에 있어서,
    상기 3D 모델 렌더링 방법은,
    상기 이전 레벨이 상기 2개 이상의 레벨 중의 최하위 레벨이 아니고, 상기 이전 레벨이 상기 제1 렌더링 조건을 충족하지만 상기 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 상기 타깃 단면 데이터에 대응하는 다음 레벨의 복수의 단면 데이터를 주기적으로 결정하고; 상기 다음 레벨을 이전 레벨로 취하며; 상기 이전 레벨의 임의의 단면 데이터에 대해, 상기 단면 데이터가 상기 제1 렌더링 조건 및 상기 제2 렌더링 조건을 충족하는 것에 응답하여, 상기 제1 렌더링 조건을 충족하는 상기 이전 레벨의 복수의 단면 데이터가 상기 제2 조건을 충족할 때까지, 상기 단면 데이터에 대응하는 텍스처 맵에 따라 상기 단면 데이터를 렌더링하여 상기 단면 데이터에 대응하는 렌더링 결과를 획득하는 단계; 및
    상기 복수의 단면 데이터의 렌더링 결과에 기초하여 상기 3D 모델의 렌더링 결과를 획득하는 단계
    를 더 포함하는 3D 모델 렌더링 방법.
  13. 제11항 또는 제12항에 있어서,
    상기 3D 모델 렌더링 방법은,
    상기 이전 레벨이 상기 2개 이상의 레벨 중의 최하위 레벨이고, 상기 이전 레벨이 상기 제1 렌더링 조건을 충족하지만 상기 제2 렌더링 조건을 충족하지 않는 타깃 단면 데이터를 포함하는 것에 응답하여, 상기 타깃 단면 데이터에 대응하는 타깃 서브모델을 취득하는 단계;
    상기 타깃 서브모델을 렌더링하여 상기 타깃 서브모델의 렌더링 결과를 획득하는 단계; 및
    상기 복수의 단면 데이터의 렌더링 결과 및 상기 타깃 서브모델의 렌더링 결과에 기초하여 상기 3D 모델의 렌더링 결과를 획득하는 단계
    를 더 포함하는 3D 모델 렌더링 방법.
  14. 제13항에 있어서,
    상기 타깃 단면 데이터에 대응하는 타깃 서브모델을 취득하는 단계는,
    상기 타깃 단면 데이터에 대응되는 타깃 서브모델이 기본 서브모델인 것에 응답하여, 상기 기본 서브모델을 취득하는 단계; 및
    상기 타깃 단면 데이터에 대응되는 타깃 서브모델이 다른 서브모델인 것에 응답하여, 상기 기본 서브모델 및 상기 기본 서브모델에서 상기 다른 서브모델로의 변환에 대한 변환 정보를 취득하고, 상기 기본 서브모델 및 상기 변환 정보에 기초하여 상기 다른 서브모델을 취득하는 단계를 포함하는, 3D 모델 렌더링 방법.
  15. 제14항에 있어서,
    상기 변환 정보는 평행이동 정보, 축소/확대 정보, 회전 정보 중 적어도 하나를 포함하는, 3D 모델 렌더링 방법.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    상기 제1 렌더링 조건을 충족하는 상기 단면 데이터는 뷰 절두체(view frustum) 내에 있는 상기 단면 데이터에 의해 지시되는 단면을 포함하고;
    상기 제2 렌더링 조건을 충족하는 상기 단면 데이터는 크기 임계값보다 크지 않은 화면상의 상기 단면 데이터의 크기 데이터를 포함하는, 3D 모델 렌더링 방법.
  17. 3D 모델 렌더링 장치로서,
    취득 모듈 및 렌더링 모듈을 포함하고,
    상기 취득 모듈은, 단면 데이터세트를 취득하도록 구성되고 - 상기 단면 데이터세트는 객체의 3D 모델에 포함된 복수의 서브모델에 기초하여 구축되고, 상기 복수의 서브모델은 상기 객체의 컴포넌트를 각각 나타내고, 상기 복수의 서브모델의 텍스처 데이터는 상기 컴포넌트의 텍스처 정보를 나타내고, 상기 단면 데이터세트는 복수의 단면 데이터를 포함하고, 상기 복수의 단면 데이터 각각은 하나 이상의 서브모델의 엔벨로프 박스의 단면을 지시하는 데 사용됨 -;
    상기 취득 모듈은 추가로, 상기 단면 데이터세트 내의 상기 복수의 단면 데이터에 대응하는 텍스처 맵을 취득하도록 구성되며 - 상기 텍스처 맵 중 어느 하나는 대응 단면 데이터에 대응하는 서브모델의 텍스처 데이터를 상기 대응 단면 데이터에 의해 지시되는 단면에 투영하여 획득되는 텍스처 데이터를 나타내는 데 사용되고, 상기 대응 단면 데이터는 상기 복수의 단면 데이터 중의 단면 데이터이고 상기 텍스처 맵에 대응함 -;
    상기 렌더링 모듈은, 상기 단면 데이터세트 내의 상기 복수의 단면 데이터와 상기 대응하는 텍스처 맵에 기초하여 상기 3D 모델을 렌더링하도록 구성되는,
    3D 모델 렌더링 장치.
  18. 전자 디바이스로서,
    프로세서 및 메모리를 포함하고,
    상기 메모리는 하나 이상의 컴퓨터 프로그램을 저장하고,
    상기 하나 이상의 컴퓨터 프로그램은 상기 프로세서에 의해 로드 및 실행되어 상기 전자 디바이스로 하여금, 제1항 내지 제16항 중 어느 한 항에 따른 3D 모델 렌더링 방법을 구현하게 하는,
    전자 디바이스.
  19. 컴퓨터로 판독 가능한 저장 매체로서,
    하나 이상의 컴퓨터 프로그램을 저장하고,
    상기 하나 이상의 컴퓨터 프로그램은 프로세서에 의해 로드 및 실행되어 상기 전자 디바이스로 하여금, 제1항 내지 제16항 중 어느 한 항에 따른 3D 모델 렌더링 방법을 구현하게 하는,
    컴퓨터로 판독 가능한 저장 매체.
  20. 컴퓨터 프로그램 제품으로서,
    하나 이상의 컴퓨터 프로그램을 저장하고,
    상기 하나 이상의 컴퓨터 프로그램은 프로세서에 의해 로드 및 실행되어 상기 전자 디바이스로 하여금, 제1항 내지 제16항 중 어느 한 항에 따른 3D 모델 렌더링 방법을 구현하게 하는,
    컴퓨터 프로그램 제품.
KR1020247013891A 2022-08-19 2023-06-01 3d 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체 KR20240074815A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202210996952.8A CN117635799A (zh) 2022-08-19 2022-08-19 三维模型的渲染方法、装置、电子设备及存储介质
CN202210996952.8 2022-08-19
PCT/CN2023/097696 WO2024037116A1 (zh) 2022-08-19 2023-06-01 三维模型的渲染方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
KR20240074815A true KR20240074815A (ko) 2024-05-28

Family

ID=89940551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247013891A KR20240074815A (ko) 2022-08-19 2023-06-01 3d 모델 렌더링 방법 및 장치, 전자 디바이스, 그리고 저장 매체

Country Status (4)

Country Link
US (1) US20240203030A1 (ko)
KR (1) KR20240074815A (ko)
CN (1) CN117635799A (ko)
WO (1) WO2024037116A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118351274B (zh) * 2024-04-29 2024-10-29 广州蓝昊广告有限公司 一种物体模型渲染方法、装置、设备及存储介质
CN118552704B (zh) * 2024-07-29 2024-10-01 江西格如灵科技股份有限公司 一种基于Unity场景下的图形处理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140218360A1 (en) * 2011-09-21 2014-08-07 Dalux Aps Bim and display of 3d models on client devices
CN102385657B (zh) * 2011-11-18 2013-02-27 铁道第三勘察设计院集团有限公司 虚拟现实环境下高速铁路路基三维参数化建模方法
CN106055794A (zh) * 2016-05-31 2016-10-26 浙江科澜信息技术有限公司 一种参数化建立三维管线模型的方法
CN113239442B (zh) * 2021-06-03 2022-05-03 中移智行网络科技有限公司 一种三维模型构建方法、装置、设备和计算机可读存储介质
CN113450441B (zh) * 2021-06-23 2023-03-21 网易(杭州)网络有限公司 三维虚拟模型的渲染方法、装置和电子设备
CN113888718A (zh) * 2021-10-18 2022-01-04 四川隧唐科技股份有限公司 基于横截面模版的路线建模方法和装置

Also Published As

Publication number Publication date
US20240203030A1 (en) 2024-06-20
CN117635799A (zh) 2024-03-01
WO2024037116A9 (zh) 2024-05-02
WO2024037116A1 (zh) 2024-02-22

Similar Documents

Publication Publication Date Title
JP4643271B2 (ja) 区間解析を使用するコンピュータ・グラフィックスの際の可視面決定システムおよび方法
US8115767B2 (en) Computer graphics shadow volumes using hierarchical occlusion culling
US9928643B2 (en) Hierarchical continuous level of detail for three-dimensional meshes
WO2021228031A1 (zh) 渲染方法、设备以及系统
US20240203030A1 (en) 3d model rendering method and apparatus, electronic device, and storage medium
US20230230311A1 (en) Rendering Method and Apparatus, and Device
CN108230433B (zh) 3d地图散点数据展示方法及系统、信息数据处理终端
JP2015515059A (ja) シーンにおける不透明度レベルを推定する方法とそれに対応する装置
Richter et al. Out-of-core real-time visualization of massive 3D point clouds
CN111652791B (zh) 人脸的替换显示、直播方法、装置、电子设备和存储介质
CN112927339A (zh) 图形渲染方法和装置、存储介质及电子设备
CN110930497A (zh) 一种全局光照相交加速方法、装置及计算机存储介质
Kivi et al. Real-time rendering of point clouds with photorealistic effects: a survey
US9626791B2 (en) Method for representing a participating media in a scene and corresponding device
KR20230013099A (ko) 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과
Scholz et al. Real‐time isosurface extraction with view‐dependent level of detail and applications
US20210279958A1 (en) Image generation system and method
CN112991507A (zh) 图像生成系统和方法
US11893677B1 (en) Bounding volume hierarchy (BVH) widening based on node compressibility
Lee et al. A bimodal empty space skipping of ray casting for terrain data
Futterlieb et al. Smooth visualization of large point clouds
CN111652024B (zh) 一种人脸的显示、直播方法、装置、电子设备和存储介质
Wang et al. Ray Tracing Acceleration Algorithm Based on FaceMap
Fu et al. Dynamic shadow rendering with shadow volume optimization
WO2023184139A1 (en) Methods and systems for rendering three-dimensional scenes