KR20200027004A - 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기 - Google Patents

게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기 Download PDF

Info

Publication number
KR20200027004A
KR20200027004A KR1020207004663A KR20207004663A KR20200027004A KR 20200027004 A KR20200027004 A KR 20200027004A KR 1020207004663 A KR1020207004663 A KR 1020207004663A KR 20207004663 A KR20207004663 A KR 20207004663A KR 20200027004 A KR20200027004 A KR 20200027004A
Authority
KR
South Korea
Prior art keywords
texture
fragmented
game
rendering
map
Prior art date
Application number
KR1020207004663A
Other languages
English (en)
Other versions
KR102419745B1 (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20200027004A publication Critical patent/KR20200027004A/ko
Application granted granted Critical
Publication of KR102419745B1 publication Critical patent/KR102419745B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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/20Finite element generation, e.g. wire-frame surface description, tesselation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/203Image generating hardware
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

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

Abstract

게임 렌더링 방법, 및 게임 자원 파일을 생성하는 방법, 장치, 및 기기. 자원 패키징 프로세스에서, 텍스처 맵은 복수의 단편화된 텍스처로 단편화되고 처리되고, 사용된 타깃 텍스처 맵에 대응하는 단편화된 텍스처는 게임 렌더링 요구사항에 따라 로딩되어서, 메모리 로딩 오버헤드가 효과적으로 감소될 수 있고 메모리 부담이 감소될 수 있으며; 게다가, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 결합 및 렌더링되어서, 렌더링 이미지 효과가 보장될 수 있고, 메모리 부담이 게임의 원활한 실행을 보장하기 위해 게임이 구동될 때 선형적으로 증가하는 것이 방지된다.

Description

게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기
본 개시는 인터넷 기술 분야, 구체적으로 인터넷 게임 기술 분야에 관한 것으로, 특히 게임 렌더링 방법, 게임 자원 파일 생성 방법, 게임 렌더링 장치, 게임 자원 파일 생성 장치, 저장 기기, 및 단말에 관한 것이다.
본 출원은 2017년 7월 21일 중국 특허청에 출원된 "METHOD AND APPARATUS FOR RENDERING GAME, STORAGE DEVICE AND TERMINAL"라는 명칭의 중국 특허 출원 번호 201710600237.7을 우선권으로 주장하며, 그 전문이 참조로서 포함된다.
종래의 게임 렌더링 방법에서, 게임의 현재 구동 장면에서 요구될 수 있는 모든 텍스처 맵(예를 들어, 배경, 캐릭터, 및 사용자 인터페이스(user interface, UI))는 일반적으로 메모리 내로 미리 로딩된다. 텍스처 맵 중 하나가 렌더링될 필요가 있는 경우, 텍스처 맵은 메모리로부터 직접 획득된다. 그러나 많은 텍스처 맵이 실제로 항상 사용되지는 않는다. 텍스처 맵이 메모리 내로 로딩되는 경우, 로딩 오버헤드가 증가하고, 메모리 점유가 증가하여, 게임 중단을 초래한다. 또 다른 게임 렌더링 방법이 종래 기술에 존재하며, 이로 인해 메모리 부담이 어느 정도 감소될 수 있다. 후자의 방법에서, 텍스처 패커(texture packer)와 같은 텍스처 병합 도구는 자원 패킹 프로세스에서 다수의 작은 텍스처 맵을 하나의 큰 텍스처 맵으로 병합하기 위해 사용된다. 대형 텍스처 맵은 여러 게임 요소(예를 들어, 배경, 캐릭터)가 렌더링될 필요가 있는 경우에만 메모리 내로 로딩되므로 로딩 오버헤드가 절약된다. 다수의 게임 요소를 렌더링할 때, 상기 요소가 동일한 큰 텍스처 맵을 사용하고 그들의 렌더링 파라미터가 동일하다면 요소는 렌더링 배치(rendering batch) 내로 병합될 수 있으며, 이에 의해 렌더링 성능이 향상된다. 텍스처 병합 도구를 사용하는 방법 때문에 렌더링 성능이 향상될 수 있음에도, 전체의 큰 텍스처 맵이 메모리 내로 로딩될 필요가 있다. 게임의 구동 동안의 큰 텍스처 재사용으로 인해, 상기 방법은 불필요한 메모리 오버헤드를 초래한다. 더욱이, 메모리 부담이 게임의 버전 업데이트 및 콘텐츠 증가 때문에 크게 증가하고, 게임 중단이 초래된다.
본 개시의 실시예에 따른 게임 렌더링 방법, 게임 자원 파일 생성 방법 및 장치, 저장 기기 및 단말이 제공되며,이를 통해 렌더링의 영상 효과가 보장되고 메모리 부담이 방지될 수 있다. 게임 실행에 따라 선형으로 증가하여 게임이 원활하게 실행된다.
일 측면에서, 게임 렌더링 방법이 본 개시의 일 실시예에 따라 제공된다. 상기 게임 렌더링 방법은,
게임의 자원 파일을 획득하는 단계 - 자원 파일은 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵(texture map)을 포함하고, 텍스처 맵 각각은 다수의 단편화된 텍스처(fragmented texture)를 병합함으로써 형성됨 -;
게임의 현재 구동 장면 내에서 렌더링될 메시에 의해 사용되는 타깃 텍스처 맵을 결정하는 단계;
타깃 텍스처 맵에 대응하는 단편화된 텍스처에 대해 자원 파일을 검색하는 단계; 및
타깃 텍스처 맵에 대응하는 단편화된 텍스처를 병합 및 렌더링하는 단계를 포함한다.
바람직하게는, 상기 게임의 자원 파일을 획득하는 단계 이전에, 상기 게임 렌더링 방법은,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하는 단계 - 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -;
텍스처 맵 각각을 다수의 단편화된 텍스처로 단편화하는 단계 - 단편화된 텍스처 각각은 하나의 단편화된 텍스처 데이터 및 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터를 포함함 -;
텍스처 맵에 대응하는 단편화된 텍스처를 자원 파일 내로 캡슐화하는 단계를 더 포함한다.
바람직하게는, 상기 텍스처 맵 각각을 다수의 단편화된 텍스처로 단편화하는 단계는,
텍스처 맵 각각을 차례로 선택하고, 제1 사전 설정 규격(specification)에 따라 선택된 텍스처 맵을 행(row)으로 다수의 직사각 프레임으로 절단하는 단계;
제2 사전 설정 규격에 따라 선택된 텍스처 맵에 포함된 원본 텍스처 데이터를 다수의 단편화된 텍스처 데이터로 단편화하고, 단편화된 텍스처 데이터 각각의 주위에 사전 설정된 폭의 주변 원본 텍스처 데이터를 획득하는 단계; 및
채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 단계를 포함하고, 여기서
제1 사전 설정 규격의 값은, 제2 사전 설정 규격의 값과 두 배의 사전 설정된 폭의 값의 합계보다 크거나 같다.
바람직하게는, 상기 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 단계는,
직사각 프레임 각각의 상측 및 하측 각각에 사전 설정된 폭의 마진(margin)을 예비로 보유하고, 직사각 프레임이 중심 영역(central region) 및 중심 영역을 둘러싸는 주변 영역(marginal region)을 가질 수 있도록, 직사각 프레임의 좌측 및 우측 각각에 사전 설정된 폭의 마진을 부가하는 단계; 및
채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 대응하는 직사각 프레임의 중심 영역을 각각 다수의 단편화된 텍스처 데이터로 채우고, 대응하는 직사각 프레임의 주변 영역을 각각 다수의 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터로 채우는 단계를 포함한다.
바람직하게는, 상기 텍스처 맵 각각에 대해, 텍스처 맵에 대응하는 단편화된 텍스처를 자원 파일로 캡슐화하는 단계는,
텍스처 맵 각각에 대해, 텍스처 맵의 속성을 획득하는 단계 - 속성은 ID, 해제 유형, 및 오프셋 정보를 포함하고, 해제 유형은 즉시 해제, 또는 자동 해제, 또는 메모리 내에 상주를 포함함 -;
텍스처 맵의 속성에 기반하여 요약 정보 테이블을 생성하는 단계; 및
요약 정보 테이블을 자원 파일의 파일 헤더(file header)에 저장하고, 텍스처 맵 각각에 대응하는 단편화된 텍스처를 자원 파일의 파일 본체(file body)에 저장하는 단계를 포함한다.
바람직하게는, 상기 타깃 텍스처 맵에 대응하는 단편화된 텍스처를 병합 및 렌더링하는 단계는,
제1 사전 설정 규격에 따라 메모리 내의 사전 설정된 동적 로딩 영역을 행으로 다수의 동적 로딩 행으로 절단하는 단계;
동적 로딩 행 각각에 대해, 빈-패킹(bin-packing) 알고리즘을 사용하여 동적 로딩 행의 유휴 영역을 할당하는 단계;
타깃 텍스처 맵에 대응하는 단편화된 텍스처를 동적 로딩 행의 유휴 영역에 차례로 로딩하는 단계; 및
동적 로딩 행로부터 로딩된 단편화된 텍스처를 판독하고 렌더링될 게임의 렌더링 엔진에 판독된 단편화된 텍스처를 제출하는 단계를 포함한다.
바람직하게는, 상기 타깃 텍스처 맵에 대응하는 단편화된 텍스처를 병합 및 렌더링하는 단계 이후에, 상기 게임 렌더링 방법은,
자원 파일의 파일 헤더로부터 타깃 텍스처 맵의 해제 유형을 획득하는 단계;
획득된 해제 유형에 따라 타깃 텍스처 맵의 단편화된 텍스처에 의해 점유된 동적 로딩 행을 해제하는 단계; 및
재활용된 동적 로딩 행을 병합하는 단계를 더 포함한다.
다른 측면에서, 게임 자원 파일 생성 방법이 본 개시의 실시예에 따라 제공된다. 게임 자원 파일 생성 방법은,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하는 단계 - 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -;
다수의 단편화된 텍스처를 획득하기 위해 각 텍스처 맵에 대해 개별적으로 단편화 처리를 수행하는 단계; 및
각 텍스처 맵에 대응하는 단편화된 텍스처를 게임의 자원 파일 내로 캡슐화하는 단계를 포함한다.
다른 측면에 따르면, 본 개시의 일 실시예는,
게임의 자원 파일을 획득하도록 구성된 파일 획득부 - 자원 파일은 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 포함하고, 텍스처 맵 각각은 다수의 단편화된 텍스처를 병합함으로써 형성됨 -;
게임의 현재 구동 장면 내에서 렌더링될 메시(mesh)에 의해 사용되는 타깃 텍스처 맵을 결정하도록 구성된 타깃 결정부;
타깃 텍스처 맵에 대응하는 단편화된 텍스처에 대해 자원 파일을 검색하도록 구성된 검색부; 및
타깃 텍스처 맵에 대응하는 단편화된 텍스처를 병합 및 렌더링하도록 구성된, 병합 및 렌더링부를 포함하는 게임 렌더링 장치를 제공한다.
바람직하게는, 게임 렌더링 장치는,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하고 - 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -; 텍스처 맵 각각을 다수의 단편화된 텍스처로 단편화하고 - 단편화된 텍스처 각각은 하나의 단편화된 텍스처 데이터 및 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터를 포함함 -; 텍스처 맵에 대응하는 다수의 단편화된 텍스처를 자원 파일 내로 캡슐화하도록 구성된 자원 패킹 처리부; 및
자원 파일의 파일 헤더로부터 타깃 텍스처 맵의 해제 유형을 획득하고; 획득된 해제 유형에 따라 타깃 텍스처 맵의 단편화된 텍스처에 의해 점유된 동적 로딩 행을 해제하고; 재활용된 동적 로딩 행을 병합하도록 구성된 재활용 처리부를 더 포함한다.
바람직하게는, 상기 자원 패킹 처리부는, 텍스처 맵 각각을 차례로 선택하고, 제1 사전 설정 규격에 따라 선택된 텍스처 맵을 행으로 다수의 직사각 프레임으로 절단하고; 제2 사전 설정 규격에 따라 선택된 텍스처 맵 내에 포함된 원본 텍스처 데이터(original texture data)를 다수의 단편화된 텍스처 데이터로 단편화하고, 단편화된 텍스처 데이터 각각의 주위의 사전 설정된 폭의 주변 원본 텍스처 데이터(marginal original texture data)를 획득하고; 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우도록 구성되고, 여기서 제1 사전 설정 규격의 값은 제2 사전 설정 규격의 값과 두 배의 사전 설정된 폭의 값의 합계보다 크거나 같고;
상기 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 것은, 직사각 프레임의 각각의 상측 및 하측에 사전 설정된 폭의 마진을 예비로 보유하고, 직사각 프레임이 중심 영역및 중심 영역을 둘러싸는 주변 영역을 가질 수 있도록, 직사각 프레임의 좌측 및 우측 각각에 사전 설정된 폭의 마진을 부가하는 것; 및 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 대응하는 직사각 프레임의 중심 영역을 각각 다수의 단편화된 텍스처 데이터로 채우고, 대응하는 직사각 프레임의 주변 영역을 각각 다수의 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터로 채우는 것을 포함하고;
상기 자원 패킹 처리부는, 텍스처 맵 각각에 대해, 텍스처 맵의 속성을 획득하고 - 속성은 ID, 해제 유형, 및 오프셋 정보를 포함하고, 해제 유형은 즉시 해제, 또는 자동 해제, 또는 메모리 내에 상주를 포함함 -; 텍스처 맵의 속성에 기반하여 요약 정보 테이블을 생성하고; 요약 정보 테이블을 자원 파일의 파일 헤더에 저장하고, 텍스처 맵 각각에 대응하는 단편화된 텍스처를 자원 파일의 파일 본체에 저장하도록 구성된다.
바람직하게는, 병합 및 렌더링부는, 제1 사전 설정 규격에 따라 메모리 내의 사전 설정된 동적 로딩 영역을 행으로 다수의 동적 로딩 행으로 절단하고; 동적 로딩 행 각각에 대해, 빈-패킹(bin-packing) 알고리즘을 사용하여 동적 로딩 행의 유휴 영역을 할당하고; 타깃 텍스처 맵에 대응하는 단편화된 텍스처를 동적 로딩 행의 유휴 영역에 차례로 로딩하고; 동적 로딩 행으로부터 로딩된 단편화된 텍스처를 판독하고 렌더링될 게임의 렌더링 엔진에 판독된 단편화된 텍스처를 제출하도록 구성된다.
다른 측면에서, 게임 자원 파일 생성 장치가 본 개시의 실시예에 따라 제공된다. 게임 자원 파일 생성 장치는,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵(texture map)을 획득하도록 구성된 맵 획득부 - 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -;
텍스처 맵 각각을 다수의 단편화된 텍스처(fragmented texture)로 단편화하도록 구성된 단편화부; 및
텍스처 맵에 대응하는 단편화된 텍스처를 게임의 자원 파일 내로 캡슐화하도록 구성된 파일 캡슐화부를 포함한다.
다른 측면에서, 저장 기기가 본 개시의 실시예에 따라 추가로 제공된다. 저장 기기는 하나 이상의 명령을 저장한다. 하나 이상의 명령은 본 개시의 실시예에 따른 게임 렌더링 방법 또는 본 개시의 실시예에 따른 게임 자원 파일 생성 방법을 구현하기 위해 프로세서에 의해 로딩된다.
다른 측면에서, 단말이 본 개시의 실시예에 따라 추가로 제공된다. 단말은,
하나 이상의 명령을 실행하도록 구성된 프로세서; 및
하나 이상의 명령을 저장하는 저장 기기를 포함하고, 여기서 하나 이상의 명령은 본 개시의 실시예에 따른 게임 렌더링 방법 또는 본 개시의 실시예에 따른 게임 자원 파일 생성 방법을 구현하기 위해 프로세서에 의해 로딩된다.
본 개시의 실시예에 따르면, 자원 패킹 프로세스에서, 텍스처 맵은 다수의 단편화된 텍스처들로 단편화되고, 사용된 타깃 텍스처 맵에 대응하는 단편화된 텍스처는 게임 렌더링의 요구사항에 따라 로딩되어서, 메모리 로딩 오버헤드가 효과적으로 감소되고, 메모리 부담이 감소될 수 있다. 더욱이, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 병합 및 렌더링되어서, 렌더링의 픽처 효과가 보장될 수 있고, 메모리 부담이 게임의 구동에 따라 선형적으로 증가하는 것을 방지할 수 있으므로, 게임이 원활하게 진행될 수 있다.
본 개시의 실시예 또는 종래 기술에서의 기술적 해결 방안을 보다 명확하게 설명하기 위해, 실시예 또는 종래 기술을 설명하기 위해 사용되는 첨부 도면이 아래에서 간략하게 소개된다. 명백하게, 아래의 설명에서 첨부 도면은 본 개시의 일부 실시예를 보여줄 뿐이며, 당업자는 창조적 노력 없이도 첨부 도면으로부터 다른 도면을 도출할 수 있다.
도 1은 본 개시의 일 실시예에 따른 게임 렌더링 방법의 흐름도이다.
도 2는 본 개시의 일 실시예에 따른 게임 자원 파일 생성 방법의 흐름도이다.
도 3a 내지 도 3c는 본 개시의 일 실시예에 따른 단편화 처리의 프로세스를 도시한 개략도이다.
도 4는 본 개시의 일 실시예에 따른 병합 및 렌더링의 픽처 효과를 도시한 개략도이다.
도 5는 본 개시의 일 실시예에 따른 게임 렌더링 장치의 개략적인 구조도이다.
도 6은 본 개시의 일 실시예에 따른 단말의 개략적인 구조도이다.
본 개시의 실시예의 기술적 해결 방안은 본 개시의 실시예의 첨부 도면을 참조하여 아래에서 명확하고 완전하게 설명된다.
게임 렌더링은 공간 조도 계산, 래스터화(rasterization) 및 클리핑(clipping), 텍스처 샘플링(texture sampling), 깊이 감지(depth detection), 및 알파 블렌딩(alpha blending)과 같은 프로세스를 포함하는, 게임의 장면을 컴퓨터를 사용하여 그리는 일련의 처리 프로세스를 말한다. 게임 렌더링은 애니메이션, 텍스처 맵 등을 포함한 다양한 자원을 필요로 한다. 텍스처 맵은 게임의 구동 장면에서 사용되는 맵 파일을 말한다. 게임의 장면은 텍스처 맵 때문에 실제처럼 보인다. 텍스처 맵은 다양한 서로 다른 형식을 가지며 다양한 응용 시나리오에서 사용된다. 예를 들어, 텍스처 맵은 3D 모델에 부착되거나 또는 입체 공간(stereoscopic space) 내의 UI 상호작용에 사용되는 3차원(3D) 텍스처 맵일 수도 있고, 또는 2D 평면에 부착되거나 또는 2D 평면 상의 UI 상호작용에 사용되는 2D 텍스처 맵일 수도 있다. 텍스처 샘플링은 일반적으로 최인접(nearest) 포인트 샘플링 및 선형 샘플링을 포함한다. 최인접 포인트 샘플링은, 텍스처 맵 내에 포함된 원본 텍스처 데이터가 최인접 원본 텍스처 데이터를 찾기 위해 텍스처 맵의 픽셀 좌표에 따라 샘플링되고, 최인접 원본 텍스처 데이터의 픽셀이 텍스처 맵의 색상 값으로 사용되는 프로세스이다. 선형 샘플링은, 최인접 원본 텍스처 데이터가 발견된 이후, 여러 데이터가 원본 텍스처 데이터 주위에서 여전히 샘플링되고 샘플링된 데이터의 픽셀 평균이 텍스처 맵의 색상 값으로 계산되는 프로세스이다.
일반적으로, 게임 렌더링에 사용되는 텍스처 맵과 같은 자원은 게임 개발의 과정에서 예술 디자인에 의해 생성된다. 생성된 원본 자원은 게임의 응용 프로그램에서 바로 사용될 수 없지만, 이진화, 암호화, 압축 등을 포함한 몇몇 프로세스가 수행된 후에만 사용된다. 상기 프로세스를 통칭하여 자원 패킹 프로세스라고 한다. 프로세스가 수행된 후에 획득된 파일은 게임의 자원 파일이다. 자원 파일은 게임 렌더링에 요구되는 애니메이션 및 텍스처 맵과 같은 자원을 포함하고, 자원 파일 내의 자원은 게임에 바로 적용될 수 있다.
종래의 게임 렌더링 방법에서, 게임의 현재 구동 장면 내에서 요구될 수 있는 모든 텍스처 맵(예를 들어, 배경(scenery), 캐릭터(character), 및 UI)은 일반적으로 메모리 내로 미리 로딩된다. 텍스처 맵 중 하나가 렌더링될 필요가 있는 경우, 텍스처 맵은 메모리로부터 직접 획득된다. 하지만, 많은 텍스처 맵이 실제로 항상 사용되지는 않는다. 예를 들어, 장면 내의 무기(weapon)는 게임의 시작 부분에서 나타나지 않을 수 있고, 그러므로 처음에 렌더링될 필요가 없다. 무기가 메모리 내로 로딩되는 경우, 로딩 오버헤드가 증가하고, 메모리 점유가 증가하여, 게임 중단을 초래한다. 또 다른 게임 렌더링 방법이 종래 기술에 존재하고, 이로 인해 메모리 부담은 어느 정도 감소될 수 있다. 후자의 방법에서, 텍스처 병합 도구(예를 들어, 텍스처 패커(texture packer))가 사용된다. 텍스처 패커는 자원 패킹 프로세스에서 여러 작은 텍스처 맵을 하나의 큰 텍스처 맵으로 병합하기 위해 사용된다. 큰 텍스처 맵은 다수의 게임 요소(예를 들어, 배경, 캐릭터)가 렌더링될 필요가 있는 경우에만 메모리 내로 로딩되어, 로딩 오버헤드를 절약한다. 다수의 게임 요소를 렌더링할 때, 요소가 동일한 큰 텍스처 맵을 사용하고 그들의 렌더링 파라미터가 동일하다면 상기 요소는 렌더링 배치(rendering batch) 내로 병합될 수 있으며, 이에 의해 렌더링 성능이 향상된다. 렌더링 성능이 텍스처 병합 도구를 사용하는 방법 때문에 향상될 수 있음에도, 전체적인 큰 텍스처 맵이 메모리 내로 로딩될 필요가 있다. 게임 구동 중의 큰 텍스처 재사용으로 인해, 상기 방법은 불필요한 메모리 오버헤드를 초래한다. 더욱이, 메모리 부담이 게임의 버전 업데이트 및 콘텐츠 증가 때문에 크게 증가하여, 게임 중단을 초래한다.
본 개시의 실시예에 따르면, 자원 패킹 프로세스에서, 텍스처 맵은 다수의 단편화된 텍스처들로 단편화되고, 사용된 타깃 텍스처 맵에 대응하는 단편화된 텍스처는 게임 렌더링의 요구사항에 따라 로딩되어서, 메모리 로딩 오버헤드가 효과적으로 감소될 수 있고, 메모리 부담이 감소될 수 있다. 더욱이, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 병합 및 렌더링되어서, 렌더링의 픽처 효과(picture effect)가 보장될 수 있고, 메모리 부담이 게임의 구동에 따라 선형적으로 증가하는 것을 방지할 수 있으므로, 게임이 원활하게 진행될 수 있다.
앞선 설명에 기반하여, 게임 렌더링 방법이 본 개시의 일 실시예에 따라 제공된다. 게임 렌더링 방법은 사용자 측 단말, 예를 들어 휴대폰, 또는 태블릿 컴퓨터(tablet computer), 또는 개인용 컴퓨터(personal computer, PC)에 적용될 수 있다.
도 1을 참조하면, 게임 렌더링 방법은 다음의 단계 S101 내지 S104를 포함할 수 있다.
S101에서, 게임의 자원 파일이 획득된다. 자원 파일은 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 포함하고, 각각의 텍스처 맵은 다수의 단편화된 텍스처를 병합함으로써 형성된다.
게임의 자원 파일은 자원 패킹 프로세스 후에 형성된 파일이다. 자원 파일은 게임 렌더링에 요구되는 하나 이상의 텍스처 맵을 포함하지만 이에 제한되지 않으며, 게임 렌더링에 요구되는 일부 애니메이션 자원을 더 포함할 수 있다. 명심해야 할 것은, 자원 파일 내의 텍스처 맵은 일반적인 전체 텍스처 맵이 아니지만, 다수의 단편화된 텍스처를 스플라이싱(splicing)하고 병합하여 형성된다는 것이다. 일반적으로, 게임의 자원 파일은 게임이 위치한 단말의 저장 공간 내에 저장된다. 예를 들어, 컴퓨터 내의 게임의 자원 파일은 컴퓨터에 의해 게임에 할당된 저장 공간 내에 저장되거나, 또는 이동 전화 내의 게임의 자원 파일은 이동 전화에 의해 게임에 할당된 저장 공간 내에 저장된다. 이 경우, 게임의 자원 파일은 게임이 위치한 단말의 저장 공간으로부터 획득될 수 있다.
S102에서, 게임의 현재 구동 장면 내에서 렌더링될 메시(mesh)에 의해 사용되는 타깃 텍스처 맵이 결정된다.
메시는 일반적으로 게임 내의 영역과 상관된 요소를 나타내기 위해 사용된다. 예를 들어, 맵이 게임 장면의 영역 내에 보이도록 요구되면, 맵 요소는 메시에 기반하여 보여질 수 있다. 보통의 메시는 정사각형 메시, 육각형 메시, 삼각형 메시 등을 포함한다. 게임 장면은 일반적으로 여러 개의 메시를 포함한다. 요소(예를 들어, 캐릭터 및 배경)가 메시 내에 보여지도록 요구되면, 메시는 렌더링될 필요가 있고 렌더링될 메시라고 한다. 게임 장면 내에서 메시 및 사용된 텍스처 맵은 게임 렌더링 전에 결정된다. 예를 들어, 어떤 요소가 장면 내의 위치에 보여져야 하는지는 게임 개발 과정에서 결정된다. 이러한 방식으로, 장면과 메시는 요소에 대응하는 텍스처 맵과 상관되며, 이는 장면의 시퀀스 번호, 메시가 위치하는 픽셀의 좌표의 범위, 및 텍스처 맵의 ID 사이의 상관 관계에 의해 반영될 수 있다. 따라서, 단계 S102에서, 사용된 타깃 텍스처 맵은 게임의 현재 구동 장면 및 렌더링될 메시에 따라 결정될 수 있다.
S103에서, 자원 파일은 타깃 텍스처 맵에 대응하는 단편화된 텍스처에 대해 검색된다.
자원 파일 내의 타깃 텍스처 맵은 전체 텍스처 맵이 아니지만, 여러 개의 단편화된 텍스처를 스플라이싱하고 병합하여 형성된다. 현재 렌더링될 타깃 텍스처 맵이 결정되는 경우, 타깃 텍스처 맵에 대응하는 다수의 단편화된 텍스처가 자원 파일 내에서 발견될 수 있다.
104에서, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 병합 및 렌더링된다.
전체 타깃 텍스처 맵을 렌더링하는 대신, 타깃 텍스처 맵의 다수의 단편화된 텍스처를 병합하고 렌더링하는 것은, 비디오 메모리 부담을 줄이고 렌더링 성능을 향상시키기 위해 의도된다. 구체적으로, 병합 및 렌더링 프로세스는 타깃 텍스처 맵의 다수의 단편화된 텍스처를 메모리 내로 로딩하고, 로딩된 단편화된 텍스처를 렌더링될 게임의 렌더링 엔진에 제출함으로써 수행될 수 있다. 실제 응용에서, 다수의 단편화된 텍스처를 병합 및 렌더링함으로써, 전체 타깃 텍스처 맵을 렌더링하는 것과 동일한 렌더링의 픽처 효과(picture effect)가 달성될 수 있고, 메모리 부담 및 비디오 메모리 부담이 상당히 감소될 수 있어서, 렌더링 성능이 효과적으로 개선된다.
본 개시의 본 실시예에 따르면, 자원 패킹 프로세스에서, 텍스처 맵은 다수의 단편화된 텍스처로 단편화되고, 사용된 타깃 텍스처 맵에 대응하는 단편화된 텍스처는 게임 렌더링의 요구사항에 따라 로딩되어서, 메모리 로딩 오버헤드가 효과적으로 감소되고, 메모리 부담이 줄어들 수 있다. 더욱이, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 병합 및 렌더링되어서, 렌더링의 픽처 효과가 보장될 수 있고, 메모리 부담이 게임의 구동 때문에 선형적으로 증가하는 것을 방지할 수 있어서, 게임이 원활하게 진행될 수 있다.
게임 자원 파일 생성 방법이 본 개시의 일 실시예에 따라 또한 제공된다. 게임 자원 파일 생성 방법은 게임 개발자 또는 디자이너에 의해 사용되는 단말, 예를 들어 PC에 적용될 수 있다.
도 2를 참조하면, 게임 자원 파일 생성 방법은 다음 단계 S201 내지 S210을 포함할 수 있다.
S201에서, 게임 렌더링에 요구되는 하나 이상의 텍스처 맵이 획득된다. 텍스처 맵은 각각 원본 텍스처 데이터(original texture data)를 포함한다.
S202에서, 각각의 텍스처 맵에 대해, 단편화 처리가 다수의 단편화된 텍스처를 획득하기 위해 텍스처 맵에 대해 수행된다.
S203에서, 텍스처 맵에 대응하는 단편화된 텍스처가 게임의 자원 파일 내로 캡슐화된다.
단계 S201 내지 S203은 자원 패킹 프로세스에 속한다. 게임의 렌더링에 요구되는 모든 텍스처 맵은 게임 개발에서 예술 디자인에 의해 생성된다. 텍스처 맵은 원본 텍스처 데이터의 형태로 존재한다. 자원 패킹 프로세스에서, 텍스처 맵의 원본 텍스처 데이터는 단편화된다. 각 텍스처 맵은 여러 개의 단편화된 텍스처로 단편화될 수 있다. 단편화된 텍스처는 자원 파일 내에 캡슐화되어 게임 렌더링을 위해 사용된다.
선택적으로, 각 단편화된 텍스처는 단편화된 텍스처 데이터 및 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터(marginal original texture data)를 포함한다. 단계 S202의 단편화 프로세스는 구체적으로 다음 단계 s11 내지 s13을 포함할 수 있다.
s11에서, 각각의 텍스처 맵이 차례로 선택되고, 선택된 텍스처 맵은 제1 사전 설정 규격(specification)에 따라 행(row)으로 다수의 직사각 프레임으로 절단된다.
s12에서, 선택된 텍스처 맵에 포함된 원본 텍스처 데이터는 제2 사전 설정 규격에 따라 다수의 단편화된 텍스처 데이터로 단편화되고, 사전 설정된 폭의 주변 원본 텍스처 데이터는 각각의 단편화된 텍스처 데이터 주위에서 획득된다.
s13에서, 대응하는 직사각 프레임이, 각각의 채워진 직사각 프레임에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 채워진다.
실제 구현에서, 단계 s13은 다음 프로세스에 의해 수행될 수 있다. 첫째로, 사전 설정된 폭의 마진(margin)이 각각의 직사각 프레임의 상측(upper side) 및 하측(lower side) 각각에 예비로 보유되고, 직사각 프레임이 중심 영역(central region) 및 중심 영역을 둘러싸는 주변 영역(marginal region)을 가질 수 있도록, 사전 설정된 폭의 마진이 직사각 프레임의 좌측(left side) 및 우측(right side) 각각에 부가된다. 둘째로, 각각의 채워진 직사각 프레임에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 대응하는 직사각 프레임의 중심 영역은 다수의 단편화된 텍스처 데이터로 각각 채워지고, 대응하는 직사각 프레임의 주변 영역은 다수의 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터로 각각 채워진다.
단편화 프로세스를 수행하기 위해 각 텍스처 맵에 대한 앞서 설명한 단계 s11 내지 s13을 반복함으로써,. 모든 텍스처 맵은 다수의 단편화된 텍스처로 각각 단편화될 수 있다. 제1 사전 설정 규격의 값은 제2 사전 설정 규격의 값과 두 배의 사전 설정된 폭의 값의 합계보다 크거나 같다. 예를 들어, 제1 사전 설정 규격의 값은 32픽셀이고, 제2 사전 설정 규격의 값은 30픽셀이며, 사전 설정된 폭은 1픽셀이다. 다른 예를 들면, 제1 사전 설정 규격의 값은 16픽셀이고, 제2 사전 설정 규격의 값은 14픽셀이며, 사전 설정된 폭은 1픽셀이다.
단계 s11 내지 s13의 단편화 프로세스는 도 3a 내지 도 3c를 참조하여 아래에서 설명된다. 제1 사전 설정 규격은 32픽셀인 것으로 가정하고, 도 3에 도시된 다수의 직사각 프레임은 32픽셀의 행 높이(row height)로 텍스처 맵을 절단함으로써 획득될 수 있다. 각 직사각 프레임의 행 높이는 32픽셀이다. 비디오 메모리 내의 텍스처 맵의 다수의 단편화된 텍스처의 위치는 연속적이지 않으며, 불연속적일 수 있다. 다수의 단편화된 텍스처가 렌더링을 위해 텍스처 맵에 스플라이싱되는 프로세스에서, 불연속의 컬러 이음매(irregular color seam)가 선형 샘플링이 수행되는 경우에 나타난다. 선형 샘플링에 의해 야기되는 불연속의 색상 이음매를 방지하기 위해, 특정한 처리가 본 실시예의 단편화 프로세스에서 요구되며, 이는 도 3a 내지 도 3c를 참조하여 보여진다. 구체적으로, 32픽셀의 행 높이를 갖는 다수의 직사각 프레임이 획득된 후, 1픽셀의 마진이 각 직사각 프레임의 상측 및 하측 상에 예비로 보유되고(reserved), 1픽셀의 마진이 각 직사각 프레임의 좌측 및 우측 각각에 부가되어서, 각 직사각 프레임은 30픽셀의 높이를 갖는 중심 영역과 중심 영역을 둘러싸는, 1픽셀 폭을 갖는 주변 영역을 가진다. 다음, 텍스처 맵에 포함된 원본 텍스처 데이터는 30픽셀의 행 높이에서 다수의 단편화된 텍스처 데이터로 단편화되고, 단편화된 텍스처 데이터의 각 조각 주위에서 1픽셀 폭을 갖는 주변 원본 텍스처 데이터가 텍스처 맵으로부터 획득된다. 직사각 프레임의 중심 영역은 30픽셀의 행 높이를 갖는 단편화된 텍스처 데이터로 채워지고, 중심 영역 주위의 1픽셀 폭을 갖는 주변 영역은 주변 원본 텍스처 데이터로 채워진다. 이러한 방식으로, 각 채워진 직사각 프레임은 하나의 단편화된 텍스처를 형성한다.
명심해야 할 것은, 앞서 설명한 예에서, 설명은 직사각 프레임의 상측 및 하측에 각각 1픽셀의 마진이 예비로 보유되고 1픽셀의 마진이 직사각 프레임의 좌측 및 우측에 각각 부가되어서 주변 영역을 형성하는 경우를 예시로 취하여 주어진다는 것이다. 다른 가능한 예시에서, 1픽셀의 마진이 직사각 프레임의 상측 및 하측 각각에 부가되거나, 또는 1픽셀의 마진이 직사각형의 좌측 및 우측 각각에서 예비로 보유될 수 있다. 요약하면, 주변 영역은 픽셀을 부가하거나 예비로 보유함으로써 형성될 수 있다.
단계 S203 내의 캡슐화 프로세스는 구체적으로 다음 단계 s21 내지 s23을 포함할 수 있다.
s21에서, 각각의 텍스처 맵에 대해, 텍스처 맵의 속성이 획득된다. 상기 속성은 ID, 해제 유형(release type), 및 오프셋 정보(offset information)를 포함한다. 해제 유형은 즉시 해제(immediate release), 자동 해제(automatic release), 또는 메모리 내에 상주(being resident in a memory)가 포함된다.
텍스처 맵의 ID는 텍스처 맵을 고유하게 식별하기 위해 사용된다. 오프셋 정보는 자원 파일 내에서 텍스처 맵의 저장 위치를 결정하기 위해 사용된다. 해제 유형은 게임 렌더링 전에 게임의 렌더링 엔진 내에서 설정될 수 있다.
즉시 해제는, 텍스처 맵의 부가 또는 교체 여부에 관계없이, 텍스처 맵에 대한 액세스가 텍스처 맵의 로딩을 트리거하지 않을 수 있고, 텍스처 맵이 실제로 필요한 경우에만 텍스처 맵이 로딩되는 경우를 말한다(예를 들어, 텍스처 맵은 게임 장면 내에서 요소를 그리기 위해 요구된다). 더욱이, 텍스처 맵이 로딩된 후, 텍스처 맵이 더 이상 사용되지 않으면(예를 들어, 요소가 파괴되거나 숨겨짐) 텍스처 맵에 의해 점유되는 메모리 공간은 즉시 해제된다. 게다가, 텍스처 맵의 해제는, 텍스처 맵이 해제 직후에 로딩되도록 요구되는 것을 방지하기 위해, 예를 들어, 2초 또는 5초 지연될 수 있다. 게임의 외부 인터페이스에서 사용되는 텍스처 맵은 즉시 해제 유형이다.
자동 해제는 참조 카운트(reference count)가 로딩된 텍스처 맵에 대해 설정된 경우를 말한다. 스마트 포인터(smart pointer)와 유사하게, 참조 카운트는 텍스처 맵이 액세스될 때마다 증가하고, 참조 카운트는 텍스처 맵에 대응하는 요소가 파괴되거나 텍스처 맵이 교체되는 경우 감소한다. 텍스처 맵에 의해 점유되는 메모리 공간은 참조 카운트가 0으로 복귀하면 자동으로 해제된다.
메모리 내에 상주하는 것은, 텍스처 맵이 메모리 내로 로딩된 후, 텍스처 맵에 의해 점유되는 메모리 공간이 게임의 렌더링 엔진의 내부 인터페이스를 사용하여 강제로 해제되는 경우를 의미한다.
s22에서, 요약 정보 테이블(brief information table)이 텍스처 맵의 속성에 기반하여 생성된다.
s23에서, 요약 정보 테이블은 자원 파일의 파일 헤더(file header)에 저장되고, 각 텍스처 맵에 대응하는 단편화된 텍스처는 자원 파일의 파일 본체(file body)에 저장된다.
단계 s21 내지 s23에서, 자원 파일은 두 부분을 포함한다. 파일 헤더는 요약 정보 테이블을 저장하기 위해 사용되고, 파일 본체는 텍스처 맵에 대응하는 다수의 단편화된 텍스처를 저장하기 위해 사용된다. 텍스처 맵 및 그것의 단편화된 텍스처는 요약 정보 테이블을 사용하여 필요에 따라 검색되고 로딩될 수 있다.
선택적으로, 앞서 설명한 단편화 프로세스와 조합하여, 게임 렌더링 프로세스에서 단계 S104의 병합 및 렌더링 프로세스는 구체적으로 다음 단계 s31 내지 s34를 포함한다.
s31에서, 메모리 내의 사전 설정된 동적 로딩 영역은 제1 사전 설정 규격에 따라 행으로 다수의 동적 로딩 행으로 절단된다.
s32에서, 각각의 동적 로딩 행에 대해, 동적 로딩 행의 유휴 영역이 빈-패킹(bin packing) 알고리즘을 사용하여 할당된다.
s33에서, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 동적 로딩 행의 유휴 영역으로 차례로 로딩된다.
s34에서,로딩된 단편화된 텍스처가 동적 로딩 행으로부터 판독되고, 판독된 단편화된 텍스처가 렌더링될 게임의 렌더링 엔진에 제출된다.
단계 s31 내지 s34에서, 메모리 내의 사전 설정된 동적 로딩 영역은 메모리 내에 사전 할당되고 단편화된 텍스처를 동적으로 로딩하기 위해 사용되는 영역을 지칭한다. 실제 상황에 따라, 사전 설정된 동적 로딩 영역은 하나 이상의 동적 텍스처 맵의 크기와 동일한 크기를 가질 수 있다. 예를 들어, 사전 설정된 동적 로딩 영역은 각각 크기 2048*1024인 하나 이상의 동적 텍스처 맵으로 표현될 수 있다. 메모리 내의 사전 설정된 동적 로딩 영역은 제1 사전 설정 규격(16픽셀 또는 32픽셀)에 따라 다수의 행으로 절단될 수 있다. 각 행은 동적 로딩 행이다. 각 동적 로딩 행에 대해, 동적 로딩 행 내의 유휴 영역이 빈-패킹 알고리즘을 사용하여 할당될 수 있다. 동적 로딩 행의 유휴 영역은 로딩될 필요가 있는 타깃 텍스처 맵의 다수의 단편화된 텍스처에 할당된다. 단편화된 텍스처가 로딩된 후, 단편화된 텍스처가 렌더링될 게임의 렌더링 엔진에 제출된다. 명심해야 할 것은, 여기서의 병합 및 렌더링 프로세스는 렌더링 최적화 알고리즘을 사용하여 수행된다는 것이다. 렌더링 최적화 알고리즘에서, 전체 텍스처 맵 및 CPU 클리핑(clipping)에 대한 종래의 렌더링 방법에 기반하여, 전체 텍스처 맵의 좌표가 종래의 렌더링 방법을 사용하여 계산되고, 각각의 단편화된 텍스처의 좌표는 전체 텍스처 맵 내의 단편화된 텍스처의 상대적 위치 비율에 기반하여 계산된다. 실제 구현에서, 렌더링 최적화 알고리즘은 아래의 코드 스니펫(code snippet)을 사용하여 표현될 수 있다.
Figure pct00001
Figure pct00002
도 4에 도시된 게임의 실제 렌더링 효과 및 비디오 메모리 내의 단편화된 텍스처의 저장 상태로부터 알 수 있는 것은, 비디오 메모리 내의 단편화된 텍스처는 행으로 배열된다는 것이다. 실제 응용에서, 다수의 단편화된 텍스처를 병합 및 렌더링함으로써, 전체 타깃 텍스처 맵을 렌더링하는 것과 동일한 픽처 효과가 달성될 수 있고, 메모리 부담 및 비디오 메모리 부담이 상당히 감소될 수 있고, 이에 의해 렌더링 성능이 효과적으로 개선된다.
선택적으로, 본 개시의 본 실시예에서 제공되는 게임 렌더링 방법은 다음 단계 S208 내지 S210을 더 포함한다.
S208에서, 타깃 텍스처 맵의 해제 유형이 자원 파일의 파일 헤더로부터 획득된다.
S209에서, 타깃 텍스처 맵의 단편화된 텍스처에 의해 점유된 동적 로딩 행이 획득된 해제 유형에 따라 해제된다.
S210에서, 재활용된 동적 로딩 행이 병합된다.
단계 S208 내지 S210에서, 타깃 텍스처 맵의 다수의 단편화된 텍스처가 병합 및 렌더링된 후에, 각 단편화된 텍스처에 의해 점유된 메모리 공간은 타깃 텍스처 맵의 해제 유형에 따라 해제될 필요가 있다. 구체적으로, 단편화된 텍스처가 메모리 내의 동적 로딩 행으로 로딩되기 때문에, 동적 로딩 행의 할당된 유휴 영역은 단편화된 텍스처에 의해 점유된 메모리 공간이 해제된 후에 재활용된다. 재활용된 동적 로딩 행은 이후 병합된다. 이해돼야 할 것은, 동적 로딩 행은 사전 설정된 동적 로딩 영역을 절단함으로써 초기에 획득된다는 것이다. 재활용된 후, 모든 동적 로딩 행은 사전 설정된 동적 로딩 영역을 형성하기 위해 병합될 수 있다.
앞서 설명한 게임 렌더링 방법의 실시예에 기반하여, 본 개시의 일 실시예에 따른 게임 렌더링 장치가 추가로 제공된다. 게임 렌더링 장치는 컴퓨터 프로그램(프로그램 코드를 포함함)일 수 있으며, 컴퓨터 프로그램은 앞서 설명한 실시예에서 설명된 게임 렌더링 방법을 수행하기 위한 단말(예를 들어, PC 또는 휴대폰) 내에서 실행될 수 있다. 도 5를 참조하면, 게임 렌더링 장치는 파일 획득부(101), 타깃 결정부(102), 검색부(103), 및 병합 및 렌더링부(104)를 포함하는 다음 유닛을 동작시킨다.
파일 획득부(101)는 게임의 자원 파일을 획득하도록 구성된다. 자원 파일은 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 포함하고, 각각의 텍스처 맵은 다수의 단편화된 텍스처를 병합함으로써 형성된다.
타깃 결정부(102)는 게임의 현재 구동 장면 내에서 렌더링될 메시에 의해 사용되는 타깃 텍스처 맵을 결정하도록 구성된다.
검색부(103)는 타깃 텍스처 맵에 대응하는 다수의 단편화된 텍스처에 대해 자원 파일을 검색하도록 구성된다.
병합 및 렌더링부(104)는 타깃 텍스처 맵에 대응하는 다수의 단편화된 텍스처를 병합 및 렌더링하도록 구성된다.
선택적으로, 게임 렌더링 장치는 자원 패킹 처리부(105)를 추가로 동작시킨다.
자원 패킹 처리부(105)는, 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하고 - 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -; 각각의 텍스처 맵을 다수의 단편화된 텍스처로 단편화하고 - 각각의 단편화된 텍스처는 하나의 단편화된 텍스처 데이터 및 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터를 포함함 -; 텍스처 맵에 대응하는 다수의 단편화된 텍스처를 자원 파일 내로 캡슐화하도록 구성된다.
선택적으로, 게임 렌더링 장치는 재활용 처리부(106)를 추가로 동작시킨다.
재활용 처리부(106)는, 자원 파일의 파일 헤더로부터 타깃 텍스처 맵의 해제 유형을 획득하고; 획득된 해제 유형에 따라 타깃 텍스처 맵의 단편화된 텍스처에 의해 점유된 동적 로딩 행을 해제하고; 재활용된 동적 로딩 행을 병합하도록 구성된다.
실제 구현에서, 게임 렌더링 장치는, 각각의 텍스처 맵을 차례로 선택하고, 선택된 텍스처 맵을 제1 사전 설정 규격에 따라 행으로 다수의 직사각 프레임으로 절단하고; 선택된 텍스처 맵 내에 포함된 원본 텍스처 데이터를 제2 사전 설정 규격에 따라 다수의 단편화된 텍스처 데이터로 단편화하고, 단편화된 텍스처 데이터 각각의 주위에서 사전 설정된 폭의 주변 원본 텍스처 데이터를 획득하고; 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우기 위해 자원 패킹 처리부(105)를 동작시키고, 여기서 제1 사전 설정 규격은 제2 사전 설정 규격의 값과 두 배의 사전 설정된 폭의 값의 합계보다 크거나 같다.
채워진 직사각 프레임들 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임들을 채우는 프로세스는, 직사각 프레임의 각각의 상측 및 하측에 사전 설정된 폭의 마진을 예비로 보유하고, 직사각 프레임 중심 영역 및 중심 영역을 둘러싸는 주변 영역을 가질 수 있도록, 직사각 프레임의 좌측 및 우측 각각에 상기 사전 설정된 폭의 마진을 부가하는 단계; 및 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 대응하는 직사각 프레임의 중심 영역을 각각 다수의 단편화된 텍스처 데이터로 채우고, 대응하는 직사각 프레임의 주변 영역을 각각 다수의 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터로 채우는 단계를 포함한다.
게임 렌더링 장치는 또한, 텍스처 맵 각각에 대해, 텍스처 맵의 속성을 획득하고 - 상기 속성은 ID, 해제 유형, 및 오프셋 정보를 포함하고, 해제 유형은 즉시 해제, 자동 해제, 또는 메모리 내에 상주를 포함함 -; 텍스처 맵의 속성에 기반하여 요약 정보 테이블을 생성하고; 요약 정보 테이블을 자원 파일의 파일 헤더에 저장하고, 각각의 텍스처 맵에 대응하는 다수의 단편화된 텍스처를 자원 파일의 파일 본체에 저장하기 위해 자원 패킹 처리부(105)를 동작시킨다.
실제 구현에서, 게임 렌더링 장치는, 제1 사전 설정 규격에 따라 메모리 내의 사전 설정된 동적 로딩 영역을 행으로 다수의 동적 로딩 행으로 절단하고; 동적 로딩 행 각각에 대해, 빈-패킹 알고리즘을 사용하여 동적 로딩 행의 유휴 영역을 할당하고; 타깃 텍스처 맵에 대응하는 단편화된 텍스처를 동적 로딩 행의 유휴 영역으로 차례로 로딩하고; 동적 로딩 행으부터 로딩된 단편화된 텍스처를 판독하고 렌더링될 게임의 렌더링 엔진에 판독된 단편화된 텍스처를 제출하기 위해, 병합 및 렌더링부(104)를 동작시킨다.
본 개시의 일 실시예에 따르면, 도 1에 도시된 게임 렌더링 방법의 단계 S101 내지 S104는 도 5에 도시된 게임 렌더링 장치의 유닛에 의해 수행될 수 있다. 예를 들어, 도 1에 도시된 단계 S101 내지 S104는 도 5에 도시된 파일 획득부(101), 타깃 결정부(102), 검색부(103), 및 병합 및 렌더링부(104)에 의해 각각 수행될 수 있다.
선택적으로, 도 2에 도시된 게임 자원 파일 생성 방법의 단계 S201 내지 S203는 도 5에 도시된 자원 패킹 처리부(105)에 의해 수행될 수 있다.
선택적으로, 앞서 설명한 단계 S208 내지 S210은 도 5에 도시된 재활용 처리부(106)에 의해 수행될 수 있다.
게다가, 앞서 설명한 게임 자원 파일 생성 방법의 실시예에 기반하여, 본 개시의 일 실시예에 따른 게임 자원 파일 생성 장치가 추가로 제공된다. 게임 자원 파일 생성 장치는 컴퓨터 프로그램(프로그램 코드를 포함함)일 수 있고, 컴퓨터 프로그램은 앞서 설명한 실시예에서 설명된 게임 자원 파일 생성 방법을 수행하기 위해 단말(예를 들어, PC) 내에서 실행될 수 있다. 예시적으로, 게임 자원 파일 생성 장치는 맵 획득부, 단편화부, 및 파일 캡슐화부를 동작시킬 수 있다.
맵 획득부는 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하도록 구성되며, 텍스처 맵은 각각 원본 텍스처 데이터를 포함한다.
단편화부는 각각의 텍스처 맵을 다수의 단편화된 텍스처로 단편화하도록 구성된다.
파일 캡슐화부는 텍스처 맵에 대응하는 단편화된 텍스처를 게임의 자원 파일 내로 캡슐화하도록 구성된다.
본 개시의 일 실시예에 따르면, 도 2에 도시된 게임 자원 파일 생성 방법의 단계 S201 내지 S203은 게임 자원 파일 생성 장치의 유닛에 의해 수행될 수 있다. 예를 들어, 도 2에 도시된 단계 S201 내지 S203은 맵 획득부, 단편화부, 및 파일 캡슐화부에 의해 각각 수행될 수 있다.
게다가, 맵 획득부, 단편화부, 및 파일 캡슐화부의 구체적 동작 프로세스는 도 5에 도시된 실시예의 자원 패킹 처리부(105)의 구체적 동작 프로세스의 관련 설명이 참조될 수 있고, 여기서 다시 설명되지 않는다.
본 개시의 다른 실시예에 따르면, 앞서 설명된 게임 렌더링 장치 또는 게임 자원 파일 생성 장치의 일부 또는 전부는 하나 이상의 다른 유닛으로 결합될 수 있고, 또는 하나 이상의 다른 유닛은 작은 기능을 갖는 다수의 유닛으로 분할될 수 있다. 이 경우, 위에서와 동일한 동작이 본 개시의 실시예의 기술적 효과에 영향을 주지 않으면서 구현될 수 있다. 앞서 설명한 유닛은 논리 기능에 기반하여 분할된다. 실제 응용에서, 하나의 유닛의 기능은 다수의 유닛에 의해 구현될 수 있거나, 또는 다수의 유닛의 기능은 하나의 유닛에 의해 구현될 수 있다. 본 개시의 다른 실시예에서, 게임 렌더링 장치는 또 다른 유닛을 더 포함할 수 있다. 실제의 실질적 응용에서, 이들 기능들은 또한 다른 유닛에 의해 협력적으로 구현될 수 있고 다수의 유닛에 의해 협력적으로 구현될 수 있다.
본 개시의 다른 실시예에 따르면, 도 1 또는 도 2에 도시된 방법의 단계들을 구현하기 위해 실행되는 컴퓨터 프로그램(프로그램 코드 포함)은, 본 개시의 실시예에 따른 렌더링 방법 또는 게임 자원 파일 생성 방법을 구현하기 위해, 중앙 처리 장치(CPU)와 같은 처리 요소 및 랜덤 액세스 메모리(RAM) 및 읽기 전용 메모리(ROM)와 같은 저장 요소를 포함하는 컴퓨터의 일반적인 컴퓨팅 기기 상에서 실행될 수 있다. 컴퓨터 프로그램은, 예를 들어, 컴퓨터 판독 가능한 기록 매체 내에 기록될 수 있고, 컴퓨터 판독 가능한 기록 매체를 거쳐 앞서 설명한 컴퓨팅 기기 내로 로딩될 수 있으며, 컴퓨팅 기기 내에서 실행된다. 컴퓨터 판독 가능 기록 매체는 컴퓨터 판독 가능 저장 매체 또는 앞서 설명된 저장 기기로 지칭될 수 있다. 예를 들어, 컴퓨터 판독 가능한 기록 매체는 ROM, 또는 RAM, 또는 CD-ROM, 또는 자기 테이프, 또는 플로피 디스크, 또는 또는 광학 데이터 저장 기기일 수 있다.
본 개시의 실시예에 따르면, 자원 패킹 프로세스에서, 텍스처 맵은 다수의 단편화된 텍스처들로 단편화되고, 사용된 타깃 텍스처 맵에 대응하는 단편화된 텍스처는 게임 렌더링의 요구사항에 따라 로딩되어서, 메모리 로딩 오버헤드가 효과적으로 감소되고, 메모리 부담이 감소될 수 있다. 더욱이, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 병합 및 렌더링되어서, 렌더링의 픽처 효과가 보장될 수 있고, 메모리 부담이 게임의 구동 때문에 선형적으로 증가하는 것을 방지할 수 있어서, 게임이 원활하게 진행될 수 있다.
앞서 설명한 실시예에 따른 방법 및 장치에 기반하여, 본 개시의 일 실시예에 따른 단말이 추가로 제공된다. 단말은 도 1에 도시된 방법 흐름의 단계, 또는 도 2에 도시된 방법 흐름의 단계를 수행하기 위해 사용될 수 있다 실제 구현에서, 본 개시의 실시예에서 설명된 단말은 터치 감응형 표면(예를 들어, 터치스크린 디스플레이 및/또는 터치 패드)을 갖춘 이동 전화, 또는 랩탑 컴퓨터 또는 태블릿 컴퓨터와 같은 휴대용 장치를 포함하지만 이에 한정되지 않는다. 또한 이해돼야 할 것은, 일부 실시예에서, 단말은 휴대용 통신 장치가 아니라 터치 감응형 표면(예를 들어, 터치스크린 디스플레이 및/또는 터치 패드)을 갖춘 데스크탑 컴퓨터일 수 있다는 것이다. 도 6을 참조하면, 단말의 내부 구조는 프로세서, 사용자 인터페이스, 네트워크 인터페이스, 및 저장 기기를 포함할 수 있다. 단말의 프로세서, 사용자 인터페이스, 네트워크 인터페이스, 및 저장 기기는 버스를 통해 또는 다른 방식으로 연결될 수 있다. 도 6에 도시된 실시예에서, 버스를 통한 연결이 예시로서 도시되어 있다.
사용자 인터페이스는 출력을 위해 사용되는 디스플레이, 입력을 위해 사용되는 키보드 등을 포함하는, 사용자와 단말 사이의 상호작용 및 정보 교환을 위해 사용되는 매체이다. 명심해야 할 것은, 여기서 키보드는 물리적 키보드, 또는 터치스크린 가상 키보드, 또는 물리적 키보드와 터치스크린 가상 키보드를 결합한 키보드일 수 있다는 것이다. 이해돼야 할 것은, 사용자 인터페이스는 마우스 및/또는 제어 핸들과 같은 하나 이상의 다른 물리적 사용자 인터페이스 장치를 더 포함할 수 있다는 것이다. 프로세서(또는 중앙 처리 장치(CPU))는 단말의 컴퓨팅 코어 및 제어 코어이다. 프로세서는 하나 이상의 명령을 구현하도록, 구체적으로, 대응하는 방법 흐름 또는 기능을 구현하기 위해 하나 이상의 명령을 로딩 및 실행하도록 구성된다. 예를 들어, CPU는 단말에게 사용자에 의해 전송되는 온/오프 명령을 파싱하고, 온/오프 동작을 수행하도록 단말을 제어하기 위해 사용될 수 있다. 다른 예를 들면, CPU는 단말의 내부 구조 등 사이의 다양한 상호작용 데이터를 전송할 수 있다. 저장 기기(메모리)는 단말의 메모리 기기이며, 프로그램 및 데이터를 저장하기 위해 사용된다. 이해돼야 할 것은, 여기서의 저장 기기는 단말의 내부 저장 기기를 포함할 수 있고, 또한 단말에 의해 지원되는 확장 저장 기기를 포함할 수 있다는 것이다. 저장 기기는 단말의 운영 체제가 저장될 수 있는, 저장 공간을 제공한다. 프로세서에 의해 로딩 및 실행될 수 있는 하나 이상의 명령은 저장 공간 내에 추가로 저장된다. 상기 명령은 하나 이상의 컴퓨터 프로그램(프로그램 코드를 포함함)일 수 있다. 명심해야 할 것은, 여기서의 저장 기기는 고속 RAM 메모리 또는 비 휘발성 메모리, 예를 들어, 적어도 하나의 자기 디스크 메모리일 수 있다는 것이다. 선택적으로, 저장 기기는 앞서 설명한 프로세서로부터 떨어져 있는 적어도 하나의 저장 기기일 수 있다.
또한 명심해야 할 것은, 단말은 다양한 응용 프로그램, 예를 들어, 드로잉 응용 프로그램, 데모 응용 프로그램, 워드 프로세싱 응용 프로그램, 웹사이트 구축 응용 프로그램, 디스크 굽기 응용 프로그램, 스프레드 시트 응용 프로그램, 게임 응용 프로그램, 전화 응용 프로그램, 화상 회의 응용 프로그램, 이메일 응용 프로그램, 인스턴트 메시징 응용 프로그램, 운동 지원 응용 프로그램, 사진 관리 응용 프로그램, 디지털 카메라 응용 프로그램, 디지털 비디오 카메라 응용 프로그램, 웹 브라우징 응용 프로그램, 디지털 음악 플레이어 응용 프로그램, 및/또는 디지털 비디오 플레이어 응용 프로그램 중 하나 이상을 지원한다는 점이다. 단말 상에서 실행될 수 있는 다양한 응용 프로그램은, 예를 들어, 터치 감응형 표면 상의 적어도 하나의 공공 물리적 사용자 인터페이스 장치를 사용할 수 있다. 터치 감응형 표면의 하나 이상의 기능 및 단말 상에 디스플레이된 대응하는 정보는 응용 프로그램 사이에서 및/또는 대응하는 응용 프로그램 내에서 조정 및/또는 변경될 수 있다. 이 경우, 단말의 공공 물리 아키텍처(예를 들어, 터치 감응형 표면)는 사용자에게 직관적이고 투명한, 사용자 인터페이스의 다양한 응용 프로그램을 지원할 수 있다.
본 개시의 일 실시예에서, 프로세서는 도 1 또는 도 2에 도시된 방법 흐름 내의 대응하는 단계를 구현하기 위해 저장 기기 내에 저장된 하나 이상의 명령을 로딩 및 실행한다. 실제 구현에서, 저장 기기 내의 하나 이상의 명령은 다음,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 포함하는 게임의 자원 파일을 획득하는 단계 - 각각의 텍스처 맵은 다수의 단편화된 텍스처를 병합함으로써 형성됨 -;
게임의 현재 구동 장면 내에서 렌더링될 메시에 의해 사용되는 타깃 텍스처 맵을 결정하는 단계;
타깃 텍스처 맵에 대응하는 단편화된 텍스처에 대해 자원 파일을 검색하는 단계; 및
타깃 텍스처 맵에 대응하는 단편화된 텍스처를 병합 및 렌더링하는 단계 단계를 수행하도록 프로세서에 의해 로딩된다.
실제 구현에서, 게임의 자원 파일을 획득하는 단계 이전에, 저장 기기 내의 하나 이상의 명령은 다음,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하는 단계 - 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -;
각각의 텍스처 맵을 다수의 단편화된 텍스처로 단편화하는 단계 - 각각의 단편화된 텍스처는 단편화된 텍스처 데이터 및 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터를 포함함 -;
텍스처 맵에 대응하는 단편화된 텍스처를 자원 파일 내로 캡슐화하는 단계를 수행하기 위해 프로세서에 의해 로딩된다.
실제 구현에서, 각각의 텍스처 맵을 다수의 단편화된 텍스처로 단편화하는 프로세스에서, 저장 기기 내의 하나 이상의 명령은 구체적으로 다음,
각각의 텍스처 맵을 차례로 선택하고, 선택된 텍스처 맵을 제1 사전 설정 규격에 따라 행으로 다수의 직사각 프레임으로 절단하는 단계;
선택된 텍스처 맵에 포함된 원본 텍스처 데이터를 제2 사전 설정 규격에 따라 다수의 단편화된 텍스처 데이터로 단편화하고, 단편화된 텍스처 데이터 각각의 주위의 사전 설정된 폭의 주변 원본 텍스처 데이터를 획득하는 단계; 및
채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 단계를 수행하기 위해 프로세서에 의해 로딩되고, 여기서
제1 사전 설정 규격의 값은 제2 사전 설정 규격의 값과 두 배의 사전 설정된 폭의 값의 합의 합계보다 크거나 같다.
실제 구현에서, 채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 다수의 단편화된 텍스처 데이터 및 다수의 단편화된 텍스처 데이터의 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 프로세스에서, 저장 기기 내의 하나 이상의 명령은 구체적으로 다음,
각 직사각 프레임의 상측 및 하측 각각에 사전 설정된 폭의 마진을 예비로 보유하고, 직사각 프레임이 중심 영역 및 중심 영역을 둘러싸는 주변 영역을 가질 수 있도록, 직사각 프레임의 좌측 및 우측 각각에 사전 설정된 폭의 마진을 부가하는 단계; 및
채워진 직사각 프레임 각각에 의해 단편화된 텍스처 중 하나를 형성하기 위해, 대응하는 직사각 프레임의 중심 영역을 각각 다수의 단편화된 텍스처 데이터로 채우고, 대응하는 직사각 프레임의 주변 영역을 각각 다수의 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터로 채우는 단계를 수행하기 위해 프로세서에 의해 로딩된다.
실제 구현에서, 각각의 텍스처 맵에 대해, 텍스처 맵에 대응하는 단편화된 텍스처를 자원 파일로 캡슐화하는 프로세스에서, 저장 기기 내의 하나 이상의 명령은 구체적으로 다음,
각각의 텍스처 맵에 대해, 텍스처 맵의 속성을 획득하는 단계 - 상기 속성은 ID, 해제 유형, 및 오프셋 정보를 포함하고, 해제 유형은 즉시 해제, 또는 자동 해제, 또는 메모리 내에 상주를 포함함 -;
텍스처 맵의 속성에 기반하여 요약 정보 테이블을 생성하는 단계; 및
요약 정보 테이블을 자원 파일의 파일 헤더에 저장하고, 각각의 텍스처 맵에 대응하는 단편화된 텍스처를 자원 파일의 파일 본체에 저장하는 단계를 수행하도록 프로세서에 의해 로딩된다.
실제 구현에서, 타깃 텍스처 맵에 대응하는 단편화된 텍스처를 병합 및 렌더링하는 프로세스에서, 저장 기기 내의 하나 이상의 명령은 구체적으로 다음,
메모리 내의 사전 설정된 동적 로딩 영역을 제1 사전 설정 규격에 따라 행으로 다수의 동적 로딩 행으로 절단하는 단계;
상기 동적 로딩 행 각각에 대해, 빈-패킹 알고리즘을 사용하여 상기 동적 로딩 행의 유휴 영역을 할당하는 단계;
타깃 텍스처 맵에 대응하는 단편화된 텍스처를 동적 로딩 행의 유휴 영역에 차례로 로딩하는 단계; 및
동적 로딩 행으부터 로딩된 단편화된 텍스처를 판독하고 렌더링될 게임의 렌더링 엔진에 판독된 단편화된 텍스처를 제출하는 단계를 수행하도록 프로세서에 의해 로딩된다.
실제 구현에서, 타깃 텍스처 맵의 다수의 단편화된 텍스처를 병합 및 렌더링 한 후, 저장 기기 내의 하나 이상의 명령은 또한 다음,
자원 파일의 파일 헤더로부터 타깃 텍스처 맵의 해제 유형을 획득하는 단계;
획득된 해제 유형에 따라 타깃 텍스처 맵의 단편화된 텍스처에 의해 점유된 동적 로딩 행을 해제하는 단계; 및
재활용된 동적 로딩 행을 병합하는 단계를 수행하도록 프로세서에 의해 로딩된다.
다른 실시예에서, 저장 기기 내의 하나 이상의 명령은 다음 단계,
게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하는 단계 - 상기 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -;
각각의 텍스처 맵을 다수의 단편화된 텍스처로 단편화하는 단계; 및
텍스처 맵에 대응하는 단편화된 텍스처를 게임의 자원 파일 내로 캡슐화하는 단계를 수행하도록 프로세서에 의해 로딩된다.
본 개시의 실시예에 따르면, 자원 패킹 프로세스에서, 텍스처 맵은 다수의 단편화된 텍스처들로 단편화되고, 사용된 타깃 텍스처 맵에 대응하는 단편화된 텍스처는 게임 렌더링의 요구사항에 따라 로딩되어서, 메모리 로딩 오버헤드가 효과적으로 감소될 수 있고, 메모리 부담이 감소될 수 있다. 더욱이, 타깃 텍스처 맵에 대응하는 단편화된 텍스처가 병합 및 렌더링되어서, 렌더링의 픽처 효과가 보장될 수 있고, 메모리 부담이 게임의 구동에 따라 선형적으로 증가하는 것을 방지할 수 있으므로, 게임이 원활하게 진행될 수 있다.
본 개시의 설명에서, "일 실시예", "일부 실시예", "예시", "구체적인 예시"또는 "일부 예시"와 같은 참조 용어에 대한 설명은 본 개시의 적어도 하나의 실시예 또는 예시 내의 실시예 또는 예시와 함께 설명되는 구체적 특징, 또는 구조, 또는 소재, 또는 특징을 포함하도록 의도된다. 본 명세서에서, 앞서 설명한 용어의 개략적인 설명은 반드시 동일한 실시예 또는 예시에 관한 것은 아니다. 또한, 설명된 구체적 특징, 또는 구조, 또는 소재, 또는 특징은 임의의 하나 이상의 실시예 또는 예시에서 적절한 방식으로 결합될 수 있다. 또한, 서로 상충되지 않는 경우, 당업자는 본 명세서에 설명된 서로 다른 실시예 또는 예시 및 서로 다른 실시예 또는 예시의 특징을 결합하거나 그룹화할 수 있다.
게다가, "제1" 및 "제2"라는 용어는 설명을 위해서만 사용되며 상대적인 중요성을 나타내거나 암시하거나 지시된 기술적 특징의 번호를 의미하는 것으로 이해되어서는 안 된다. 그러므로, "제1" 및 "제2"에 의해 정의된 특징은 하나 이상의 특징을 명시적으로 또는 암시적으로 포함할 수 있다. 본 개시의 설명에서, 명시적으로 특정되지 않는 한, "다수"는 적어도 2개, 예를 들어 2개 또는 3개를 의미한다.
흐름도 내의 또는 다른 방식으로 본 명세서에 기술된 임의의 프로세스 또는 방법은 특정한 논리적 기능 또는 프로세스 단계를 구현하기 위한 하나 이상의 실행 가능한 명령의 코드를 포함하는 모듈, 또는 세그먼트, 또는 부분을 지시하는 것으로 이해될 수 있다. 게다가, 본 개시의 실시예의 범위는, 당업자에 의해 이해되어야 하는 관련된 기능에 따라 기본적으로 동시인 순서 또는 역순을 포함하는, 도시되거나 논의된 순서와 다른 순서로 기능이 수행되는 다른 구현을 포함한다.
본 개시의 일부는 하드웨어, 또는 소프트웨어, 또는 펌웨어, 또는 이들의 조합을 사용하여 구현될 수 있다. 앞서 설명한 구현에서, 다수의 단계 또는 방법은 저장 기기에 저장되고 또한 적절한 명령 실행 시스템에 의해 실행되는 소프트웨어 또는 펌웨어를 사용하여 구현될 수 있다. 예를 들어, 다른 구현과 같이, 하드웨어에 의해 구현되는 경우에, 다수의 단계 또는 방법은 당 업계의 다음 - 데이터 신호를 위한 논리 기능을 실현하기 위한 논리 게이트 회로를 갖는 개별 논리 회로, 적절하게 조합된 논리 게이트 회로를 갖는 주문형 집적 회로, 프로그램 가능 게이트 어레이(PGA), 필드 프로그램 가능 게이트 어레이(FPGA) 등 - 일반적인 기술 중 임의의 하나 또는 이들의 조합에 의해 구현될 수 있다. 게다가, 본 개시의 실시예에서의 기능 유닛은 하나의 처리 모듈 내로 통합될 수 있거나, 또는 각각의 유닛은 물리적으로 단독으로 존재할 수 있거나, 또는 둘 이상의 유닛이 하나의 모듈에 통합될 수 있다. 통합 모듈은 하드웨어 형태로 구현될 수 있거나, 또는 소프트웨어 기능 모듈 형태로 구현될 수 있다. 통합 모듈이 소프트웨어 기능 모듈의 형태로 구현되고 독립적인 제품으로서 판매되거나 사용되는 경우, 통합 모듈은 컴퓨터 판독 가능 저장 매체 내에 저장될 수 있다.
앞서 설명한 내용은 단지 본 개시의 바람직한 실시예를 개시할 뿐이고, 분명히 본 개시의 보호 범위를 제한하려 의도되지 않았다. 따라서, 본 개시의 청구 범위에 따라 이루어진 등가 변형은 본 개시의 범위 내로 되어야 한다.

Claims (15)

  1. 게임 렌더링 방법으로서,
    게임의 자원 파일을 획득하는 단계 - 상기 자원 파일은 상기 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵(texture map)을 포함하고, 상기 텍스처 맵 각각은 복수의 단편화된 텍스처(fragmented texture)를 병합함으로써 형성됨 -;
    상기 게임의 현재 구동 장면 내에서 렌더링될 메시(mesh)에 의해 사용되는 타깃 텍스처 맵을 결정하는 단계;
    상기 타깃 텍스처 맵에 대응하는 단편화된 텍스처에 대해 상기 자원 파일을 검색하는 단계; 및
    상기 타깃 텍스처 맵에 대응하는 상기 단편화된 텍스처를 병합 및 렌더링하는 단계
    를 포함하는 게임 렌더링 방법.
  2. 제1항에 있어서,
    상기 게임의 자원 파일을 획득하는 단계 이전에, 상기 게임 렌더링 방법은,
    상기 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하는 단계 - 상기 텍스처 맵은 각각 원본 텍스처 데이터(original texture data)를 포함함 -;
    상기 텍스처 맵 각각을 복수의 단편화된 텍스처로 단편화하는 단계 - 상기 단편화된 텍스처 각각은 하나의 단편화된 텍스처 데이터 및 상기 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터(marginal original texture data)를 포함함 -;
    상기 텍스처 맵에 대응하는 상기 단편화된 텍스처를 상기 자원 파일 내로 캡슐화하는 단계
    를 더 포함하는 게임 렌더링 방법.
  3. 제2항에 있어서,
    상기 텍스처 맵 각각을 복수의 단편화된 텍스처들로 단편화하는 단계는,
    상기 텍스처 맵 각각을 차례로 선택하고, 제1 사전 설정 규격(specification)에 따라 상기 선택된 텍스처 맵을 행(row)으로 복수의 직사각 프레임으로 절단하는 단계;
    제2 사전 설정 규격에 따라 상기 선택된 텍스처 맵에 포함된 원본 텍스처 데이터를 복수의 단편화된 텍스처 데이터로 단편화하고, 상기 단편화된 텍스처 데이터 각각의 주위에 사전 설정된 폭의 주변 원본 텍스처 데이터를 획득하는 단계; 및
    채워진 직사각 프레임 각각에 의해 상기 단편화된 텍스처 중 하나를 형성하기 위해, 상기 복수의 단편화된 텍스처 데이터 및 상기 복수의 단편화된 텍스처 데이터의 상기 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 단계
    를 포함하고, 여기서
    상기 제1 사전 설정 규격의 값은, 상기 제2 사전 설정 규격의 값과 두 배의 상기 사전 설정된 폭의 값의 합계보다 크거나 같은, 게임 렌더링 방법.
  4. 제3항에 있어서,
    채워진 직사각 프레임 각각에 의해 상기 단편화된 텍스처 중 하나를 형성하기 위해, 상기 복수의 단편화된 텍스처 데이터 및 상기 복수의 단편화된 텍스처 데이터의 상기 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 단계는,
    상기 직사각 프레임 각각의 상측 및 하측 각각에 상기 사전 설정된 폭의 마진(margin)을 예비로 보유하고, 상기 직사각 프레임이 중심 영역(central region) 및 상기 중심 영역을 둘러싸는 주변 영역(marginal region)을 가질 수 있도록, 상기 직사각 프레임의 좌측 및 우측 각각에 상기 사전 설정된 폭의 상기 마진을 부가하는 단계; 및
    상기 채워진 직사각 프레임 각각에 의해 상기 단편화된 텍스처 중 하나를 형성하기 위해, 상기 대응하는 직사각 프레임의 중심 영역을 각각 상기 복수의 단편화된 텍스처 데이터로 채우고, 상기 대응하는 직사각 프레임의 주변 영역을 각각 상기 복수의 단편화된 텍스처 데이터를 둘러싸는 상기 사전 설정된 폭의 상기 주변 원본 텍스처 데이터로 채우는 단계
    를 포함하는, 게임 렌더링 방법.
  5. 제2항에 있어서,
    상기 텍스처 맵 각각에 대해, 상기 텍스처 맵에 대응하는 상기 단편화된 텍스처를 상기 자원 파일로 캡슐화하는 단계는,
    상기 텍스처 맵 각각에 대해, 상기 텍스처 맵의 속성을 획득하는 단계 - 상기 속성은 ID, 해제 유형(release type), 및 오프셋 정보를 포함하고, 상기 해제 유형은 즉시 해제(immediate release), 또는 자동 해제(automatic release), 또는 메모리 내에 상주를 포함함 -;
    상기 텍스처 맵의 속성에 기반하여 요약 정보 테이블을 생성하는 단계; 및
    상기 요약 정보 테이블을 상기 자원 파일의 파일 헤더(file header)에 저장하고, 상기 텍스처 맵 각각에 대응하는 상기 단편화된 텍스처를 상기 자원 파일의 파일 본체(file body)에 저장하는 단계
    를 포함하는, 게임 렌더링 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 타깃 텍스처 맵에 대응하는 상기 단편화된 텍스처를 병합 및 렌더링하는 단계는,
    제1 사전 설정 규격에 따라 메모리 내의 사전 설정된 동적 로딩 영역을 행으로 복수의 동적 로딩 행으로 절단하는 단계;
    상기 동적 로딩 행 각각에 대해, 빈-패킹(bin-packing) 알고리즘을 사용하여 상기 동적 로딩 행의 유휴 영역을 할당하는 단계;
    상기 타깃 텍스처 맵에 대응하는 상기 단편화된 텍스처를 상기 동적 로딩 행의 유휴 영역에 차례로 로딩하는 단계; 및
    상기 동적 로딩 행로부터 상기 로딩된 단편화된 텍스처를 판독하고 렌더링될 게임의 렌더링 엔진에 상기 판독된 단편화된 텍스처를 제출하는 단계
    를 포함하는, 게임 렌더링 방법.
  7. 제5항에 있어서,
    상기 타깃 텍스처 맵에 대응하는 상기 단편화된 텍스처를 병합 및 렌더링하는 단계 이후에, 상기 게임 렌더링 방법은,
    상기 자원 파일의 상기 파일 헤더로부터 상기 타깃 텍스처 맵의 해제 유형을 획득하는 단계;
    상기 획득된 해제 유형에 따라 상기 타깃 텍스처 맵의 상기 단편화된 텍스처에 의해 점유된 상기 동적 로딩 행을 해제하는 단계; 및
    상기 재활용된 동적 로딩 행을 병합하는 단계
    를 더 포함하는 게임 렌더링 방법.
  8. 게임 자원 파일 생성 방법으로서,
    게임의 렌더링에 요구되는 하나 이상의 텍스처 맵(texture map)을 획득하는 단계 - 상기 텍스처 맵은 각각 원본 텍스처 데이터(original texture data)를 포함함 -;
    상기 텍스처 맵 각각을 복수의 단편화된 텍스처(fragmented texture)로 단편화하는 단계; 및
    상기 텍스처 맵에 대응하는 상기 단편화된 텍스처를 상기 게임의 상기 자원 파일 내로 캡슐화하는 단계
    를 포함하는 게임 자원 파일 생성 방법.
  9. 게임 렌더링 장치로서,
    게임의 자원 파일을 획득하도록 구성된 파일 획득부 - 상기 자원 파일은 상기 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵(texture map)을 포함하고, 상기 텍스처 맵 각각은 복수의 단편화된 텍스처(fragmented texture)를 병합함으로써 형성됨 -;
    상기 게임의 현재 구동 장면 내에서 렌더링될 메시(mesh)에 의해 사용되는 타깃 텍스처 맵을 결정하도록 구성된 타깃 결정부;
    상기 타깃 텍스처 맵에 대응하는 단편화된 텍스처에 대해 상기 자원 파일을 검색하도록 구성된 검색부; 및
    상기 타깃 텍스처 맵에 대응하는 상기 단편화된 텍스처를 병합 및 렌더링하도록 구성된, 병합 및 렌더링부
    를 포함하는 게임 렌더링 장치.
  10. 제9항에 있어서,
    상기 게임의 렌더링에 요구되는 하나 이상의 텍스처 맵을 획득하고 - 상기 텍스처 맵은 각각 원본 텍스처 데이터(original texture data)를 포함함 -; 상기 텍스처 맵 각각을 복수의 단편화된 텍스처로 단편화하고 - 상기 단편화된 텍스처 각각은 하나의 단편화된 텍스처 데이터 및 상기 단편화된 텍스처 데이터를 둘러싸는 사전 설정된 폭의 주변 원본 텍스처 데이터(marginal original texture data)를 포함함 -; 상기 텍스처 맵에 대응하는 상기 복수의 단편화된 텍스처를 상기 자원 파일 내로 캡슐화하도록 구성된 자원 패킹 처리부; 및
    상기 자원 파일의 파일 헤더로부터 상기 타깃 텍스처 맵의 해제 유형을 획득하고; 상기 획득된 해제 유형에 따라 상기 타깃 텍스처 맵의 상기 단편화된 텍스처에 의해 점유된 동적 로딩 행을 해제하고; 상기 재활용된 동적 로딩 행을 병합하도록 구성된 재활용 처리부
    를 더 포함하는 게임 렌더링 장치.
  11. 제10항에 있어서,
    상기 자원 패킹 처리부는, 상기 텍스처 맵 각각을 차례로 선택하고, 제1 사전 설정 규격에 따라 상기 선택된 텍스처 맵을 행으로 복수의 직사각 프레임으로 절단하고; 제2 사전 설정 규격에 따라 상기 선택된 텍스처 맵 내에 포함된 원본 텍스처 데이터(original texture data)를 복수의 단편화된 텍스처 데이터로 단편화하고, 상기 단편화된 텍스처 데이터 각각의 주위의 사전 설정된 폭의 주변 원본 텍스처 데이터(marginal original texture data)를 획득하고; 채워진 직사각 프레임 각각에 의해 상기 단편화된 텍스처 중 하나를 형성하기 위해, 상기 복수의 단편화된 텍스처 데이터 및 상기 복수의 단편화된 텍스처 데이터의 상기 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우도록 구성되고, 여기서 상기 제1 사전 설정 규격의 값은 상기 제2 사전 설정 규격의 값과 두 배의 상기 사전 설정된 폭의 값의 합계보다 크거나 같고;
    채워진 직사각 프레임 각각에 의해 상기 단편화된 텍스처 중 하나를 형성하기 위해, 상기 복수의 단편화된 텍스처 데이터 및 상기 복수의 단편화된 텍스처 데이터의 상기 사전 설정된 폭의 주변 원본 텍스처 데이터로 대응하는 직사각 프레임을 채우는 것은, 상기 직사각 프레임의 각각의 상측 및 하측에 상기 사전 설정된 폭의 마진(margin)을 예비로 보유하고, 상기 직사각 프레임이 중심 영역(central region) 및 상기 중심 영역을 둘러싸는 주변 영역(marginal region)을 가질 수 있도록, 상기 직사각 프레임의 좌측 및 우측 각각에 상기 사전 설정된 폭의 상기 마진을 부가하는 것; 및 상기 채워진 직사각 프레임 각각에 의해 상기 단편화된 텍스처 중 하나를 형성하기 위해, 상기 대응하는 직사각 프레임의 중심 영역을 각각 상기 복수의 단편화된 텍스처 데이터로 채우고, 상기 대응하는 직사각 프레임의 주변 영역을 각각 상기 복수의 단편화된 텍스처 데이터를 둘러싸는 상기 사전 설정된 폭의 상기 주변 원본 텍스처 데이터로 채우는 것을 포함하고;
    상기 자원 패킹 처리부는, 상기 텍스처 맵 각각에 대해, 상기 텍스처 맵의 속성을 획득하고 - 상기 속성은 ID, 해제 유형(release type), 및 오프셋 정보를 포함하고, 상기 해제 유형은 즉시 해제(immediate release), 또는 자동 해제(automatic release), 또는 메모리 내에 상주를 포함함 -; 상기 텍스처 맵의 속성에 기반하여 요약 정보 테이블을 생성하고; 상기 요약 정보 테이블을 상기 자원 파일의 파일 헤더(file header)에 저장하고, 상기 텍스처 맵 각각에 대응하는 상기 단편화된 텍스처를 상기 자원 파일의 파일 본체(file body)에 저장하도록 구성된, 게임 렌더링 장치.
  12. 제10항 또는 제11항에 있어서,
    상기 병합 및 렌더링부는, 제1 사전 설정 규격에 따라 메모리 내의 사전 설정된 동적 로딩 영역을 행으로 복수의 동적 로딩 행으로 절단하고; 상기 동적 로딩 행 각각에 대해, 빈-패킹(bin-packing) 알고리즘을 사용하여 상기 동적 로딩 행의 유휴 영역을 할당하고; 상기 타깃 텍스처 맵에 대응하는 상기 단편화된 텍스처를 상기 동적 로딩 행의 유휴 영역에 차례로 로딩하고; 상기 동적 로딩 행으로부터 상기 로딩된 단편화된 텍스처를 판독하고 렌더링될 게임의 렌더링 엔진에 상기 판독된 단편화된 텍스처를 제출하도록 구성된, 게임 렌더링 장치.
  13. 게임 자원 파일 생성 장치으로서,
    게임의 렌더링에 요구되는 하나 이상의 텍스처 맵(texture map)을 획득하도록 구성된 맵 획득부 - 상기 텍스처 맵은 각각 원본 텍스처 데이터를 포함함 -;
    상기 텍스처 맵 각각을 복수의 단편화된 텍스처(fragmented texture)로 단편화하도록 구성된 단편화부; 및
    상기 텍스처 맵에 대응하는 상기 단편화된 텍스처를 상기 게임의 상기 자원 파일 내로 캡슐화하도록 구성된 파일 캡슐화부
    를 포함하는 게임 자원 파일 생성 장치.
  14. 저장 기기로서,
    하나 이상의 명령을 저장하고, 상기 하나 이상의 명령은 제1항 내지 제7항 중 어느 한 항에 따른 상기 게임 렌더링 방법 또는 제8항에 따른 상기 게임 자원 파일 생성 방법을 구현하기 위해 프로세서에 의해 로딩되는, 저장 기기.
  15. 단말로서,
    하나 이상의 명령을 실행하도록 구성된 프로세서; 및
    상기 하나 이상의 명령을 저장하는 저장 기기를 포함하고, 여기서 상기 하나 이상의 명령은, 제1항 내지 제7항 중 어느 한 항에 따른 상기 게임 렌더링 방법 또는 제8항에 따른 상기 게임 자원 파일 생성 방법을 구현하기 위해 상기 프로세서에 의해 로딩되는, 단말.
KR1020207004663A 2017-07-21 2018-07-17 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기 KR102419745B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710600237.7A CN107463398B (zh) 2017-07-21 2017-07-21 游戏渲染方法、装置、存储设备及终端
CN201710600237.7 2017-07-21
PCT/CN2018/096002 WO2019015591A1 (zh) 2017-07-21 2018-07-17 游戏渲染方法、游戏资源文件的生成方法、装置及设备

Publications (2)

Publication Number Publication Date
KR20200027004A true KR20200027004A (ko) 2020-03-11
KR102419745B1 KR102419745B1 (ko) 2022-07-11

Family

ID=60543929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207004663A KR102419745B1 (ko) 2017-07-21 2018-07-17 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기

Country Status (7)

Country Link
US (1) US11344806B2 (ko)
EP (1) EP3657327B1 (ko)
JP (1) JP6901623B2 (ko)
KR (1) KR102419745B1 (ko)
CN (1) CN107463398B (ko)
MA (1) MA49644A (ko)
WO (1) WO2019015591A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173546B1 (ko) 2020-04-28 2020-11-03 주식회사 라이언게임즈 게임 객체 렌더링 방법 및 장치

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107463398B (zh) 2017-07-21 2018-08-17 腾讯科技(深圳)有限公司 游戏渲染方法、装置、存储设备及终端
CN108492342B (zh) * 2018-03-22 2022-05-03 网易(杭州)网络有限公司 合并碎图的方法、装置、处理器、存储介质和终端
CN108537861B (zh) * 2018-04-09 2023-04-18 网易(杭州)网络有限公司 贴图生成方法、装置、设备和存储介质
CN108733441B (zh) * 2018-04-11 2024-06-18 中国电力科学研究院有限公司 一种适用于大规模电网符号设备的渲染可视化方法及系统
CN108961382B (zh) * 2018-07-11 2019-11-26 腾讯科技(深圳)有限公司 一种图像渲染方法、装置和存储介质
CN109448094B (zh) * 2018-09-21 2022-07-15 苏州蜗牛数字科技股份有限公司 一种纹理图集调度方法
CN109523588B (zh) * 2018-10-17 2021-07-06 佛山欧神诺云商科技有限公司 一种自定义拼花方法及系统
CN109710227B (zh) * 2018-11-07 2022-05-24 苏州蜗牛数字科技股份有限公司 一种纹理图集调度的方法
CN109603155B (zh) 2018-11-29 2019-12-27 网易(杭州)网络有限公司 合并贴图的获取方法、装置、存储介质、处理器及终端
CN110665232A (zh) * 2019-08-30 2020-01-10 网易(杭州)网络有限公司 游戏中地表的渲染方法、装置、设备和存储介质
CN110930499B (zh) * 2019-10-12 2023-10-13 深圳国匠云职业教育科技有限公司 一种3d数据处理方法及装置
US11430141B2 (en) * 2019-11-04 2022-08-30 Facebook Technologies, Llc Artificial reality system using a multisurface display protocol to communicate surface data
US11145107B2 (en) 2019-11-04 2021-10-12 Facebook Technologies, Llc Artificial reality system using superframes to communicate surface data
CN110874856A (zh) * 2019-11-12 2020-03-10 广州银汉科技有限公司 一种基于gpu特性的实时渲染gui的优化方法
CN111028361B (zh) * 2019-11-18 2023-05-02 杭州群核信息技术有限公司 三维模型及材质合并方法、装置、终端、存储介质以及渲染方法
CN111127599B (zh) * 2019-12-13 2024-02-23 北京像素软件科技股份有限公司 一种游戏特效的绘制方法和装置
CN111127576B (zh) * 2019-12-18 2023-11-17 北京像素软件科技股份有限公司 游戏画面的渲染方法、装置及电子设备
CN111127619A (zh) * 2019-12-20 2020-05-08 珠海金山网络游戏科技有限公司 基于Unity手游场景贴图的优化方法、装置及可读介质
CN111124582B (zh) * 2019-12-26 2023-04-07 珠海金山数字网络科技有限公司 一种图标调用的方法及装置
CN111383311B (zh) * 2020-03-06 2024-03-01 网易(杭州)网络有限公司 法线贴图生成方法、装置、设备及存储介质
CN111445562B (zh) * 2020-03-12 2023-03-03 稿定(厦门)科技有限公司 文字动画生成方法及装置
CN111581910B (zh) * 2020-03-27 2023-06-13 完美世界(北京)软件科技发展有限公司 一种渲染引擎中的数据缓存方法和装置
CN111476858B (zh) * 2020-04-10 2023-03-14 浙江无端科技股份有限公司 一种基于WebGL的2d引擎渲染方法、装置及设备
CN111558224B (zh) * 2020-04-26 2023-10-24 完美世界(北京)软件科技发展有限公司 一种移动端游戏资源打包方法、解包方法、装置及系统
CN111672109B (zh) * 2020-06-10 2021-12-03 腾讯科技(深圳)有限公司 一种游戏地图生成的方法、游戏测试的方法以及相关装置
CN112419141A (zh) * 2020-07-29 2021-02-26 上海幻电信息科技有限公司 图片处理方法、装置、计算机设备
CN111773704B (zh) * 2020-07-31 2024-02-23 网易(杭州)网络有限公司 游戏数据处理方法、装置、存储介质、处理器及电子装置
CN111773679B (zh) * 2020-08-18 2024-02-27 网易(杭州)网络有限公司 游戏中图标的处理方法及装置
CN112132936B (zh) * 2020-09-22 2024-03-29 上海米哈游天命科技有限公司 画面渲染方法、装置、计算机设备及存储介质
CN112348934A (zh) * 2020-10-20 2021-02-09 珠海金山网络游戏科技有限公司 基于大链表的游戏贴图展示方法、装置及介质
CN113144618B (zh) * 2021-03-29 2022-11-22 腾讯科技(深圳)有限公司 处理图形界面资源的方法、装置、电子设备和存储介质
CN113262480B (zh) * 2021-05-13 2024-06-21 网易(杭州)网络有限公司 三维场景的烘焙方法和装置
CN113384896B (zh) * 2021-06-25 2024-07-12 苏州沁游网络科技有限公司 基于Unity的资源打包方法、装置、设备及介质
CN113487717B (zh) * 2021-07-13 2024-02-23 网易(杭州)网络有限公司 图片处理方法及装置、计算机可读存储介质、电子设备
CN113546411B (zh) * 2021-07-22 2024-06-11 网易(杭州)网络有限公司 游戏模型的渲染方法、装置、终端和存储介质
CN113610907B (zh) * 2021-08-04 2024-04-12 上海仙仙兔网络科技有限公司 一种基于pbr物理渲染的游戏贴图纹理解析系统
CN113709554A (zh) * 2021-08-26 2021-11-26 上海哔哩哔哩科技有限公司 动画视频生成、直播间动画视频播放方法及装置
CN114143603A (zh) * 2021-12-13 2022-03-04 乐府互娱(上海)网络科技有限公司 一种客户端游戏中高兼容性的mp4播放方式

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485241B1 (ko) * 1998-08-20 2005-04-27 애플 컴퓨터, 인크. 개선된 지연 쉐이딩 그래픽 파이프라인 프로세서
KR20070055420A (ko) * 2004-06-08 2007-05-30 쓰리-비 인터내셔날 리미티드 그래픽 텍스쳐들의 디스플레이
JP2009176167A (ja) * 2008-01-25 2009-08-06 Sammy Corp 画像圧縮装置、画像再生装置、および画像圧縮プログラム
US20140267346A1 (en) * 2013-03-15 2014-09-18 Robert Bosch Gmbh System and Method for Display of a Repeating Texture Stored in a Texture Atlas
US20160048980A1 (en) * 2014-08-15 2016-02-18 Qualcomm Incorporated Bandwidth reduction using texture lookup by adaptive shading
KR20160120128A (ko) * 2015-04-07 2016-10-17 삼성전자주식회사 디스플레이장치 및 그 제어방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587104B1 (en) * 1999-09-30 2003-07-01 Microsoft Corporation Progressive hulls
US7243136B2 (en) * 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
JP4244572B2 (ja) * 2002-07-04 2009-03-25 ソニー株式会社 キャッシュ装置、およびキャッシュデータ管理方法、並びにコンピュータ・プログラム
AU2003245713A1 (en) * 2002-07-10 2004-01-23 Harman Becker Automotive Systems Gmbh System for texturizing electronic representations of objects
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
CN101364310B (zh) * 2007-08-07 2012-10-31 北京灵图软件技术有限公司 一种三维模型图形的生成方法和装置
CN101840566A (zh) * 2010-04-16 2010-09-22 中山大学 一种基于gpu并行计算的实时阴影生成方法及系统
WO2013111195A1 (ja) * 2012-01-27 2013-08-01 三菱電機株式会社 描画データ生成装置及び画像描画装置
US9626789B2 (en) * 2013-05-07 2017-04-18 Advanced Micro Devices, Inc. Implicit texture map parameterization for GPU rendering
WO2015147815A1 (en) * 2014-03-26 2015-10-01 Empire Technology Development Llc Atlas generation based on client video configuration
JP2016058832A (ja) * 2014-09-08 2016-04-21 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
EP3018630A3 (en) * 2014-09-15 2018-05-16 Samsung Electronics Co., Ltd. Display method and apparatus for rendering repeated geometric shapes
CN107430783A (zh) * 2015-03-25 2017-12-01 三菱电机株式会社 纹理映射装置、纹理映射方法和程序
CN105931180B (zh) * 2016-04-12 2019-02-22 西安电子科技大学 利用显著信息引导的图像不规则马赛克拼接方法
CN105957133B (zh) * 2016-05-10 2018-06-05 网易(杭州)网络有限公司 一种加载贴图的方法和装置
CN107463398B (zh) * 2017-07-21 2018-08-17 腾讯科技(深圳)有限公司 游戏渲染方法、装置、存储设备及终端
AU2018203327A1 (en) * 2018-05-11 2019-11-28 Canon Kabushiki Kaisha System and method for processing a graphic object

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485241B1 (ko) * 1998-08-20 2005-04-27 애플 컴퓨터, 인크. 개선된 지연 쉐이딩 그래픽 파이프라인 프로세서
KR20070055420A (ko) * 2004-06-08 2007-05-30 쓰리-비 인터내셔날 리미티드 그래픽 텍스쳐들의 디스플레이
JP2009176167A (ja) * 2008-01-25 2009-08-06 Sammy Corp 画像圧縮装置、画像再生装置、および画像圧縮プログラム
US20140267346A1 (en) * 2013-03-15 2014-09-18 Robert Bosch Gmbh System and Method for Display of a Repeating Texture Stored in a Texture Atlas
US20160048980A1 (en) * 2014-08-15 2016-02-18 Qualcomm Incorporated Bandwidth reduction using texture lookup by adaptive shading
KR20160120128A (ko) * 2015-04-07 2016-10-17 삼성전자주식회사 디스플레이장치 및 그 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173546B1 (ko) 2020-04-28 2020-11-03 주식회사 라이언게임즈 게임 객체 렌더링 방법 및 장치

Also Published As

Publication number Publication date
JP2020526851A (ja) 2020-08-31
EP3657327A1 (en) 2020-05-27
EP3657327A4 (en) 2021-04-28
EP3657327B1 (en) 2023-01-04
JP6901623B2 (ja) 2021-07-14
KR102419745B1 (ko) 2022-07-11
WO2019015591A1 (zh) 2019-01-24
CN107463398A (zh) 2017-12-12
US20200147491A1 (en) 2020-05-14
CN107463398B (zh) 2018-08-17
MA49644A (fr) 2020-05-27
US11344806B2 (en) 2022-05-31

Similar Documents

Publication Publication Date Title
KR102419745B1 (ko) 게임 렌더링 방법, 및 게임 자원 파일 생성 방법, 장치, 및 기기
US9715750B2 (en) System and method for layering using tile-based renderers
WO2020156264A1 (zh) 渲染方法及装置
KR102307163B1 (ko) 크로스 플랫폼 렌더링 엔진
KR102096497B1 (ko) 지도 인터페이스들의 지연시간 단축
US11113874B2 (en) Displaying rich text on 3D models
CN109949391B (zh) 图文绘制方法、装置、电子设备和存储介质
US11854143B2 (en) Light probe generation method and apparatus, storage medium, and computer device
US20150110419A1 (en) Method and device for image processing
EP4257217A1 (en) Image processing method, electronic device, and storage medium
CN111209422A (zh) 图像显示方法、装置、电子设备及存储介质
KR102292789B1 (ko) 디스플레이장치 및 그 제어방법
CN110533742B (zh) 一种图像填色方法、装置、设备及存储介质
KR101460684B1 (ko) 프리 로딩 기반 영상 처리 장치 및 방법, 비동기 로딩 기반 영상 처리 장치 및 방법
CN110647377A (zh) 人机交互界面的图片处理系统、设备及介质
US20230342018A1 (en) Dynamic element control method, electronic device, and computer readable storage medium
CN117573910A (zh) 一种图片显示方法、装置、设备以及存储介质
CN117899472A (zh) 对象渲染方法、装置、介质及设备
CN117456140A (zh) 一种模型处理的方法、装置、电子设备及存储介质
CN117131296A (zh) 内容呈现方法、装置、设备及存储介质
CN117292034A (zh) 虚拟场景的渲染方法、装置、设备及存储介质
CN116934570A (zh) 一种应用程序页面的图像处理方法、装置及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant