KR20220044587A - 이미지 렌더링 방법 및 관련 기기 - Google Patents

이미지 렌더링 방법 및 관련 기기 Download PDF

Info

Publication number
KR20220044587A
KR20220044587A KR1020227008166A KR20227008166A KR20220044587A KR 20220044587 A KR20220044587 A KR 20220044587A KR 1020227008166 A KR1020227008166 A KR 1020227008166A KR 20227008166 A KR20227008166 A KR 20227008166A KR 20220044587 A KR20220044587 A KR 20220044587A
Authority
KR
South Korea
Prior art keywords
shadow
texel
map
range
rendering
Prior art date
Application number
KR1020227008166A
Other languages
English (en)
Other versions
KR102592633B1 (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 KR20220044587A publication Critical patent/KR20220044587A/ko
Application granted granted Critical
Publication of KR102592633B1 publication Critical patent/KR102592633B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • 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
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Generation (AREA)

Abstract

이미지 렌더링 방법 및 관련 기기에 있어서, 상기 이미지 렌더링 방법은 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하는 단계(301); 다음으로, 상기 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점을 결정하는 단계(302); 상기 중심점에 기초하여, 스케일링 계수에 따라 상기 제1 텍셀 범위에 대해 스케일링 처리를 수행하여 제2 텍셀 범위를 획득하는 단계(303); 그런 다음 상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계(304)를 포함하여, 그림자 맵에 기초한 이미지 렌더링 프로세스가 구현되도록 한다. 맵 위치 결정에 저 해상도 맵을 사용하면 계산 복잡도가 낮아져, 이미지 렌더링 효율이 향상되고, 렌더링에 고 해상도 그림자 맵를 사용하면 들쭉날쭉한 에지의 생성을 방지하여, 이미지 렌더링 효과를 향상시킨다.

Description

이미지 렌더링 방법 및 관련 기기
관련 출원
본 출원은 2020년 2월 6일자로 중국 국가 지적 재산권 관리국에 제출된 "IMAGE RENDERING METHOD AND RELATED APPARATUS"라는 명칭의 중국 특허출원 제202010081668.9호에 대한 우선권을 주장하며, 그 내용 전체는 인용에 의해 본 출원에 포함된다.
본 개시는 컴퓨터 기술 분야에 관한 것으로, 특히 이미지 렌더링 방법 및 관련 장치에 관한 것이다.
3차원 가상 환경을 구축하는 많은 애플리케이션에서, 가상 객체의 그림자 표시(shadow display)는 3차원 가상 환경의 표시 효과를 향상시키는 중요한 수단이다.
일반적으로, 게임 렌더링에서는 실시간으로 객체의 그림자를 계산하기 위해 그림자 맵(shadow map) 기술이 사용된다. 먼저 광원의 관점에서 장면에 대해 그림자 맵 렌더링을 수행하여 광원까지의 객체의 거리 정보를 저장한 다음, 장면 내의 각각의 픽셀에 대해 시점(point of sight)에서 정상 렌더링(normal rendering)을 수행하여 광원의 위치를 계산한다. 또한, 거리 정보를 그림자 맵에 저장된 거리와 비교하여, 객체가 그림자 안에 있는지를 판정하고, 그림자의 상황에 따라 객체의 그림자를 추가로 계산한다.
하지만, 그림자 맵은 광원의 시점에 기초하여 렌더링되어야 하고, 그림자 계산을 수행하기 위해서는 정상 렌더링 시에 그림자 맵에 대해 샘플링이 수행되어야 한다. 장면 복잡도가 비교적 높은 경우, 즉, 객체와 광원이 많은 경우, 장면 전체의 그림자 계산이 광원에 대해 하나씩 수행되면, 계산량이 엄청나고, 그림자 렌더링 효율에 영향을 미치고, 부분 샘플링을 통해 그림자 계산을 수행하면, 에지 앨리어싱(edge aliasing) 현상이 쉽게 발생하고, 그림자 렌더링 효과에 영향을 미친다.
이러한 관점에서, 본 개시는 복잡한 장면에서 엄청안 양의 그림자 렌더링을 계산하는 문제를 효과적으로 해결함으로써, 이미지 렌더링 프로세스의 효율 및 렌더링 효과를 향상시킬 수 있는 이미지 렌더링 방법을 제공한다.
본 개시의 제1 측면은 단말 기기에 이미지 렌더링 기능을 포함하는 시스템 또는 프로그램에 적용 가능한 이미지 렌더링 방법을 제공할 수 있으며, 상기 이미지 렌더링 방법은 구체적으로, 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하는 단계 - 상기 제1 그림자 맵의 해상도는 상기 제2 그림자 맵의 해상도보다 낮음 -;
상기 제1 그림자 맵에서 각각의 텍셀(texel)의 제1 텍셀 범위 및 중심점을 결정하는 단계 - 상기 제1 텍셀 범위는 그림자 에지의 천이 거리(transition distance)에 기초하여 설정되고, 상기 천이 거리는 상기 제1 그림자 맵에서 상기 타깃 가상 객체의 그림자 에지를 지시하는 데 사용됨 -;
상기 중심점에 기초하여, 스케일링 계수(scaling coefficient)를 사용하여 상기 제1 텍셀 범위에 대해 스케일링 처리를 수행하여, 제2 텍셀 범위를 획득하는 단계 - 상기 스케일링 계수는 상기 제1 그림자 맵의 해상도와 상기 제2 그림자 맵의 해상도의 비율에 기초하여 획득됨 -; 및
상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계를 포함한다.
본 개시의 제2 측면은 이미지 렌더링 장치를 제공할 수 있으며, 상기 이미지 랜더링 장치는, 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하도록 구성된 획득 유닛 - 상기 제1 그림자 맵의 해상도는 상기 제2 그림자 맵의 해상도보다 낮음 -;
상기 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점을 결정하도록 구성된 결정 유닛 - 상기 제1 텍셀 범위는 그림자 에지의 천이 거리에 기초하여 설정되고, 상기 천이 거리는 상기 제1 그림자 맵에서 상기 타깃 가상 객체의 그림자 에지를 지시하는 데 사용됨 -;
상기 중심점에 기초하여, 스케일링 계수를 사용하여 상기 제1 텍셀 범위에 대해 스케일링 처리를 수행하여, 제2 텍셀 범위를 획득하도록 구성된 스케일링 유닛 - 상기 스케일링 계수는 상기 제1 그림자 맵의 해상도와 상기 제2 그림자 맵의 해상도의 비율에 기초하여 획득됨 -; 및
상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하도록 구성된 랜더링 유닛을 포함한다.
본 개시의 제3 측면에 따르면 이미지 렌더링 방법을 제공할 수 있으며, 상기 이미지 렌더링 방법은,
맵 패킷(map packet)을 획득하는 단계 - 상기 맵 패킷은 타깃 가상 객체의 그림자 렌더링을 지시하는 데 사용되며, 상기 맵 패킷은 둘 이상의 해상도하의 그림자 맵을 포함함 -;
중앙 처리 유닛(central processing unit, CPU)에서 상기 맵 패킷에 대해 전처리를 수행하는 단계; 및
전처리된 맵 패킷을 그래픽 처리 유닛(graphics processing unit, GPU)에 입력하여, 제1 측면 또는 제1 측면의 임의의 예시적인 실시예에 따른 이미지 렌더링 방법을 수행하는 단계를 포함한다.
본 개시의 제4 측면에 따르면, 이미지 렌더링 장치를 제공할 수 있으며, 상기 이미지 랜더링 장치는, 중앙 처리 유닛(CPU)에서 맵 패킷을 획득하도록 구성된 획득 유닛 - 상기 맵 패킷은 타깃 가상 객체의 그림자 렌더링을 지시하는 데 사용됨 -;
중앙 처리 유닛(CPU)에서 상기 맵 패킷에 대해 전처리를 수행하도록 구성된 처리 유닛; 및
전처리된 맵 패킷을 그래픽 처리 유닛(GPU)에 입력하여, 제1 측면 또는 제1 측면의 임의의 예시적인 실시예에 따른 이미지 렌더링 방법을 수행하도록 구성된 랜더링 유닛을 포함한다.
본 개시의 제5 측면은 메모리, 프로세서 및 버스 시스템을 포함하는 컴퓨터 기기를 제공할 수 있으며, 상기 메모리는 프로그램 코드를 저장하도록 구성되고; 상기 프로세서는 상기 프로그램 코드에서의 명령어에 따라, 제1 측면 또는 제1 측면의 임의의 예시적인 실시예에 따른 이미지 랜더링 방법, 또는 제3 측면 또는 제3 측면의 임의의 예시적인 실시예에 따른 이미지 렌더링 방법을 수행하도록 구성된다.
본 개시의 제6 측면은 명령어를 저장하는, 컴퓨터로 판독 가능한 저장 매체를 제공할 수 있으며, 상기 명령어는 컴퓨터에서 실행될 때, 상기 컴퓨터로 하여금, 제1 측면 또는 제1 측면의 임의의 예시적인 실시예에 따른 이미지 랜더링 방법, 또는 제3 측면 또는 제3 측면의 임의의 예시적인 실시예에 따른 이미지 렌더링 방법을 수행하게 한다.
본 개시의 제7 측면은 명령어를 포함하는 컴퓨터 프로그램 제품을 제공할 수 있으며, 상기 명령어는 컴퓨터에서 실행될 때, 상기 컴퓨터로 하여금 전술한 제1 측면에 따른 이미지 랜더링 방법을 수행하게 한다.
전술한 기술적 방안으로부터 알 수 있는 바와 같이, 본 개시의 실시예는 다음과 같은 이점을 갖는다:
타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵이 획득되며, 여기서 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮고; 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점이 결정되고; 중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리가 수행되어, 제2 텍셀 범위를 획득하며, 상기 제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링이 추가로 수행된다. 이와 같이, 그림자 맵 기반의 이미지 렌더링 프로세스가 구현되고, 저 해상도 맵에 따른 맵 위치를 결정하는 계산량이 비교적 적기 때문에 이미지 렌더링 효율이 향상된다. 그런 다음 위치를 기반으로 고 해상도 그림자 맵을 렌더링하여 그림자의 선명도(definition)를 보장하고, 에지 앨리어싱 생성을 방지하며, 이미지 렌더링 효과를 향상시킨다.
도 1은 이미지 렌더링 시스템이 실행되는 네트워크 아키텍처 도면이다.
도 2는 본 개시의 일 실시예에 따른 이미지 렌더링의 아키텍처 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 이미지 렌더링 방법의 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 이미지 렌더링 방법의 개략적인 장면도이다.
도 5는 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다.
도 6은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다.
도 7은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다.
도 11은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이다.
도 12는 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다.
도 13은 본 개시의 일 실시예에 따른 이미지 렌더링 장치의 개략적인 구성도이다.
도 14는 본 개시의 일 실시예에 따른 다른 이미지 렌더링 장치의 개략적인 구성도이다.
도 15는 본 개시의 일 실시예에 따른 단말 기기의 개략적인 구성도이다.
도 16은 본 개시의 일 실시예에 따른 서버의 개략적인 구성도이다.
본 개시의 실시예는 단말 기기에 이미지 렌더링 기능을 포함하는 시스템 또는 프로그램에 적용될 수 있는 이미지 렌더링 방법 및 관련 장치를 제공한다. 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵이 획득되고, 여기서 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮으며; 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점이 경정되고; 제2 텍셀 범위를 획득하기 위해, 중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리가 수행되고; 제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링이 추가로 수행된다. 이와 같이, 그림자 맵 기반의 이미지 렌더링 프로세스가 구현되고, 저 해상도 맵에 따른 맵 위치를 결정하는 계산량이 비교적 적기 때문에, 이미지 렌더링 효율이 향상된다. 그런 다음 위치에 기초하여 고 해상도 그림자 맵이 렌더링되어, 그림자의 선명도를 보장하고, 에지 앨리어싱의 생성을 방지하며, 이미지 렌더링 효과를 향상시킨다.
먼저, 본 개시의 실시예에서 나타날 수 있는 몇 가지 용어를 소개한다.
거리 필드(distance field, DF): 이미지에 대해 거리 변환을 수행하여 획득된 결과. 거리 변환은 타깃(예: 에지) 상의 가장 가까운 점에 대한 이미지 내의 지점의 거리, 및 계산을 통해 얻은 가장 가까운 거리를 사용하여 픽셀 점의 그레이스케일(grayscale)을 계산하는 데 사용된다.
그림자 맵(shadow map): 광원의 관점에서 장면 전체를 렌더링하여 실시간으로 그림자를 생성하는 기술.
그림자 베이킹(shadow baking): 계산량이 엄청난 가상 조명 조작(virtual illumination operation)을 위한 텍스처(texture)를 생성하는 데 사용되며, 그림자 매핑이라고도 한다.
가상 객체: 3차원 가상 환경에 있는 객체. 가상 객체는 가상 건물, 가상 식물, 가상 지형, 가상 캐릭터, 가상 가구, 가상 차량, 가상 동물/반려 동물 중 적어도 하나일 수 있다.
부호 있는 거리 필드(signed distance field, SDF): 거리 공간(metric space)에는 세트 A가 있으며, 고정 점 X에서 세트 A의 에지까지의 최단 거리를 정의하는 데 SDF 함수가 사용된다. x가 세트 A의 내측에 위치하면, 함수 값은 0보다 크고, x가 에지에 접근함에 따라 함수 값도 0에 접근하며; x가 집합 A의 외측에 위치하면, 함수 값은 0보다 작다. SDF 함수는, x가 내측에 위치할 때 함수 값이 0보다 작고 x가 외측에 위치할 때 함수 값이 0보다 큰 경우를 사용하여 최단 거리를 정의할 수도 있다.
텍셀(texel): 텍스처 맵의 기본 구성 단위인 텍스처 픽셀. 픽처는 픽셀의 그룹으로 구성되므로, 텍스처 공간에서, 텍스처 맵도 텍셀의 그룹으로 형성된다.
반영(半影, penumbra): 불투명한 객체가 광원을 차단할 때, 광원이 비교적 큰 발광 객체이면, 생성된 그림자는 두 부분: 본영(本影, umbra)이라고 하는 완전히 어두운 부분, 및 반영이라고 하는 반은 밝고 반은 어두운 부분을 포함한다.
광선 추적(ray tracing): 광선 추적은 컴퓨터 그래픽 과학에서 가상 장면을 렌더링하는 데 사용되는 기술이다. 렌더링 시에, 객체와 장면의 교차점을 계산하고 세이딩(shading) 및 렌더링을 수행하기 위해 이미지의 각 픽셀로부터 가상의 장면으로 광원이 투사된다. 광선 추적은 높은 현실감으로 장면 효과를 렌더링할 수 있지만, 상대적으로 높은 계산 오버헤드를 필요로 한다.
본 개시에서 제공되는 이미지 렌더링 방법은, 3차원 장면을 포함하는 게임과 같은, 단말 기기에 이미지 렌더링 기능을 포함하는 시스템 또는 프로그램에 적용될 수 있다는 것을 이해해야 한다. 구체적으로, 이미지 렌더링 시스템은 도 1에 도시된 네트워크 아키텍처상에서 실행될 수 있다. 도 1은 이미지 렌더링 시스템이 실행되는 네트워크 아키텍처의 도면이다. 도면에서 알 수 있는 바와 같이, 이미지 렌더링 시스템은 복수의 정보 소스를 사용하여 이미지 렌더링을 제공할 수 있고, 단말기는 네트워크를 통해 서버와 연결을 설정하여, 서버에 의해 송신되는 복수의 렌더링 데이터를 더 수신하고, 그런 다음 단말기에서 가상 장면에서의 가상 객체의 그림자가 렌더링된다. 도 1은 복수의 유형의 단말 기기를 도시한다는 것을 이해할 수 있다. 실제 장면에서는 이미지 렌더링 프로세스에 더 많거나 더 적은 유형의 단말 기기가 참여할 수 있으며, 구체적인 개수 및 유형은 실제 장면에 따라 결정되며, 여기서는 이를 한정하지 않는다. 또한, 도 1은 서버를 도시하고 있지만, 실제 장면에서, 특히 복수의 가상 객체가 서로 상호 작용하는 장면에서, 더 많은 서버가 프로세스에 참여할 수 있으며, 서버의 구체적 개수는 실제 장면에 따라 결정된다.
이 실시예에서 제공되는 이미지 렌더링 방법은 오프라인, 즉, 서버의 참여 없이도 수행될 수 있다. 이 경우, 단말기는 로컬에서 다른 단말기와 연결되어 단말기들 사이의 이미지 렌더링 프로세스를 수행한다.
전술한 이미지 렌더링 시스템은 로컬 게임 장면 최적화 소프트웨어와 같은 개인 이동 단말기에서 실행될 수 있거나, 서버에서 실행될 수 있거나, 이미지 렌더링 처리 결과를 제공하기 위해 제3자 기기에서 실행될 수 있음을 이해할 수 있을 것이다. 구체적으로, 이미지 렌더링 시스템은 전술한 기기에서 프로그램 형태로 실행될 수 있거나, 전술한 기기에서 시스템 구성요소로서 실행될 수 있거나, 일종의 클라우드 서비스 프로그램으로서 서비스될 수 있 수 있으며, 특정 실행 모드는 실제 장면에 따라 결정되며, 여기서는 이를 한정하지 않는다.
3차원 가상 환경을 구축하는 많은 애플리케이션에서, 가상 객체의 그림자 표시는 3차원 가상 환경의 표시 효과를 향상시키는 중요한 수단이다.
일반적으로, 게임 렌더링에서는 실시간으로 객체의 그림자를 계산하기 위해 그림자 맵 기술이 사용된다. 먼저, 광원의 관점에서 장면에 대해 그림자 맵 렌더링을 수행하여 광원까지의 객체의 거리 정보를 저장한 다음, 장면의 각 픽셀에 대한 시점에서 정상 렌더링(normal rendering)을 수행하여 광원의 위치를 계산한다. 또한, 거리 정보를 그림자 맵에 저장된 거리와 비교하여, 객체가 그림자 안에 있는지를 판단하고, 그림자의 상황에 따라 객체의 그림자를 추가로 계산한다.
그러나 그림자 맵은 광원의 시점에 기초하여 렌더링되어야 하고, 그림자 계산을 수행하기 위해서는 정상적인 렌더링 시에 그림자 맵에 대해 샘플링이 수행되어야 한다. 장면 복잡도가 비교적 높은 경우, 즉, 많은 수의 객체와 광원이 있는 경우, 장면 전체의 그림자 계산을 광원에 대해 하나씩 수행하면, 계산량이 엄청나고, 그림자 렌더링 효율에 영향을 미치고; 부분 샘플링을 통해 그림자 계산을 수행하면, 에지 에일리어싱 현상이 쉽게 발생하고, 그림자 렌더링 효과에 영향을 미칠 수 있다.
전술한 문제점을 해결하기 위해, 본 개시는 도 2에 도시된 이미지 렌더링 흐름도 아키텍처에 적용 가능한 이미지 렌더링 방법을 제공한다. 도 2는 본 개시의 일 실시예에 따른 이미지 렌더링의 아키텍처 흐름도이다. 타깃 가상 객체에 대한 고 해상도 그림자 데이터(예: 고 해상도 그림자 맵) 및 저 해상도 그림자 데이터(예: 저 해상도 그림자 맵)가 이미지 데이터베이스로부터 먼저 획득되고, 저 해상도 그림자 데이터를 사용하여 타깃 가상 객체의 그림자 에지가 결정된 다음, 고 해상도 데이터를 사용하여 타깃 가상 객체의 그림자 에지를 최적화함으로써 타깃 가상 객체의 이미지 렌더링 최적화를 구현한다.
본 개시에서 제공하는 방법은 하드웨어 시스템에서 처리 로직으로 작용하는 프로그램을 작성하는 것일 수 있거나, 통합 또는 외부 연결을 통해 전술한 처리 로직을 구현하는 이미지 렌더링 장치로서 작용할 수 있음을 이해할 수 있다. 예시적인 실시예로서, 이미지 렌더링 장치는 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하고 - 여기서 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮음 -; 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점을 결정하고; 중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리를 수행하여, 제2 텍셀 범위를 획득하고, 제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링을 추가로 수행한다. 이와 같이, 그림자 맵 기반의 영상 렌더링 프로세스가 구현되고, 저 해상도 맵에 따른 맵 위치를 결정하는 계산량이 비교적 적기 때문에, 영상 렌더링 효율이 향상된다. 그런 다음, 위치에 기초하여 고 해상도 그림자 맵을 렌더링하여, 그림자의 선명도를 보장하고, 에지 앨리어싱 생성을 방지하며, 이미지 렌더링 효과를 향상시킨다.
이하에서는 본 개시의 이미지 렌더링 방법을 흐름도 아키텍처와 함께 설명한다. 도 3은 본 출원의 일 실시예에 따른 이미지 렌더링 방법의 흐름도이고, 본 개시의 이 실시예는 적어도 다음의 동작을 포함한다:
301: 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득한다.
이 실시예에서, 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮다. 예를 들어, 제1 그림자 맵의 해상도는 32*32이고, 제2 그림자 맵의 해상도는 128*128이다. 따라서, 상대적으로 저 해상도인 제1 그림자 맵에 기초하여 그림자 위치를 결정하고, 그런 다음 고 해상도인 제2 그림자 맵에 기초하여 그림자 위치에서 그림자 에지에 대해 렌더링을 수행한다. 저 해상도 맵를 사용한 위치 결정은 데이터 처리량이 적어, 대량의 데이터 처리 자원의 점유를 피할 수 있다. 그림자 에지의 최적화는 고 해상도 맵을 사용하여 수행되어서, 저 해상도 맵에서 쉽게 발생하는 에지 앨리어싱 문제를 피하고 그림자 렌더링 효과를 향상시킨다. 예를 들어, 실제 장면에서, 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 훨씬 낮으며, 여기서 고 해상도 맵의 너비와 높이는 일반적으로 저 해상도 맵의 너비와 높이의 10배이므로, 서로 다른 해상도의 그림자 맵을 획득함으로써 데이터 처리량을 크게 줄일 수 있고, 그림자 렌더링 효과를 확보할 수 있다.
제1 그림자 맵은 거리 필드(DF) 변환을 통해 제2 그림자 맵에 의해 획득될 수 있음을 이해할 수 있다. 즉, 고 해상도 그림자 맵의 코드에 기초한 변환을 통해 저 해상도 그림자 맵을 획득하고, 예를 들어 고 해상도 그림자 맵의 코드를 다운샘플링하여 저 해상도 그림자 맵을 획득한다. 또한, 제1 그림자 맵과 제2 그림자 맵도 각각 광선 추적을 통해 획득할 수 있으며, 구체적인 방식은 실제 장면에 따라 결정된다. 해상도가 다른 맵은 서로 연관되어 있기 때문에 DF 코드를 사용하여 변환을 수행할 수 있으므로, 그림자 렌더링의 유연성이 향상된다.
저 해상도 데이터를 사용하여 고 해상도를 표현하는 효과를 달성하기 위해, 실제 장면에서, 제1 그림자 맵의 해상도와 제2 그림자 맵의 해상도 사이에 특정한 다중 관계, 즉 스케일링 계수가 있을 수 있다. 예를 들어, 제1 그림자 맵의 해상도에 대한 제2 그림자 맵의 해상도의 비율은 4, 즉, 스케일링 계수는 4이다.
전술한 데이터는 예시일 뿐이며, 그림자 맵은 데이터 형식이고, 저 해상도 데이터를 사용하여 위치를 결정하고 부분적으로 또는 전체적으로 고 해상도 데이터를 사용하여 타깃 계면(target interface)을 렌더링하는 다른 프로세스도 본 개시의 실시예에 적용 가능함을 이해할 수 있다.
302: 각각의 텍셀의 제1 텍셀 범위와 제1 그림자 맵에서의 중심점을 결정한다.
이 실시예에서, 제1 텍셀 범위는 그림자 에지의 천이 거리에 기초하여 설정되고, 천이 거리는 제1 그림자 맵에서 타깃 가상 객체의 그림자 에지를 지시하는 데 사용된다.
제1 텍셀 범위를 결정하기 위해, 도 4를 참조할 수 있다. 도 4는 본 개시의 일 실시예에 따른 이미지 렌더링 방법의 개략적인 장면도이다. 도면에서, 그림자 값을 계산하여 그림자의 에지를 결정하기 위해, 각각의 텍셀이 가상 객체(A2)를 통과하도록 광원(A1)에 대해 광선을 방출하고, 그런 다음 텍셀 간의 거리를 이용하여 DF 범위(A3)를 계산한다. 즉, 그림자 내의 텍셀을 결정하고, DF 범위에 기초하여 범위의 중심점(A4)을 결정할 수 있다.
구체적으로, 그림자 값 계산을 위해 각각 텍셀은 광원에 대해 광선을 방출한다. 빛이 객체를 가로지르면, 객체는 그림자 내에 위치하고 그림자 값은 0이며; 빛이 객체를 가로지르지 않으면 경우 그림자 값은 1이다. 그림자 에지가 반영을 포함할 수 있는 경우, 그림자 값은 0과 1 이내이다.
또한, DF 범위를 결정하기 위해, DF 그림자 맵에서의 각각의 텍셀의 거리 값의 계산은 엄청난 계산 오버헤드를 가져올 수 있다는 점을 고려하여, 실제 계산 시에는 그림자 에지의 천이 거리가 설정될 수 있다. 텍셀에서 그림자 에지까지의 거리가 그 값보다 큰 경우, 객체가 이미 그림자 에지에 있지 않다는 것을 지시하고, 그림자의 DF 값을 계산할 필요가 없다.
천이 거리는 수동으로 미리 설정된 파라미터일 수 있고, 일반적으로 사람이 표현하려는 장면 스타일에 따라 천이 거리를 변경할 수 있음을 이해할 수 있으며; 천이 거리는 이미지 렌더링의 과거 데이터에서의 값에 따라 대안적으로 결정될 수 있고; 천이 거리는 현재 장면에 따라 대안적으로 조정될 수 있으며, 예를 들어 계면 장면(interface scene)이 맑은 날에서 해질녘으로 바뀌는 경우, 비교적으로 긴 그림자의 효과가 표시되어야 하고. 천이 거리가 증대할 수 있다.
구체적으로, 그림자 맵 기반 이미지 렌더링에서는 그림자 DF 내의 요소를 계산하고 인코딩해야 한다. 텍셀 중심점에서 가장 가까운 그림자 에지까지의 절대 거리가 먼저 계산되며, 여기서 텍셀이 그림자 내에 있으면, 부호 있는 거리(signed distance)는 0보다 작고 절대 거리의 가법 역원(additive inverse)이다. 그런 다음 부호 있는 거리는 다음과 같은 방법을 통해 0과 1 이내로 정규화된다.
구체적으로, 이 방법은 다음 공식에 따라 수행될 수 있다.
Figure pct00001
normalizedDistance = 0.5 * 고정 거리 + 0.5
clampedDistance는 텍셀 중심점에서 가장 가까운 그림자 에지까지의 절대 거리이고; signedDistance는 부호 있는 거리이다. TransitionDistance는 천이 거리이고; normalizedDistance는 정규화된 거리이다. 정규화 후에, 정규화된 거리가 0이면 그림자 범위 내에 위치한 최대 거리를 지시하고, 정규화된 거리가 1이면 그림자 범위 밖에 있는 최대 거리를 지시하고, 정규화 거리가 0.5이면, 그림자의 에지에 있음을 지시한다.
303: 중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리를 수행하여 제2 텍셀 범위를 획득한다.
이 실시예에서, 스케일링 계수는 제1 그림자 맵의 해상도와 제2 그림자 맵의 해상도의 비율에 기초하여 획득된다.
구체적으로, 제2 텍셀 범위는 제1 텍셀 범위 전체를 덮는 것으로서 결정될 수 있다, 즉, 제1 그림자 맵이 제2 그림자 맵으로 완전히 대체된다. 제2 텍셀 범위 내의 텍셀과 제2 그림자 맵 간의 대응관계로 인해, 가상 객체의 이미지 렌더링 프로세스를 구현하기 위해, 계면에서 제2 그림자 맵이 편리하게 생성될 수 있다.
실제 적용 시에, 고 해상도 맵(제2 그림자 맵)의 해상도가 일반적으로 저 해상도 맵(제1 그림자 맵)의 해상도의 폭과 높이의 10배인 것을 고려하면, 즉 고 해상도 맵의 데이터 크기는 저 해상도 맵의 데이터 크기의 100배이므로, 제2 그림자 맵을 직접 생성하는 것은 대량의 비디오 메모리를 점유할 수 있어, 렌더링 프로세스의 안정성에 영향을 미칠 수 있다. 따라서, 제1 그림자 맵의 에지가 앨리어싱을 발생시킬 수 있는 문제를 해결하기 위해, 에지 렌더링 방법, 즉 그림자 에지만을 제2 그림자 맵의 에지 부분으로서 렌더링하는 방법을 사용할 수 있다. 구체적으로, 제2 텍셀 범위에서 텍셀 점까지의 중심점의 거리 세트를 획득하고; 그런 다음, 거리 세트에서의 최소 거리와 같은 추출 조건을 충족하는 텍셀 점을 추출하여 에지 거리를 결정하고; 에지 거리에 따라 타깃 가상 객체의 그림자 에지 영역을 추가로 결정한다. 그림자 에지 영역을 획득함으로써 렌더링 프로세스에서 비디오 메모리 점유율을 감소시키고 렌더링 프로세스의 안정성을 향상시킬 수 있다.
또한, 그림자 에지 영역은 일반적으로 가상 객체에 의해 덮인 픽셀 근처에 나타나는 것을 고려한다. 도 5는 본 발명의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이며, 도면은 가상 객체에 의해 덮인 픽셀 B1, 제2 텍셀 범위 B2, 중심점 B3(O), 가상 객체에 의해 덮인 픽셀에 의해 덮인 텍셀 B4(P), 및 최소 거리 B5를 포함하고, 제2 텍셀 범위는 제1 텍셀 범위의 중심점 B3, 제1 텍셀 범위 및 스케일링 계수 S에 따라 획득된다. 그런 다음 제2 텍셀 범위 P가 하나씩 계산되고, 텍셀 P와 중심점 O의 그림자 값이 다르면, 세계 공간에서 P와 O 사이의 거리가 계산되고, 최소 거리를 업데이트하여, 최소 거리의 연결선에 따라 그림자 에지 영역을 추가로 결정한다.
구체적으로, 제2 텍셀 범위는 다음 공식을 통해 계산할 수 있다:
Figure pct00002
R2는 제2 텍셀 범위이고, R1은 제1 텍셀 범위이고, S는 스케일링 계수이다.
세계 공간에서 P와 O 사이의 거리에 대해서는 다음 공식을 참조할 수 있다:
Figure pct00003
d는 세계 공간에서 P와 O 사이의 거리이고, x1과 y1은 O의 가로 좌표와 세로 좌표이고, x2와 y2는 P의 가로 좌표와 세로 좌표이다.
가상 객체에 의해 덮인 픽셀에 기초하여 그림자 에지 최적화를 추가로 수행함으로써, 그림자 에지 영역에서 고 해상도 맵의 정확한 생성을 보장하고 이미지 렌더링의 정확도를 향상시킨다.
304: 제2 텍셀 범위에 따라 타깃 가상 객체에 그림자 렌더링을 수행한다.
이 실시예에서, 제2 그림자 맵의 생성은 단계 303에서 결정된 제2 텍셀 범위에 기초하여 수행되며, 여기서 제2 그림자 맵 전체가 삽입될 수 있거나, 제2 그림자 맵은 그림자 에지 영역이 결정된 후에 삽입될 수 있다.
제2 텍셀 범위에는 비교적 많은 텍셀 점이 있기 때문에, 렌더링 프로세스에서 많은 수의 텍셀 점을 처리해야 하고, 데이터 양이 비교적 많다. 따라서, 제2 텍셀 범위 내의 텍셀 점은 위치 정보에 따라 제1 텍셀 범위 내의 텍셀 점과 매핑될 수 있다. 즉, 제1 텍셀 범위 내의 텍셀 점 중 하나는 제2 텍셀 범위 내의 복수의 텍셀 점에 대응하고, 제1 텍셀 범위 내의 텍셀 점에 기초하여 렌더링을 수행하여 데이터 처리량을 줄일 수 있다. 구체적으로, 제2 텍셀 범위 내의 텍셀 점은 먼저 대응하는 제1 텍셀 범위 내의 텍셀 점에 매핑되어 연관 텍셀(association texel)을 생성하고, 연관 텍셀은 제1 텍셀 범위 내의 텍셀 점 중 하나와 제2 텍셀 범위 내의 복수의 텍셀 점 사이의 대응관계를 지시하는 데 사용되고; 그러면 연관 텍셀 내의 DF 값이 각각 결정되고; DF 값에 기초하여 그림자 렌더링이 추가로 수행된다. 예를 들어, 제2 텍셀 범위 내에 9개의 텍셀 점이 있고 스케일링 계수가 3이면, 9개의 텍셀 점이 제1 텍셀 범위 내의 1개의 텍셀 점의 DF를 계산하는 과정에 대응하므로, 데이터 처리량을 줄일 수 있다.
렌더링 프로세스의 정확도를 보장하기 위해, 제2 텍셀 범위 내의 DF 값 중 최솟값에 대해 그림자 렌더링을 수행하기 위해, 전술한 매핑 프로세스가 복수 회의 반복을 통해 수행될 수 있다. 즉, 복수 회의 매핑이 수행되고, 따라서 매핑 프로세스의 정확도를 향상시킨다.
대상 가상 장면에서 광원은 일반적으로 고정 점이 아니며, 광원은 특정한 형상일 수 있다. 이 경우, 반영이 쉽게 생성될 수 있으므로, 제2 그림자 맵을 제2 텍셀 범위로서 렌더링한 후, 반영을 기초로하여 렌더링 프로세스에 대해 추가적인 최적화가 수행될 수 있다. 구체적으로, 광원의 형상 정보가 먼저 획득되고; 형상 정보 및 제2 텍셀 범위에 따라 반영 파라미터가 결정되고; 반영 파라미터에 기초하여 타깃 가상 객체에 대해 그림자 렌더링이 추가로 수행된다. 도 6은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다. 도면은 반영 파라미터에 대응하는 영역의 계산 프로세스에 관련된 파라미터를 보여주며, 구체적인 공식은 다음과 같다:
Figure pct00004
Figure pct00005
는 반영 영역 C1이고;
Figure pct00006
는 광원에서 계면까지의 거리 C2이고;
Figure pct00007
는 광원에서 방해물(blocker)까지의 거리 C3, 즉 광원에서 가상 객체까지의 거리이고;
Figure pct00008
는 광원의 형상 파라미터 C4이다.
또한, 광원의 형상 파라미터 C4에 대한 반영 영역 C1의 비율에 따라 반영 파라미터가 결정되고, 렌더링 효과를 향상시키기 위해 그림자 맵에 대해 추가 렌더링이 수행된다.
전술한 실시예로부터 알 수 있는 바와 같이, 타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵이 획득되고, 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮고; 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점을 결정하고; 중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리를 수행하여 제2 텍셀 범위를 획득하며, 제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링을 추가로 수행한다. 이와 같이, 그림자 맵 기반 이미지 렌더링 프로세스가 구현되고, 저 해상도 맵에 따른 맵 위치를 결정하는 계산량은 비교적 적기 때문에 이미지 렌더링 효율이 향상된다. 그런 다음 위치에 기초하여 고 해상도 그림자 맵을 렌더링함으로써, 그림자 선명도를 보장하고 에지 앨리어싱 생성을 방지하며, 이미지 렌더링 효과를 향상시킨다.
전술한 실시예에서는 이미지 렌더링 프로세스를 설명하였으며, 그 프로세스는 언리얼 엔진(Unreal Engine, UE)의 주요 기능이다. UE에서, DF 그림자 맵은 중앙 처리 유닛(central processing unit, CPU)에 의해 오프라인 베이킹(offline baking)을 통해 생성되어야 한다. 정상적인 베이킹을 통해 획득된 그림자 맵이 직접 저장되는 객체가 그림자 내에 있는지를 판정하는 것과 달리, DF 그림자 맵의 텍셀 각각은 두 부분의 데이터, 세계 공간에서 텍셀의 중심점에서 그림자 에지까지의 거리 및 텍셀의 그림자 값을 포함한다. 텍셀의 중심점에서 그림자 에지까지의 거리를 계산하기 위해, 광선 추적 기술을 통해 고 해상도 그림자의 에지를 계산해야 하며, 그런 다음 각각의 텍셀에서 그림자 에지까지의 거리를 계산하고, DF 미리 설정된 에지 천이 거리를 사용하여 DF를 인코딩하고 저장한다.
그러나 DF 그림자 맵은 CPU를 사용하여 계산되어서, 베이킹 시에, CPU의 계산 부하가 높은데, 렌더링 프로세스의 안정성에 영향을 미친다.
전술한 문제를 해결하기 위해, 이하에서는 구체적인 렌더링 프로세스를 설명한다. 도 7은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이며, 이 실시예는 다음과 같은 동작을 포함한다:
701: 맵 패킷을 획득한다.
이 실시예에서, 맵 패킷은 타깃 가상 객체의 그림자 렌더링을 지시하는 데 사용되며, 맵 패킷은 적어도 두 가지 해상도하의 그림자 맵을 포함할 수 있으며, 렌더링 프로세스에서 호출(invocation)을 용이하게 하기 위해, 그림자 맵은 특정 스케일링 계수의 해상도를 사용하여 선택될 수 있다.
702: CPU에서 맵 패킷에 대해 전처리를 수행한다.
이 실시예에서, 그래픽 처리 유닛(graphics processing unit, GPU)의 후속 멀티 스레드(multi-thread) 처리를 용이하게 하기 위해, CPU에서 맵 패킷에 대해 전처리가 수행될 수 있다.
구체적으로, CPU를 사용하여 타깃 가상 객체를 래스터화하여 복수의 타깃 패치(target patch)를 획득할 수 있고, 타깃 패치를 사용하여 그림자 영역의 위치를 지시함으로써, 광선 추적 프로세스에서 그림자 값의 정확도를 보장한다.
서로 다른 가상 장면의 좌표계는 상이할 수 있으므로, 맵 패킷에서의 장면 정보는 CPU를 사용하여 파싱될 수 있고; 그런 다음 적어도 두 가지 해상도하의 그림자 맵이 장면 정보에 따라 동일한 좌표계로 변환된다.
703: 전처리된 맵 패킷을 GPU에 입력하여 이미지 렌더링을 수행한다.
이 실시예에서, 전처리된 맵 패킷에 대한 GPU의 처리 프로세스는 주로 Optix 및 Cuda 플랫폼을 기반으로 수행된다. CUDA에서 제공하는 프로그래밍 애플리케이션 프로그로그램 인터페이스(application program interface, AP)에 기초하여, 병렬 유닛, 즉 도 3에 도시된 실시예에서 전술한 반복 계산 프로세스를 사용하여, GPU에서 그림자 계산에 대해 병렬 가속을 수행할 수 있다.
Optix에서의 광선 추적 프레임워크에 기초하여, GPU의 광선 추적 코어가 장면을 GPU에 업로드하는 데 사용될 수 있고, 광선 추적에 대해 하드웨어 가속을 수행하여 광선 추적의 효율을 크게 향상시킬 수 있다.
전술한 실시예에 따르면, GPU 반복에 기초한 DF 그림자 맵 베이킹 방법은 텍셀 간의 계산이 상호 독립적인 특성을 포함하며, 이는 GPU의 동시성 특성에 적합하여, DF 그림자 베이킹 성능을 크게 향상시킨다. 다양한 장면 복잡성과 맵 해상도에 기초하여, 단일 객체의 DF 그림자 베이킹 시간은 100ms 내지 1초이다. 또한, CPU 전체가 전 부하 비지 상태(full-load busy state)가 되는 것을 방지할 수 있다. 즉, CPU 계산을 GPU로 전달하여 CPU 이용을 크게 줄일 수 있다.
또한, 각각의 객체의 맵 패킷이 독립적이므로, 객체를 하나씩 렌더링하는 렌더링 방식이 베이킹 시스템의 응답 속도를 향상시켜, 개발 효율을 향상시킬 수 있다. GPU에 기초한 베이킹 시스템은 CPU 이용을 줄일 수 있으며, GPU에 저장된 DF 그림자 맵은 CUDA를 사용하여 데이터를 게임 장면으로 직접 전송할 수 있는데, 이는 게임 장면의 그림자 베이킹에 더 적합하다.
이하에서는 구체적인 프로세스를 참조하여 전술한 이미지 렌더링 방법을 설명한다. 도 8은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도로서, 먼저, 단일 객체의 DF 그림자 맵을 렌더링하기 위해 CPU는 적어도 두 가지 해상도의 버퍼 데이터를 준비해야 하며, 적어도 두가지 해상도의, 버퍼 내의 텍셀 각각은 세계 좌표계하의 위치를 저장해야 한다. 고 해상도 버퍼는 고 해상도 그림자 에지를 결정하기 위해, 주로 텍셀이 그림자 안에 있는지를 계산하는 데 사용된다. 저 해상도 버퍼는 고 해상도 버퍼의 렌더링을 용이하게 하기 위해, 텍셀 중심에서 그림자 에지까지의 거리를 계산하는 데 주로 사용된다. 또한, CPU는 객체의 메시 데이터(mesh data)와 각각의 메시 정점의 광 맵 좌표(light map coordinate)를 저장하고, 전술한 데이터를 준비하기 위해, CPU는 객체의 메시 데이터(mesh data)를 래스터화하고, 텍셀이 버퍼에 매핑되는지의 공간 위치와 식별자를 기록하기 위해, 객체의 메시 데이터를 작성해야 한다.
그런 다음 텍셀 간의 매핑 관계를 결정하기 위해 장면 데이터 및 맵 데이터가 GPU에 업로드된다. 예를 들어, 객체에 매핑되지 않은 텍셀의 경우, 이러한 텍셀은 그림자 계산도 DF 값 계산도 필요하지 않으며, 식별자 비트를 사용하여 이러한 픽셀을 식별하면 불필요한 계산 오버헤드를 줄일 수 있다.
또한, 인터페이스에 랜더링되어야 할 객체가 있는지 판정하고, 랜더링되어야 할 객체가 있으면, 관련 데이터가 호출되고, 도 9에 설명된 이미지 렌더링 프로세스가 호출되어, 렌더링 결과를 획득한다. 도 9는 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이다. 랜더링 프로세스가 시작된 후, 각각 그림자 값을 결정하기 위해 준비된 제1 그림자 맵과 제2 그림자 맵에 대해 광선 추적이 수행된다. 또한, 천이 거리를 사용하여 제1 그림자 맵의 텍셀 범위가 결정되고, 텍셀에서 그림자 에지까지의 최소 거리를 결정하기 위해 제2 그림자 맵에 대해 에지 검출이 수행된다. 그림자에서 제2 그림자 맵의 일부가 렌더링되어, DF 인코딩을 더 수행하기 위해, 제2 그림자 맵의 일부를 인코딩에 대응하는 그림자 이미지로 조정한다. 또한, 제2 그림자 맵에 대해 광선 추적이 수행된 후, 반영 파라미터를 계산하기 위해 계면에서 방해물까지의 거리가 추가로 계산되고, 렌더링된 그림자 맵이 추가로 렌더링되어, GPU 기반 이미지 렌더링 프로세스를 구현할 수 있다. CPU 이용이 줄어들고, 렌더링 프로세스의 정상적인 실행이 보장된다. 또한, 그림자 맵의 에지 앨리어싱의 경우가 줄어들고, 렌더링 효과가 향상된다. 도 10은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다. 도면에서. 그림자 에지 D1는 에일리어싱의 경우를 나타내고, 그림자 에지 D2는 전술한 프로세스를 통해 획득되며, 알 수 있는 바와 같이, 전술한 프로세스를 사용한 후에는 그림자 에지의 앨리어싱이 분명히 사라진다.
이 실시예의 이미지 렌더링 방법은 게임의 이미지 렌더링 프로세스에 적용될 수 있으며, 이미지 렌더링 방법은 특정 게임 장면을 참조하여 아래에서 설명된다. 도 11은 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 흐름도이다. 이 실시예는 다음과 같은 동작을 포함한다:
1101: 게임에서 특징 요소(feature element)의 트리거 상황을 획득한다.
특징 요소는 그림자 표시 또는 특정 임계값의 결정을 시작하는 버튼일 수 있다. 예를 들어, 특징 요소는 게이머의 가상 객체와 게임 인터페이스의 광원 사이의 각도를 지시하며, 각도가 30도보다 크면 특징 요소가 트리거된 것으로 간주하고, 이미지 렌더링 프로세스가 호출된다.
1102: 렌더링되어야 하는 가상 객체를 결정한다.
가상 객체는 가상 건물, 가상 식물, 가상 지형, 가상 캐릭터, 가상 가구, 가상 차량, 가상 동물/반려 동물(pet) 중 적어도 하나일 수 있다.
구체적으로, 렌더링되어야 하는 가상 객체는 게이머에 의해 제어되는 캐릭터와 같이, 게임 인터페이스에서 그림자 효과를 갖는 가상 객체이다.
1103: GPU를 사용하여 렌더링된 그림자 맵을 호출하여, 장면 업데이트를 수행한다.
이미지 렌더링 프로세스에 대해서는 도 3 또는 도 7에 설명된 방법을 참조할 수 있으며, 여기서는 세부 사항을 다시 설명하지 않는다.
구체적으로, 도 12는 본 개시의 일 실시예에 따른 다른 이미지 렌더링 방법의 개략적인 장면도이다. 도면에서 그림자 에지 E1은 에일리어싱의 경우를 나타내고, 그림자 에지 E2는 전술한 프로세스를 통해 획득되며, 알 수 있는 바와 같이, 전술한 이미지 렌더링 프로세스가 사용된 후에 그림자 에지의 앨리어싱이 명백히 사라진다.
이미지 렌더링은 게임 장면에서 가상 객체에 대해 수행되어, 특히 3차원 게임에서 게임 프로세스의 3차원 효과가 향상되어, 게임 장면의 풍부함을 향상시키고 사용자 경험을 향상시킨다.
본 개시의 실시예의 전술한 방안을 더 잘 구현하기 위해, 전술한 방안을 구현하기 위한 관련 장치가 아래에 추가로 제공된다. 도 13은 본 개시의 일 실시예에 따른 이미지 렌더링 장치의 개략적인 구성도이다. 이미지 렌더링 장치(1300)는,
타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하도록 구성된 획득 유닛(1301) - 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮음 -;
제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점을 결정하도록 구성된 결정 유닛(1302) - 제1 텍셀 범위는 그림자 에지의 천이 거리에 기초하여 설정되고, 천이 거리는 제1 그림자 맵에서 타깃 가상 객체의 그림자 에지를 지시하는 데 사용됨 -;
중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리를 수행하여, 제2 텍셀 범위를 획득하도록 구성된 스케일링 유닛(1303) - 스케일링 계수는 제1 그림자 맵의 해상도와 제2 그림자 맵의 해상도의 비율에 기초하여 획득됨 -; 및
제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링을 수행하도록 구성된 랜더링 유닛(1304)을 포함한다.
본 개시의 일부 예시적인 실시예에서, 스케일링 유닛(1303)은 추가로, 제2 텍셀 범위에서 텍셀 점들까지의 중심점의 거리 세트를 획득하도록 구성되고;
스케일링 유닛(1303)은 추가로, 추출 조건을 충족하는 텍셀 점을 거리 세트로부터 추출하여 에지 거리를 결정하도록 구성되고;
스케일링 유닛(1303)은 추가로, 에지 거리에 따라 타깃 가상 객체의 그림자 에지 영역을 결정하도록 추가로 구성되고;
렌더링 유닛(1304)은 구체적으로, 그림자 에지 영역에 기초하여 제2 그림자 맵의 대응하는 부분을 렌더링하여 타깃 가상 객체에 대해 그림자 렌더링을 수행하도록 구성된다.
본 개시의 일부 예시적인 실시예에서, 스케일링 유닛(1303)은 구체적으로 제1 그림자 맵의 제1 그림자 값을 결정하도록 구성되고, 제1 그림자 값은 제1 사선(射線, ray)과 타깃 가상 객체의 교차 상황에 기초하여 결정되고, 제1 사선은 제1 그림자 맵과 광원 사이의 연결 선을 지시하는 데 사용되며;
스케일링 유닛(1303)은 구체적으로, 제2 그림자 맵의 제2 그림자 값을 결정하도록 구성되며, 제2 그림자 값은 제2 사선과 타깃 가상 객체의 교차 상황에 기초하여 결정되고, 제2 사선은 제2 그림자 맵과 광원 사이의 연결 선을 지시하는 데 사용되고;
스케일링 유닛(1303)은 구체적으로, 제1 그림자 값과 제2 그림자 값이 다른 경우, 제2 텍셀 범위에서 텍셀 점들까지의 중심점의 거리 세트를 획득하도록 구성된다.
본 개시의 일부 예시적인 실시예에서, 스케일링 유닛(1303)은 구체적으로, 제2 텍셀 범위에서 타깃 가상 객체가 점유하는 픽셀에 의해 덮인 텍셀 점을 결정하도록 구성되고;
스케일링 유닛(1303)은 구체적으로, 픽셀에 의해 덮인 텍셀 점에 따라 거리 세트를 결정하도록 구성된다.
본 개시의 일부 예시적인 실시예에서, 렌더링 유닛(1304)은 구체적으로 제2 텍셀 범위에서의 텍셀 점을 대응하는 제1 텍셀 범위에서의 텍셀 점에 매핑하여 연관 텍셀을 생성하도록 구성되며, 연관 텍셀은 제1 텍셀 범위에서의 텍셀 점 중 하나와 제2 텍셀 범위에서의 복수의 텍셀 점 사이의 대응관계를 지시하는 데 사용되고;
렌더링 유닛(1304)은 구체적으로, 연관 텍셀에서의 거리 필드(DF) 값을 각각 결정하도록 구성되고;
렌더링 유닛(1304)은 구체적으로, DF 값에 기초하여 그림자 렌더링을 수행하도록 구성된다.
본 개시의 일부 예시적인 실시예에서, 렌더링 유닛(1304)은 구체적으로 거리 필드 값에 기초하여 반복 계산을 수행하여, DF 값의 변화 상황을 결정하도록 구성되고;
렌더링 유닛(1304)은 구체적으로, 거리 필드 값의 변화 상황에 기초하여 거리 필드 값의 최솟값을 결정하도록 구성되며;
렌더링 유닛(1304)은 구체적으로, DF 값의 최솟값에 기초하여 그림자 렌더링을 수행하도록 구성된다.
본 개시의 일부 예시적인 실시예에서, 렌더링 유닛(1304)은 추가로, 광원의 형상 정보를 획득하도록 구성되고;
렌더링 유닛(1304)은 구체적으로, 형상 정보 및 제2 텍셀 범위에 따라 반영 파라미터를 결정하도록 구성되고;
렌더링 유닛(1304)은 구체적으로, 반영 파라미터에 기초하여 타깃 가상 객체에 대해 그림자 렌더링을 수행하도록 구성된다.
타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵이 획득되고, 여기서 제1 그림자 맵의 해상도는 제2 그림자 맵의 해상도보다 낮으며; 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점이 경정되고; 제2 텍셀 범위를 획득하기 위해, 중심점에 기초하여, 스케일링 계수를 사용하여 제1 텍셀 범위에 대해 스케일링 처리가 수행되고; 제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링이 추가로 수행된다. 이와 같이, 그림자 맵 기반 이미지 렌더링 프로세스가 구현되고, 저 해상도 맵에 따른 맵 위치를 결정하는 계산량은 비교적 적기 때문에, 이미지 렌더링 효율이 향상된다. 그런 다음 위치에 기초하여 고 해상도 그림자 맵이 렌더링되어, 그림자의 선명도를 보장하고, 에지 앨리어싱의 생성을 방지하며, 이미지 렌더링 효과를 향상시킨다.
본 개시의 일 실시예는 다른 이미지 렌더링 장치(1400)를 더 제공한다. 도 14는 본 발명의 일 실시예에 따른 다른 이미지 렌더링 장치의 개략적인 구성도이다. 이 이미지 랜더링 장치는, 맵 패킷을 획득하도록 구성된 획득 유닛(1401) - 맵 패킷은 타깃 가상 객체의 그림자 렌더링을 지시하는 데 사용됨 -;
중앙 처리 유닛(CPU)에서 맵 패킷에 대해 전처리를 수행하도록 구성된 처리 유닛(1402); 및
전처리된 맵 패킷을 그래픽 처리 유닛(GPU)에 입력하여, 제1 측면 또는 제1 측면의 임의의 예시적인 실시예에 따른 이미지 렌더링 방법을 수행하도록 구성된 랜더링 유닛(1403)을 포함한다.
본 개시의 일부 예시적인 실시예에서, 처리 유닛(1402)은 구체적으로, CPU를 사용하여 맵 패킷에서의 장면 정보를 파싱하도록 구성되고;
처리 유닛(1402)은 구체적으로, 장면 정보에 따라 적어도 2개의 해상도하의 그림자 맵을 동일한 좌표계로 변환하도록 구성된다.
추가로, 본 개시의 일부 예시적인 실시예에서, 처리 유닛(1402)은 구체적으로, CPU를 사용하여 타깃 가상 객체를 래스터화하여 복수의 타깃 패치를 획득하도록 구성되며, 타깃 패치는 그림자 영역의 위치를 지시하는 데 사용된다.
본 개시의 일 실시예는 단말 기기를 더 제공한다. 도 15는 본 개시의 일 실시예에 따른 단말 기기의 개략적인 구성도이다. 설명의 편의를 위해, 본 개시의 실시예와 관련된 부분만을 도시하였다. 개시되지 않은 구체적인 기술적인 사항은 본 발명의 실시예에서의 방법 부분을 참조한다. 단말 기기는 휴대폰, 태블릿 컴퓨터, PDA(Personal Digital Assistant), POS(Point of Sale), 온보드 컴퓨터(on-board computer)를 포함하는 임의의 단말 기기일 수 있다. 일례로, 단말 기기가 이동전화인 것이 예로 사용된다.
도 15는 본 개시의 이 실시예에 따른 단말 기기와 관련된 이동 전화의 부분 구성의 블록도를 도시한다. 도 15를 참조하면, 이동 전화는 무선 주파수(radio frequency, RF) 회로(1510), 메모리(1520), 입력 유닛(1530), 디스플레이 유닛(1540), 센서(1550), 오디오 회로(1560), 무선 충실도(Wi-Fi) 모듈(1570), 프로세서(1580), 및 전원(1590)과 같은 구성요소를 포함한다. 당업자라면 도 15에 도시된 이동 전화의 구성이 이동 전화에 대한 한정이 아님을 이해할 수 있을 것이며, 이동 전화는 도면에 도시된 것보다 더 많은 구성 요소 또는 더 적은 구성 요소를 포함할 수 있거나, 일부 구성 요소가 결합될 수 있거나, 다른 구성요소 배치가 사용될 수 있다.
이하에서는 도 15를 참조하여 이동 전화의 구성요소에 대해 구체적으로 설명한다.
RF 회로(1510)는 정보의 송수신 프로세스 및 호출 프로세스에서 신호를 송수신하도록, 특히, 기지국의 다운링크 정보를 수신한 후, 처리를 위해 프로세서(1580)에 다운링크 정보를 전송하도록 구성된다. 일반적으로, RF 회로(1510)는 안테나, 적어도 하나의 증폭기, 송수신기, 커플러, 저잡음 증폭기(low noise amplifier, LNA) 및 듀플렉서를 포함하지만, 이에 한정되는 것은 아니다. 또한, RF 회로(1510)는 무선 통신을 통해 네트워크 및 다른 장치와 통신할 수도 있다. 무선 통신은 GSM(Global System for Mobile communications), GPRS(General Packet Radio Service), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), LTE(Long Term Evolution), 전자 메일, SMS(Short Messaging Service) 등을 포함한, 임의의 통신 표준 또는 프로토콜을 사용할 수 있지만, 이에 한정되는 것은 아니다.
메모리(1520)는 소프트웨어 프로그램 및 모듈을 저장하도록 구성될 수 있다. 프로세서(1580)는 메모리(1520)에 저장된 소프트웨어 프로그램 및 모듈을 실행하여 이동 전화의 다양한 기능적 애플리케이션 및 데이터 처리를 구현한다. 메모리(1520)는 주로 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있다. 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능(예: 사운드 재생 기능 및 이미지 표시 기능)에 의해 요구되는 애플리케이션 프로그램 등을 저장할 수 있다. 데이터 저장 영역은 이동 전화의 사용 등에 따라 생성된 데이터(예: 오디오 데이터 및 전화 번호부 등)를 저장할 수 있다. 또한, 메모리(1520)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 적어도 하나의 자기 디스크 저장 기기, 플래시 메모리 또는 다른 휘발성 솔리드 스테이트 저장 기기와 같은, 비휘발성 메모리를 포함할 수 있다.
입력 유닛(1530)은 입력된 숫자 또는 캐릭터 정보를 수신하고, 이동 전화의 사용자 설정 및 기능 제어와 관련된 키보드 신호 입력을 생성하도록 구성될 수 있다. 구체적으로, 입력 유닛(1530)은 터치 패널(1531) 및 다른 입력 기기(1532)를 포함할 수 있다. 터치 스크린이라고도 하는 터치 패널(1531)은 터치 패널상 또는 그 부근에서의 사용자의 터치 조작(예: 손가락 또는 스타일러스와 같은 임의의 적절한 객체 또는 액세서리를 사용하여 터치 패널(1531)상 또는 그 부근에서의 사용자의 조작)을 수집하여, 미리 설정된 프로그램에 따라 대응하는 연결 장치를 구동할 수 있다. 터치 패널(1531)은 두 부분, 즉 터치 검출 장치 및 터치 제어기를 포함할 수 있다. 터치 검출 장치는 사용자의 터치 방위(touch orientation)를 검출하고, 터치 조작에 의해 발생한 신호를 검출하고, 그 신호를 터치 제어기에 송신한다. 터치 제어기는 터치 검출 장치로부터 터치 정보를 수신하고, 터치 정보를 접촉 좌표(contact coordinate)로 변환한 다음, 접촉 좌표를 프로세서(1580)로 송신하고, 프로세서(1580)에 의해 송신되는 커맨드를 실행한다. 또한, 터치 패널(1531)은 저항 방식, 용량 방식, 적외선 방식 또는 표면 음파 방식과 같은, 다양한 방식을 사용하여 구현될 수 있다. 입력 유닛(1530)은 터치 패널(1531) 이외에 기타 입력 기기(1532)를 더 포함할 수 있다. 구체적으로, 기타 입력 기기(1532)는 물리 키보드, 기능 키(예: 볼륨 제어 키 또는 스위치 키), 트랙 볼, 마우스 및 조이스틱 중 하나 이상을 포함할 수 있지만, 이에 한정되지 않는다.
디스플레이 유닛(1540)은 사용자가 입력한 정보 또는 사용자에게 제공되는 정보 및 이동 전화기의 각종 메뉴를 표시하도록 구성될 수 있다. 디스플레이 유닛(1540)는 디스플레이 패널(1541)을 포함할 수 있다. 디스플레이 패널(1541)은 LCD(liquid crystal display), OLED(organic light-emitting diode) 등을 사용하여 구성될 수 있다. 또한, 터치 패널(1531)은 디스플레이 패널(1541)을 덮을 수 있다. 터치 패널(1531) 상에서 또는 그 근처에서의 터치 조작을 검출한 후, 터치 패널(531)은 터치 이벤트의 유형을 결정하도록, 터치 조작을 프로세서(1580)에 전달할 수 있다. 그러면, 프로세서(1580)는 터치 이벤트의 유형에 따라 디스플레이 패널(1541) 상에 대응하는 시각적 출력을 제공한다. 도 15에서는 터치 패널(1531)과 디스플레이 패널(1541)을 별개의 두 부분으로 사용하여 이동 전화의 입출력 기능을 구현하지만, 일부 실시예에서는 터치 패널(1531)과 디스플레이 패널(1541)을 일체화하여 이동 전화의 입출력 기능을 구현할 수 있다.
이동 전화는 광 센서, 움직임 센서 및 기타 센서와 같은 적어도 하나의 센서(1550)를 더 포함할 수 있다. 구체적으로, 광학 센서로는 주변 광 센서 및 근접 센서를 포함할 수 있다. 주변 광 센서는 주변 광의 밝기에 따라 디스플레이 패널(1541)의 휘도를 조절할 수 있다. 근접 센서는 이동 전화가 귀 쪽으로 이동되는 경우에 디스플레이 패널(1541) 및/또는 백라이트를 스위치 오프할 수 있다. 움직임 센서의 한 종류로서, 가속도 센서는 다양한 방향(일반적으로 3축)의 가속도를 검출할 수 있고, 정적일 때 중력의 크기 및 방향을 검출할 수 있으며, 그 자세를 인식하는 애플리케이션에 적용될 수 있다(예: 가로 방향과 세로 방향의 전환, 관련 게임, 자력계 자세 교정), 진동 인식에 관련된 기능(예: 보수계 및 노크) 등이 있다. 이동 전화에 구성될 수 있는 자이로스코프, 기압계, 습도계, 온도계 및 적외선 센서와 같은 기타 센서는 여기에서 더 설명하지 않는다.
오디오 회로(1560), 스피커(1561) 및 마이크로폰(1562)은 사용자와 이동 전화 사이에 오디오 인터페이스를 제공할 수 있다. 오디오 회로(1560)는 수신된 오디오 데이터를 변환하여 획득된 전기 신호를 스피커(1561)에 송신할 수 있고, 스피커(1561)는 출력을 위해 전기 신호를 보이스 신호로 변환한다. 또한, 마이크로폰(1562)은 수집된 사운드 신호를 전기 신호로 변환한다. 오디오 회로(1560)는 전기 신호를 수신한 후 전기 신호를 오디오 데이터로 변환한 다음, 오디오 데이터를 출력한다. 프로세서(1580)에 의해 처리된 후, 오디오 데이터는 RF 회로(1510)를 통해, 예를 들어 다른 이동 전화에 송신되거나, 오디오 데이터는 추가 처리를 위해 메모리(1520)에 출력된다.
Wi-Fi는 근거리 무선 송신 기술에 속한다. 이동 전화는 Wi-Fi 모듈(1570)을 사용하여 사용자가 이메일을 수신하고 송신하며, 웹 페이지를 브라우징하고, 스트리밍 미디어에 액세스하는 것을 도울 수 있다. 이는 사용자에게 무선 광대역 인터넷 액세스를 제공한다. 또한, 도 15는 Wi-Fi 모듈(1570)을 도시하지만, Wi-Fi 모듈(1570)은 이동 전화의 필수 구성요소가 아니며, Wi-Fi 모듈(1570)은 본 개시의 요지를 변경하지 않는 한 필요에 따라 생략될 수 있다.
프로세서(1580)는 이동 전화의 제어 센터이며, 다양한 인터페이스 및 라인을 사용하여 이동 전화 전체의 다양한 부분에 연결된다. 프로세서(1580)는 메모리(1520)에 저장된 소프트웨어 프로그램 및/또는 모듈을 실행하고, 메모리(1520)에 저장된 데이터를 호출함으로써, 이동 전화의 다양한 기능을 실행하고 데이터 처리를 수행하여, 이동 전화 전체를 모니터링한다. 프로세서(1580)는 하나 이상의 처리 유닛을 포함할 수 있다. 추가로, 프로세서(1580)는 애플리케이션 프로세서와 모뎀 프로세서를 통합할 수 있으며, 여기서 애플리케이션 프로세서는 주로 운영 체제, 사용자 인터페이스, 애플리케이션 프로그램 등을 처리하고, 모뎀 프로세서는 주로 무선 통신을 처리한다. 전술한 모뎀 프로세서는 또한 프로세서(1580)에 통합되지 않을 수 있음을 이해할 수 있다.
이동 전화는 또한 구성 요소에 전력을 공급하기 위한 전원(1590)(예: 배터리)을 더 포함한다. 전원은 전력 관리 시스템을 사용하여 프로세서(1580)에 논리적으로 연결될 수 있어서, 전력 관리 시스템을 사용하여 충전, 방전 및 전력 소비 관리와 같은 기능을 구현한다.
도면에 도시되지는 않았지만, 이동 전화는 카메라, 블루투스 모듈 등을 더 포함할 수 있으며, 여기서는 더 설명하지 않는다.
본 개시의 실시예에서, 단말 기기에 포함된 프로세서(1580)는 전술한 이미지 렌더링 방법의 다양한 동작을 수행하는 기능을 갖는다.
도 16은 본 개시의 일 실시예에 따른 서버의 개략 구성도이다. 서버(1600)는 상이한 구성 또는 성능으로 인해 크게 달라질 수 있다. 서버(1600)는 하나 이상의 중앙 처리 유닛(CPU)(1622)(예: 하나 이상의 프로세서), 메모리(1632), 및 애플리케이션 프로그램(1642) 또는 데이터(1644)를 저장하는 하나 이상의 저장 매체(1630)(예: 하나 이상의 대용량 저장 기기)를 포함할 수 있다. 메모리(1632) 및 저장 매체(1630)는 일시적 저장소 또는 영구적 저장소일 수 있다. 저장 매체(1630)에 저장된 프로그램은 하나 이상의 모듈(도면에 도시되지 않음)을 포함할 수 있고, 각각의 모듈은 서버에 대한 일련의 명령어 및 동작(operation)을 포함할 수 있다. 또한, 중앙 처리 유닛(1622)은 저장 매체(1630)와 통신하여 저장 매체(1630) 내의 일련의 명령어 및 동작을 서버(1600)에서 실행하도록 구성될 수 있다.
서버(1600)는 하나 이상의 전원(1626), 하나 이상의 유선 또는 무선 네트워크 인터페이스(1650), 하나 이상의 입/출력 인터페이스(1658) 및/또는 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM 또는 FreeBSDTM과 같은, 하나 이상의 운영 체제(1641)를 더 포함할 수 있다.
전술한 실시예에서 이미지 렌더링 장치에 의해 수행되는 동작은 도 16에 도시된 서버 구성에 기초한 것일 수 있다.
본 개시의 일 실시예는 이미지 렌더링 명령어를 저장하는, 컴퓨터로 판독 가능한 저장 매체를 더 제공하며, 이미지 렌더링 명령어는 컴퓨터에서 실행될 때, 컴퓨터로 하여금 도 2 내지 도 12의 실시예에 따라 설명된 방법에서의 이미지 렌더링 장치에 의해 수행되는 동작을 수행하게 한다.
본 개시의 일 실시예는 이미지 렌더링 명령어를 포함하는 컴퓨터 프로그램 제품을 더 제공하며, 이미지 렌더링 명령어는 컴퓨터에서 실행될 때, 컴퓨터로 하여금 도 2 내지 도 12의 실시예에 따라 설명된 방법에서의 이미지 렌더링 장치에 의해 수행되는 동작을 수행하게 한다.
본 개시의 일 실시예는 이미지 렌더링 시스템을 더 제공하며, 이미지 렌더링 시스템은 도 13에 따른 실시예에서의 이미지 렌더링 장치 또는 도 15에 따른 단말 기기를 포함할 수 있다.

Claims (16)

  1. 이미지 렌더링 방법으로서,
    타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하는 단계 - 상기 제1 그림자 맵의 해상도는 상기 제2 그림자 맵의 해상도보다 낮음 -;
    상기 제1 그림자 맵에서 각각의 텍셀(texel)의 제1 텍셀 범위 및 중심점을 결정하는 단계 - 상기 제1 텍셀 범위는 그림자 에지의 천이 거리(transition distance)에 기초하여 설정되고, 상기 천이 거리는 상기 제1 그림자 맵에서 상기 타깃 가상 객체의 그림자 에지를 지시하는 데 사용됨 -;
    상기 중심점에 기초하여, 스케일링 계수(scaling coefficient)를 사용하여 상기 제1 텍셀 범위에 대해 스케일링 처리를 수행하여 제2 텍셀 범위를 획득하는 단계 - 상기 스케일링 계수는 상기 제1 그림자 맵의 해상도와 상기 제2 그림자 맵의 해상도의 비율에 기초하여 획득됨 -; 및
    상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계
    를 포함하는 이미지 렌더링 방법.
  2. 제1항에 있어서,
    상기 중심점에 기초하여, 스케일링 계수를 사용하여 상기 제1 텍셀 범위에 대해 스케일링 처리를 수행하여 제2 텍셀 범위를 획득하는 단계 이후에, 상기 이미지 렌더링 방법은,
    상기 제2 텍셀 범위에서 텍셀 점들까지의 상기 중심점의 거리 세트를 획득하는 단계;
    추출 조건을 충족하는 텍셀 점을 상기 거리 세트로부터 추출하여 에지 거리를 결정하는 단계; 및
    상기 에지 거리에 따라 상기 타깃 가상 객체의 그림자 에지 영역을 결정하는 단계를 더 포함하고,
    상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계는,
    상기 그림자 에지 영역에 기초하여 상기 제2 그림자 맵의 대응하는 부분을 렌더링하여 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계를 포함하는, 이미지 렌더링 방법.
  3. 제2항에 있어서,
    상기 제2 텍셀 범위에서 텍셀 점들까지의 상기 중심점의 거리 세트를 획득하는 단계는,
    상기 제1 그림자 맵의 제1 그림자 값을 결정하는 단계 - 상기 제1 그림자 값은 제1 사선(射線, ray)과 상기 타깃 가상 객체의 교차 상황에 기초하여 결정되고, 상기 제1 사선은 상기 제1 그림자 맵와 광원 사이의 연결 선을 지시하는 데 사용됨;
    상기 제2 그림자 맵의 제2 그림자 값을 결정하는 단계 - 상기 제2 그림자 값은 제2 사선과 상기 타깃 가상 객체의 교차 상황에 기초하여 결정되고, 상기 제2 사선은 상기 제2 그림자 맵와 상기 광원 사이의 연결 선을 지시하는 데 사용됨 -; 및
    상기 제1 그림자 값과 상기 제2 그림자 값이 다른 경우, 상기 제2 텍셀 범위에서 상기 텍셀 점들가지의 상기 중심점의 거리 세트를 획득하는 단계를 포함하는, 이미지 렌더링 방법.
  4. 제3항에 있어서,
    상기 제2 텍셀 범위에서 텍셀 점들까지의 상기 중심점의 거리 세트를 획득하는 단계는,
    상기 제2 텍셀 범위에서 상기 타깃 가상 객체가 점유하는 픽셀에 의해 덮인 텍셀 점을 결정하는 단계; 및
    상기 픽셀에 의해 덮인 텍셀 점에 따라 상기 거리 세트를 결정하는 단계를 포함하는, 이미지 렌더링 방법.
  5. 제1항에 있어서,
    상기 제2 텍셀 범위에 따라 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계는,
    상기 제2 텍셀 범위에서의 텍셀 점을 대응하는 제1 텍셀 범위에서의 텍셀 점에 매핑하여 연관 텍셀을 생성하는 단계 - 상기 연관 텍셀은 상기 제1 텍셀 범위에서의 텍셀 점 중 하나와 상기 제2 텍셀 범위에서의 복수의 텍셀 점 사이의 대응관계를 지시하는 데 사용됨 -;
    상기 연관 텍셀에서의 거리 필드 값을 개별적으로 결정하는 단계; 및
    상기 거리 필드 값에 기초하여 그림자 렌더링을 수행하는 단계를 포함하는, 이미지 렌더링 방법.
  6. 제5항에 있어서,
    상기 거리 필드 값에 기초하여 그림자 렌더링을 수행하는 단계는,
    상기 거리 필드 값에 기초하여 반복 계산을 수행하여, 상기 거리 필드 값의 변화 상황을 결정하는 단계;
    상기 거리 필드 값의 변화 상황에 기초하여 상기 거리 필드 값의 최솟값을 결정하는 단계; 및
    상기 거리 필드 값의 최솟값에 기초하여 그림자 렌더링을 수행하는 단계를 포함하는, 이미지 렌더링 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계는,
    상기 광원의 형상 정보를 획득하는 단계;
    상기 형상 정보 및 상기 제2 텍셀 범위에 따라 반영 파라미터(penumbra parameter)를 결정하는 단계; 및
    상기 반영 파라미터에 기초하여 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하는 단계를 포함하는, 이미지 렌더링 방법.
  8. 제1항에 있어서,
    상기 타깃 가상 객체는 게임에서의 가상 객체인, 이미지 렌더링 방법.
  9. 이미지 렌더링 방법으로서,
    맵 패킷(map packet)을 획득하는 단계 - 상기 맵 패킷은 타깃 가상 객체의 그림자 렌더링을 지시하는 데 사용되며, 상기 맵 패킷은 둘 이상의 해상도하의 그림자 맵을 포함함 -;
    중앙 처리 유닛(central processing unit, CPU)에서 상기 맵 패킷에 대해 전처리를 수행하는 단계; 및
    전처리된 맵 패킷을 그래픽 처리 유닛(graphics processing unit, GPU)에 입력하여, 제1항 내지 제8항 중 어느 한 항에 따른 이미지 렌더링 방법을 수행하는 단계
    를 포함하는 이미지 렌더링 방법.
  10. 제9항에 있어서,
    상기 CPU에서 상기 맵 패킷에 대해 전처리를 수행하는 단계는,
    상기 CPU를 사용하여 상기 맵 패킷에서의 장면 정보를 파싱하는 단계; 및
    상기 장면 정보에 따라 둘 이상의 해상도하의 상기 그림자 맵을 동일한 좌표계로 변환하는 단계를 포함하는, 이미지 렌더링 방법.
  11. 제9항에 있어서,
    상기 CPU에서 상기 맵 패킷에 대해 전처리를 수행하는 단계는,
    상기 CPU를 사용하여 상기 타깃 가상 객체를 래스터화하여(rasterizing) 복수의 타깃 패치(target patch)를 획득하는 단계 - 상기 타깃 패치는 그림자 영역의 위치를 지시하는 데 사용됨 -를 포함하는, 이미지 렌더링 방법.
  12. 이미지 렌더링 장치로서,
    타깃 가상 객체의 제1 그림자 맵 및 제2 그림자 맵을 획득하도록 구성된 획득 유닛 - 상기 제1 그림자 맵의 해상도는 상기 제2 그림자 맵의 해상도보다 낮음 -;
    상기 제1 그림자 맵에서 각각의 텍셀의 제1 텍셀 범위 및 중심점을 결정하도록 구성된 결정 유닛 - 상기 제1 텍셀 범위는 그림자 에지의 천이 거리에 기초하여 설정되고, 상기 천이 거리는 상기 제1 그림자 맵에서 상기 타깃 가상 객체의 그림자 에지를 지시하는 데 사용됨 -;
    상기 중심점에 기초하여, 스케일링 계수를 사용하여 상기 제1 텍셀 범위에 대해 스케일링 처리를 수행하여 제2 텍셀 범위를 획득하도록 구성된 스케일링 유닛 - 상기 스케일링 계수는 상기 제1 그림자 맵의 해상도와 상기 제2 그림자 맵의 해상도의 비율에 기초하여 획득됨 -; 및
    상기 제2 텍셀 범위에 따라 상기 타깃 가상 객체에 대해 그림자 렌더링을 수행하도록 구성된 랜더링 유닛
    을 포함하는 이미지 렌더링 장치.
  13. 이미지 렌더링 장치로서,
    맵 패킷을 획득하도록 구성된 획득 유닛 - 상기 맵 패킷은 타깃 가상 객체의 그림자 렌더링을 지시하는 데 사용되며, 상기 맵 패킷은 둘 이상의 해상도하의 그림자 맵을 포함함 -;
    중앙 처리 유닛(CPU)에서 상기 맵 패킷에 대해 전처리를 수행하도록 구성된 처리 유닛; 및
    전처리된 맵 패킷을 그래픽 처리 유닛(GPU)에 입력하여, 제1항 내지 제8항 중 어느 한 항에 따른 이미지 렌더링 방법을 수행하도록 구성된 랜더링 유닛
    을 포함하는 이미지 렌더링 장치.
  14. 프로세서 및 메모리를 포함하는 컴퓨터 기기로서,
    상기 메모리는 프로그램 코드를 저장하도록 구성되고;
    상기 프로세서는 상기 프로그램 코드에서의 명령어에 따라, 제1항 내지 제8항 중 어느 한 항에 따른 이미지 렌더링 방법, 또는 제9항 내지 제11항 중 어느 한 항에 따른 이미지 렌더링 방법을 수행하도록 구성되는,
    컴퓨터 기기.
  15. 명령어를 저장하는, 컴퓨터로 판독 가능한 저장 매체로서,
    상기 명령어는 컴퓨터에서 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제8항 중 어느 한 항에 따른 이미지 렌더링 방법, 또는 제9항 내지 제11항 중 어느 한 항에 따른 이미지 렌더링 방법을 수행하게 하는,
    컴퓨터로 판독 가능한 저장 매체.
  16. 명령어를 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령어는 컴퓨터에서 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제8항 또는 제9항 내지 제11항 중 어느 한 항에 따른 이미지 렌더링 방법을 수행하게 하는,
    컴퓨터 프로그램 제품.
KR1020227008166A 2020-02-06 2020-11-10 이미지 렌더링 방법 및 관련 기기 KR102592633B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010081668.9A CN111292405B (zh) 2020-02-06 2020-02-06 一种图像渲染的方法以及相关装置
CN202010081668.9 2020-02-06
PCT/CN2020/127667 WO2021155690A1 (zh) 2020-02-06 2020-11-10 一种图像渲染的方法以及相关装置

Publications (2)

Publication Number Publication Date
KR20220044587A true KR20220044587A (ko) 2022-04-08
KR102592633B1 KR102592633B1 (ko) 2023-10-20

Family

ID=71018818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227008166A KR102592633B1 (ko) 2020-02-06 2020-11-10 이미지 렌더링 방법 및 관련 기기

Country Status (6)

Country Link
US (1) US20220207821A1 (ko)
EP (1) EP4006844A4 (ko)
JP (1) JP7397979B2 (ko)
KR (1) KR102592633B1 (ko)
CN (1) CN111292405B (ko)
WO (1) WO2021155690A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111292405B (zh) * 2020-02-06 2022-04-08 腾讯科技(深圳)有限公司 一种图像渲染的方法以及相关装置
CN111815748B (zh) * 2020-07-08 2024-03-19 上海米哈游天命科技有限公司 一种动画处理方法、装置、存储介质及电子设备
CN114111756A (zh) * 2020-08-26 2022-03-01 上海博泰悦臻网络技术服务有限公司 车载仪表阴影效果显示方法及系统、存储介质及车载终端
CN112734900A (zh) * 2021-01-26 2021-04-30 腾讯科技(深圳)有限公司 阴影贴图的烘焙方法、装置、设备及计算机可读存储介质
CN114820874A (zh) * 2021-01-28 2022-07-29 北京字跳网络技术有限公司 一种文字的阴影效果处理方法、装置、设备及存储介质
CN113269858B (zh) * 2021-07-19 2021-11-30 腾讯科技(深圳)有限公司 虚拟场景渲染方法、装置、计算机设备和存储介质
CN113706683B (zh) * 2021-08-06 2023-09-26 网易(杭州)网络有限公司 虚拟三维模型的阴影处理方法、阴影处理装置及电子装置
CN114037811B (zh) * 2021-11-18 2022-05-27 北京优锘科技有限公司 基于有向距离场的3d温场图渲染方法、装置、介质和设备
CN114937111A (zh) * 2022-03-29 2022-08-23 网易(杭州)网络有限公司 阴影贴图混合方法、装置、电子设备和存储介质
CN117292033A (zh) * 2022-06-17 2023-12-26 华为技术有限公司 一种渲染方法以及装置
US11562531B1 (en) * 2022-07-28 2023-01-24 Katmai Tech Inc. Cascading shadow maps in areas of a three-dimensional environment
CN115546389A (zh) * 2022-10-08 2022-12-30 网易(杭州)网络有限公司 软阴影生成方法、装置、设备及存储介质
CN116681869B (zh) * 2023-06-21 2023-12-19 西安交通大学城市学院 基于虚拟现实应用的文物3d展示处理方法
CN116524063B (zh) * 2023-07-04 2023-09-22 腾讯科技(深圳)有限公司 光照颜色的计算方法、装置、设备及介质
CN116617658B (zh) * 2023-07-20 2023-10-20 腾讯科技(深圳)有限公司 一种图像渲染方法及相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018227100A1 (en) * 2017-06-09 2018-12-13 Sony Interactive Entertainment Inc. Optimized shadows and adaptive mesh skinning in a foveated rendering system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04222076A (ja) * 1990-03-16 1992-08-12 Hewlett Packard Co <Hp> 半影部を備えたイメージに正反射を加えるためのコンピュータグラフィックス法
US6760024B1 (en) * 2000-07-19 2004-07-06 Pixar Method and apparatus for rendering shadows
US9336624B2 (en) * 2008-10-07 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for rendering 3D distance fields
KR20110014795A (ko) * 2009-08-06 2011-02-14 삼성전자주식회사 영상 처리 장치 및 방법
KR101598374B1 (ko) * 2009-09-21 2016-02-29 삼성전자주식회사 영상 처리 장치 및 방법
CN102768765B (zh) * 2012-06-25 2015-07-15 南京安讯网络服务有限公司 实时点光源软阴影渲染方法
US8891905B2 (en) * 2012-12-19 2014-11-18 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Boundary-based high resolution depth mapping
US9704286B2 (en) * 2013-02-06 2017-07-11 Square Enix Holdings Co., Ltd. Information processing apparatus, method, and storage medium for generating a viewpoint independent map
CN103903296B (zh) * 2014-04-23 2016-08-24 东南大学 虚拟家装室内场景设计中的阴影渲染方法
EP3021286B1 (en) * 2014-11-13 2017-09-27 Thomson Licensing Device and method to compute shadow in a 3D scene
KR102281162B1 (ko) * 2014-11-20 2021-07-23 삼성전자주식회사 영상 처리 장치 및 방법
CN104933754B (zh) * 2015-06-12 2017-09-19 浙江大学 去像素化轮廓线重建的线性阴影图方法
CN109993823B (zh) * 2019-04-11 2022-11-25 腾讯科技(深圳)有限公司 阴影渲染方法、装置、终端及存储介质
CN111292405B (zh) * 2020-02-06 2022-04-08 腾讯科技(深圳)有限公司 一种图像渲染的方法以及相关装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018227100A1 (en) * 2017-06-09 2018-12-13 Sony Interactive Entertainment Inc. Optimized shadows and adaptive mesh skinning in a foveated rendering system

Also Published As

Publication number Publication date
WO2021155690A1 (zh) 2021-08-12
JP2023501120A (ja) 2023-01-18
KR102592633B1 (ko) 2023-10-20
CN111292405A (zh) 2020-06-16
JP7397979B2 (ja) 2023-12-13
EP4006844A1 (en) 2022-06-01
EP4006844A4 (en) 2023-03-29
CN111292405B (zh) 2022-04-08
US20220207821A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
KR102592633B1 (ko) 이미지 렌더링 방법 및 관련 기기
CN106504185B (zh) 一种渲染优化方法和装置
US20220207820A1 (en) Method and apparatus for recognizing pixel point, illumination rendering method and apparatus, electronic device, and storage medium
US10311548B2 (en) Scaling render targets to a higher rendering resolution to display higher quality video frames
CN110211218B (zh) 画面渲染方法和装置、存储介质及电子装置
KR102048885B1 (ko) 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법
CN110865812B (zh) 一种用户界面识别方法和装置
WO2022100663A1 (zh) 一种选择抗锯齿算法的方法、装置、设备及可读存储介质
CN112215932B (zh) 粒子动画处理方法、装置、存储介质及计算机设备
CN116310061B (zh) 一种数据的处理方法、装置以及存储介质
WO2018209710A1 (zh) 一种图像处理方法及装置
CN111445563B (zh) 一种图像生成的方法以及相关装置
CN109753892B (zh) 人脸皱纹的生成方法、装置、计算机存储介质和终端
CN112206519B (zh) 实现游戏场景环境变化的方法、装置、存储介质及计算机设备
CN112884873B (zh) 虚拟环境中虚拟物体的渲染方法、装置、设备及介质
CN116672706B (zh) 光照渲染方法、装置、终端和存储介质
CN113487662A (zh) 画面显示方法、装置、电子设备和存储介质
CN116805963A (zh) 虚拟场景光源生成方法、装置、设备以及存储介质
CN116212374A (zh) 模型处理方法、装置、计算机设备和存储介质
CN116485980A (zh) 一种虚拟对象的渲染方法、装置、设备以及存储介质
CN115908687A (zh) 渲染网络的训练、渲染方法、装置及电子设备
CN115035231A (zh) 阴影烘焙方法、装置、电子设备和存储介质
CN116704107B (zh) 一种图像渲染方法和相关装置
CN111612921B (zh) 一种碰撞范围确定方法和相关装置
WO2024093609A1 (zh) 一种叠加光遮挡的渲染方法、装置及相关产品

Legal Events

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