KR20210072095A - 애니메이션 영화를 위한 룸 쉐이더 - Google Patents

애니메이션 영화를 위한 룸 쉐이더 Download PDF

Info

Publication number
KR20210072095A
KR20210072095A KR1020217014797A KR20217014797A KR20210072095A KR 20210072095 A KR20210072095 A KR 20210072095A KR 1020217014797 A KR1020217014797 A KR 1020217014797A KR 20217014797 A KR20217014797 A KR 20217014797A KR 20210072095 A KR20210072095 A KR 20210072095A
Authority
KR
South Korea
Prior art keywords
room
layer
image
room image
planar layer
Prior art date
Application number
KR1020217014797A
Other languages
English (en)
Other versions
KR102658568B1 (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 KR20210072095A publication Critical patent/KR20210072095A/ko
Application granted granted Critical
Publication of KR102658568B1 publication Critical patent/KR102658568B1/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/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • 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/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/87Gouraud shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

룸 이미지에 대한 이미지 데이터 생성은, 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계; 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하는 단계; 제1 룸 이미지에 대한 적어도 하나의 평면 레이어 중 하나 이상을 복제하고, 제1 룸 이미지에 대한 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써 제2 룸 이미지를 생성하고, 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어를 수정하는 단계; 및 제1 룸 이미지와 제2 룸 이미지를 패턴들로서 건물 이미지의 표면에 적용하는 단계를 포함한다.

Description

애니메이션 영화를 위한 룸 쉐이더
본 개시 내용은 애니메이션 영화에 관한 것이고, 더 구체적으로는, 애니메이션 영화를 위한 룸 쉐이더(room shader)에 관한 것이다.
컴퓨터 그래픽스에서, 쉐이딩은 수학적으로 정의된 물체에 사실적이거나 스타일화된 표면을 렌더링하는 것이다. 이 목적을 위해 특별히 작성된 쉐이더라 불리는 소프트웨어는, 최종 이미지의 각각의 픽셀의 색상과 밝기를 계산하기 위해 컴퓨터에 의해 실행된다.
과거에는, 메모리 제한들 때문에 렌더링하기에 너무 번거로울 수 있는 실제 기하학적 구조 대신에, 룸의 착시(illusion)를 생성하기 위해 건물 내의 룸 인테리어의 모습을 모방하도록 쉐이더들이 작성되었다. 따라서, 물체는 실제 건물 인테리어 또는 실제 생활에서 보이는 표면 반사의 모습과 일치하는 것이었다. 그러나, 일부 경우들에서, 만화책 및 영화 특정 삽화와 일치하도록 추상적인 모습을 생성하는 것이 바람직할 수 있다.
본 개시 내용은 룸 이미지에 대한 이미지 데이터를 생성하는 것을 제공한다.
일 구현에서, 룸 이미지에 대한 이미지 데이터를 생성하는 방법이 개시된다. 방법은, 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계; 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하는 단계; 제1 룸 이미지에 대한 적어도 하나의 평면 레이어 중 하나 이상을 복제하고, 제1 룸 이미지에 대한 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써, 제2 룸 이미지를 생성하고, 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어를 수정하는 단계; 및 제1 룸 이미지와 제2 룸 이미지를 패턴들로서 건물 이미지의 표면에 적용하는 단계를 포함한다.
일 구현에서, 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계는 건물 이미지의 표면의 창문을 통해 보이는 룸에 대한 룸 인테리어 효과를 전달하는 단계를 포함한다. 일 구현에서, 방법은 각각의 평면 레이어의 색상 및 투명도를 특정함으로써 각각의 평면 레이어를 정의하는 단계를 더 포함한다. 일 구현에서, 각각의 평면 레이어의 색상은 균일한 색상의 적어도 하나의 영역을 사용하여 특정된다. 일 구현에서, 방법은 각각의 평면 레이어를 검증하는 단계를 더 포함하고, 여기서 각각의 평면 레이어는 적어도 하나의 다른 평면 레이어에 실질적으로 평행하도록 테스트된다. 일 구현에서, 방법은 룸 이미지 내의 천장에 대한 천장 레이어 및 룸 이미지 내의 바닥에 대한 바닥 레이어를 생성하는 단계를 더 포함한다. 일 구현에서, 방법은 벽 레이어가 적어도 하나의 평면 레이어 중 하나 이상에 실질적으로 수직임을 검증하는 단계를 더 포함한다. 일 구현에서, 방법은 제3 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계; 제4 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계 - 여기서 제3 룸 이미지 및 제4 룸 이미지는 2개의 개별적인 창문들을 통해 보이는 단일 연결된 룸을 표현함 -; 제3 룸 이미지에 대한 평면 레이어와 제4 룸 이미지에 대한 평면 레이어 사이에 시차 오프셋(parallax offset)을 계산하는 단계; 및 제3 룸 이미지 내의 적어도 하나의 표면에 대한 시차 오프셋(parallax offset)을 사용하여 쉐이딩 반사를 계산하는 단계를 더 포함한다. 일 구현에서, 방법은 제1 룸 이미지로부터 적어도 하나의 평면 레이어 및 적어도 하나의 벽 레이어를 복제함으로써 다수의 룸 이미지들을 생성하는 단계; 및 다수의 룸 이미지들 각각에 대해 적어도 하나의 복제 평면 레이어와 적어도 하나의 복제 벽 레이어를 수정하는 단계를 더 포함한다.
다른 구현에서, 룸 이미지에 대한 이미지 데이터를 생성하기 위한 룸 쉐이더가 개시된다. 룸 쉐이더는 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 레이어 생성기; 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하는 벽 생성기; 제1 룸 이미지에 대한 적어도 하나의 평면 레이어 중 하나 이상을 복제하고, 제1 룸 이미지에 대한 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써 제2 룸 이미지를 생성하는 패턴 증배기(pattern multiplier) - 패턴 증배기는 적어도 하나의 복제 평면 레이어와 적어도 하나의 복제 벽 레이어를 수정함 - ; 및 제1 룸 이미지와 제2 룸 이미지를 패턴들로서 건물 이미지의 표면에 적용하는 패턴 적용기를 포함한다.
일 구현에서, 레이어 생성기는 건물 이미지의 표면의 창문을 통해 보이는 룸에 대한 룸 인테리어 효과를 전달한다. 일 구현에서, 룸 쉐이더는 각각의 평면 레이어의 색상과 투명도를 특정함으로써 각각의 평면 레이어를 정의하는 레이어 정의 유닛을 더 포함한다. 일 구현에서, 각각의 평면 레이어의 색상은 균일한 색상의 적어도 하나의 영역을 사용하여 특정된다. 일 구현에서, 룸 쉐이더는 각각의 평면 레이어를 검증하기 위한 레이어 검증 유닛을 더 포함하고, 여기서 각각의 평면 레이어는 적어도 하나의 다른 평면 레이어에 실질적으로 평행하도록 테스트된다. 일 구현에서, 레이어 검증 유닛은 또한 벽 레이어가 적어도 하나의 평면 레이어 중 하나 이상에 실질적으로 수직임을 검증한다. 일 구현에서, 룸 쉐이더는 룸 이미지 내의 천장에 대한 천장 레이어를 생성하는 천장 생성기; 및 룸 이미지 내의 바닥에 대한 바닥 레이어를 생성하는 바닥 생성기를 더 포함한다. 일 구현에서, 룸 쉐이더는 시차 오프셋 계산기; 및 반사 쉐이더, - 레이어 생성기는 또한 제3 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하고 제4 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하며, 여기서 제3 룸 이미지와 제4 룸 이미지는 2개의 개별적인 창문을 통해 보이는 단일 연결된 룸을 표현하고, 시차 오프셋 계산기는 제3 룸 이미지에 대한 평면 레이어와 제4 룸 이미지에 대한 평면 레이어 사이에 시차 오프셋을 계산함 -; 및 제3 룸 이미지 내의 적어도 하나의 표면에 대해 시차 오프셋을 사용하여 쉐이딩 반사를 계산하는 반사 쉐이더를 더 포함한다. 일 구현에서, 룸 쉐이더는 제1 룸 이미지로부터 적어도 하나의 평면 레이어와 적어도 하나의 벽 레이어를 복제함으로써 다수의 룸 이미지들을 생성하는 패턴 증배기; 및 다수의 룸 이미지들 각각에 대해 적어도 하나의 복제 평면 레이어와 적어도 하나의 복제 벽 레이어를 수정하는 패턴 적용기를 더 포함한다.
다른 구현에서, 룸 이미지에 대한 이미지 데이터를 생성하기 위한 컴퓨터 프로그램을 저장하는 비-일시적인 컴퓨터 판독 가능 저장 매체가 개시된다. 컴퓨터 프로그램은 컴퓨터로 하여금: 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하고; 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하고; 제1 룸 이미지에 대한 적어도 하나의 평면 레이어를 복제하고, 제1 룸 이미지에 대한 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써 제2 룸 이미지를 생성하고, 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어 중 하나 이상을 수정하고; 제1 룸 이미지와 제2 룸 이미지를 패턴들로서 건물 이미지의 표면에 적용하도록 하는 실행 가능한 명령어들을 포함한다.
일 구현에서, 컴퓨터로 하여금 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하게 하는 실행 가능한 명령어들은, 컴퓨터로 하여금 건물 이미지의 표면에 있는 창문을 통해 보이는 룸에 대해 룸 인테리어 효과를 전달하는 것을 야기하는 실행 가능한 명령어들을 포함한다.
다른 특징들 및 이점들은 본 개시 내용의 태양들을 예로써 도시하는 본 설명으로부터 명백할 것이다.
본 개시 내용의 구조와 동작 둘 다에 관한 세부 사항들은 첨부된 도면들의 연구에 의해 부분적으로 수집될 수 있으며, 유사한 참조 번호들은 유사한 부분들을 참조한다.
도 1은 본 개시 내용의 일 구현에 따른 애니메이션 영화를 위한 룸 쉐이더의 블록도이다.
도 2는 본 개시 내용의 일 구현에 따라 평평한 표면에 깊이의 착시를 생성하는 애니메이션 영화에 대한 룸 쉐이딩 프로세스의 흐름도이다.
도 3a는 본 개시 내용의 구현에 따른 컴퓨터 시스템과 사용자의 표현이다.
도 3b는 본 개시 내용의 구현에 따른 룸 쉐이딩 어플리케이션을 호스팅하는 컴퓨터 시스템을 도시하는 기능 블록도이다.
도 4는 본 개시 내용의 일 구현에 따른 룸 쉐이딩 프로세스(도 2)를 사용하여 룸 쉐이더(도 1)로 만들어진 룸 인테리어들과 함께 삽입된 평평한 표면들을 갖는 건물들의 예시적인 이미지를 보여준다.
위에서 설명된 것과 같이, 과거에는, 렌더링하기에 너무 번거로울 수 있는 실제 기하학적 구조 대신에 룸의 착시를 생성하기 위해, 애니메이션 영화들을 위한 쉐이더들이 건물들에서 룸 인테리어들의 모습을 모방하도록 작성되었다. 따라서, 물체는 실제 건물 인테리어 또는 실제 생활에서 보이는 표면 반사의 모습과 일치하는 것이었다. 그러나, 일부 경우들에서, 만화 책 및 영화 특정 삽화와 일치하는 추상적인 모습을 생성하는 것이 바람직할 수 있다.
본 개시 내용의 특정한 구현은 창문들을 갖는 건물들 내부의 모든 룸 인테리어 기하학적 구조에 적용되는, 평평한 표면에 깊이의 착시를 생성하는 애니메이션 영화를 위한 룸 쉐이더를 제공한다. 일 구현에서, 룸 쉐이더는 깊이에서의 다수의 레이어를 갖는 그래픽으로 도시된 룸 인테리어 효과(graphically-illustrated room interior effect)를 전달한다. 다른 구현에서, 그래픽 반사들을 도시하기 위해 대안적인 쉐이더가 제공된다. 이러한 설명들을 읽은 후, 다양한 구현들 및 응용들에서 개시 내용을 어떻게 구현하는지 명백해질 것이다. 본 개시 내용의 다양한 구현들이 본원에 설명될 것이지만, 이 구현들은 제한이 아닌, 단지 예시의 방법으로 제공된 것으로 이해된다. 이와 같이, 다양한 구현들의 상세한 설명은 본 개시 내용의 범위 또는 폭을 제한하는 것으로 해석되어서는 안된다.
일 구현에서, 룸 쉐이더는 각각의 룸 이미지에 대한 깊이에서의 다수의 평면 레이어들을 갖는 그래픽으로 도시된 룸 인테리어 효과 전달을 제공한다. 일 구현에서, 룸 쉐이더는 또한 각각의 룸 이미지에 대한 레이어들로서 천장들, 바닥들 및 벽들을 삽입한다. 비즈니스, 주거 및 소매 인테리어들의 패턴을 도시하기 위해 다수의 버전의 룸 이미지가 생성된다. 패턴들의 빈도와 크기가 조정될 수 있고, 창문 쉐이드 및 커튼들이 추가될 수 있다.
일 구현에서, 룸 쉐이더는 고전적인 애니메이션 스타일들을 제공하기 위해 창문의 유리 뒤의 일련의 평면 레이어들로서 룸 인테리어들을 도시한다. 일 구현에서, 각각의 레이어들은 창문에 실질적으로 평행한 평면에 도시된다. 다른 구현에서, 천장들, 바닥들 및 벽들(통칭하여 "벽들"이라고 지칭함)이 창문에 실질적으로 수직인 평면들에 도시된다. 이 구현에서, 용어 "실질적으로 수직"은 각각의 레이어가 레이어들과 창문 사이에서 90도로부터 1도 미만에 있는 것을 지칭한다.
추가 구현에서, 각각의 레이어는 균일한 색상의 솔리드(solid)의 붓자국으로 도시된다. 건물이 멀리 후퇴함에 따라, 붓자국들은 룸마다 단일 색상만 남을 때까지 더 큰 형상으로 단순화된다. 추가 구현에서, 종종 몇개의 인접한 창문들에 걸쳐 있는 연결된 룸들을 표현하는 패턴을 도시하기 위해, 룸 쉐이더는 표준 룸 인테리어 쉐이더의 간소화된 버전으로 시작하고, 측벽들은 폐기한다. 그러나, 일부 구현들에서, 다수의 레이어들이 필요하기 때문에, 시차 오프셋들을 계산하기 위해 UV 오프셋들이 사용된다.
다른 구현에서, 룸 인테리어에 대한 위에서 설명된 방법을 사용하는 것 외에 추가로, 대안적인 쉐이더가 그래픽 반사를 도시하기 위해 사용된다. 반사의 경우, 특정 그래픽 형상들이 칠해지고, 그것들은 그 후 반사성 재료들의 표면 상에서 깊이에 있어서 "레이어드" 되고 "다이얼링"된다. 쉐이더는 그 후 이러한 형상들과 환경을 (예를 들어, 유리 및 금속에) 반사하는데 사용된다.
도 1은 본 개시 내용의 일 구현에 따른 애니메이션 영화를 위한 룸 쉐이더(100)의 블록도이다. 일 구현에서, 룸 쉐이더(100)는 레이어 생성기(110), 벽 생성기(120), 시차 오프셋 계산기(130), 반사 쉐이더(140), 패턴 증배기(150) 및 패턴 적용기(160)를 포함한다. 레이어 생성기(110)는 적어도 레이어 정의 유닛(112)과 레이어 검증 유닛(114)을 포함할 수 있다.
도 1의 예시된 구현에서, 애니메이션 영화를 위한 룸 쉐이더(100)는 창문들을 갖는 건물의 측면과 같은 평평한 표면들에 룸 인테리어의 깊이에 대한 착시를 생성하도록 구성된다. 일 구현에서, 레이어 생성기(110)는 깊이에서의 적어도 하나의 레이어를 갖는 그래픽으로 도시된 룸 인테리어 효과를 전달한다. 일 구현에서, 레이어 정의 유닛(112)은 각각의 레이어를 평면으로 정의한다. 다른 구현에서, 레이어 정의 유닛(112)은 각각의 레이어의 색상 및 투명도를 특정함으로써 적어도 하나의 레이어의 각각의 레이어를 정의한다. 따라서, 일 구현에서, 각각의 레이어는 균일한 색상의 솔리드의 붓자국으로 칠해진다. 건물이 멀리 후퇴함에 따라, 붓자국은 룸마다 단지 단일 색상이 남을 때까지, 더 큰 형상들로 단순화된다.
일 구현에서, 레이어 검증 유닛(114)은 적어도 하나의 레이어로 결합될 때, 각각의 레이어의 실행 가능성(viability)을 검증한다. 일 구현에서, 레이어 검증 유닛(114)은 또한 각각의 레이어가 룸의 창문(즉, 가장 앞쪽 레이어)과 실질적으로 평행함을 검증한다. 이 구현에서, 용어 "실질적으로 평행한"은 각각의 레이어가 레이어들 및 창문 사이에서 0도로부터 1도 미만에 있는 것을 지칭한다.
일 구현에서, 벽 생성기(120)는 각각의 룸 이미지에 대한 레이어들로서 천장들, 바닥들 및 벽들을 삽입한다. 따라서, 벽 생성기(120)는 룸 이미지 내의 벽에 대한 벽 레이어를 생성하기 위한 벽 생성기(122), 룸 이미지 내의 천장에 대한 천장 레이어를 생성하기 위한 천장 생성기(124), 및 룸 이미지 내의 바닥에 대한 바닥 레이어를 생성하기 위한 바닥 생성기(126)를 포함한다. 일 구현에서, 벽 생성기(120)에 의해 생성된 천장들, 바닥들 및 벽들은 레이어 검증 유닛(114)에 의해 룸의 창문에 실질적으로 수직인 것으로 검증된다.
일단 모든 레이어들(및 벽들)이 정의되고 검증되면, 패턴 증배기(150)와 패턴 적용기(160)는 레이어들과 벽들로서 정의되고 검증된 다수의 버전의 룸 이미지들을 생성하기 위해 집합적으로 작동한다. 따라서, 생성된 다수의 버전들의 룸 이미지들은 비즈니스, 주거 및 소매 인테리어들의 패턴들을 도시하기 위해 사용된다. 일 구현에서, 패턴 증배기(150)는 패턴들의 빈도 및 크기를 조정하고, 패턴 적용기(160)는 깊이의 착시를 생성하기 위해 패턴들을 건물들의 평평한 표면들에 적용한다.
추가 구현에서, 종종 인접한 몇개의 창문에 걸쳐 있는 연결된 룸들을 표현하는 패턴들을 도시하기 위해, 룸 쉐이더는 표준 룸 인테리어 쉐이더의 간소화된 버전으로 시작한다. 그러나, 일부 구현들에서, 시차 오프셋 계산기(130)는 시차 오프셋들을 계산하기 위해 UV 오프셋들을 사용한다.
다른 구현에서, 룸 쉐이더(100)는 그래픽 반사들을 도시하는 데 사용되는 반사 쉐이더(140)를 포함한다. 반사의 경우, 특정 그래픽 형상들이 칠해지고, 이들은 그 후 반사성 재료의 표면에 깊이에 있어서 "레이어드" 및 "다이얼링"된다. 반사 쉐이더(140)는 그 후 이러한 형상들 및 환경을 (예를 들어, 유리 및 금속에) 반사하는 데 사용된다.
도 2는 본 개시 내용의 일 구현에 따른 평평한 표면에 깊이의 착시를 생성하는 애니메이션 영화에 대한 룸 쉐이딩 프로세스(200)의 흐름도이다. 일 구현에서, 룸 쉐이딩 프로세스(200)는 평면 레이어들의 생성, 벽들의 생성, 시차 오프셋의 계산, 쉐이딩 반사, 패턴 증배, 및 패턴 적용 단계를 포함한다. 추가로, 평면 레이어들의 생성 단계는 적어도 레이어 정의 및 레이어 검증 단계들을 포함할 수 있다.
일 구현에서, 단계(210)에서, 그래픽으로 도시된 룸 인테리어 효과가 깊이에서의 적어도 하나의 평면 레이어와 함께 전달된다. 일 구현에서, 단계(210)는 각각의 레이어의 색상 및 투명도를 특정함으로써 적어도 하나의 평면 레이어의 각각의 레이어를 정의하기 위해 단계(212)를 포함한다. 따라서, 일 구현에서, 각각의 레이어는 균일한 색상의 솔리드의 붓자국으로 칠해진다. 건물이 멀리 후퇴함에 따라, 붓자국은 룸마다 단지 단일 색상이 남을 때까지, 더 큰 형상으로 단순화된다. 단계(210)는 적어도 하나의 레이어에 통합될 때 각각의 레이어의 실행 가능성을 검증하기 위한 단계(214)를 더 포함한다. 일 구현에서, 각각의 레이어는 이것이 룸의 창문(즉, 가장 앞쪽 레이어)에 실질적으로 평행한 것으로 검증된다.
일 구현에서, 룸 쉐이딩 프로세스(200)는 또한 단계(220)에서, 각각의 룸 이미지에 대한 레이어들로서 천장들, 바닥들 및 벽들에 삽입한다. 삽입된 천장들, 바닥들 및 벽들은 그 후 단계(222)에서 룸의 창문에 실질적으로 수직인 것으로 검증된다.
추가 구현에서, 종종 몇개의 인접한 창문에 걸쳐 있는 연결된 룸들을 표현하는 패턴들을 도시하기 위해, 룸 쉐이딩 프로세스(200)는 표준 룸 인테리어 쉐이더의 간소화된 버전에서 시작한다. 그러나, 일부 구현들에서, 단계(230)에서, 시차 오프셋을 계산하기 위해 UV 오프셋들이 사용된다.
다른 구현에서, 단계(232)에서, 룸 쉐이딩 프로세스(200)는 계산된 시차 오프셋을 사용하여 그래픽 반사들을 도시한다. 반사의 경우, 특정 그래픽 형상들은 칠해지고, 그 후 그것들은 반사성 재료의 표면에 깊이에 있어서 "레이어드" 및 "다이얼링"(또는 조정)된다. 단계(234)에서, (예를 들어, 유리 및 금속 상에서) 형상들 및 환경이 반사된다.
일단 모든 레이어들(및 벽들)이 정의되고 검증되면, 단계(240)에서 룸 쉐이딩 프로세스(200)가 레이어들 및 벽들로 정의되고 검증된 다수의 버전의 룸 이미지 패턴들을 생성한다. 따라서, 생성된 다수의 버전들의 룸 이미지 패턴들은 비즈니스, 주거 및 소매 인테리어들의 패턴을 도시하기 위해 사용된다. 일 구현에서, 단계(250)에서 패턴의 빈도 및 크기가 조정되고, 단계(252)에서 패턴은 깊이의 착시를 생성하기 위해 건물의 평평한 표면에 적용된다.
도 3a는 본 개시 내용의 구현에 따른 컴퓨터 시스템(300)과 사용자(302)의 표현이다. 사용자(302)는 도 1 및 도 2의 룸 쉐이더(100) 및 룸 쉐이딩 프로세스(200)에 관해 도시되고 설명된 룸 쉐이딩 어플리케이션(390)을 구현하기 위해 컴퓨터 시스템(300)을 사용한다.
컴퓨터 시스템(300)은 도 3b의 룸 쉐이딩 어플리케이션(390)을 저장하고 실행한다. 또한, 컴퓨터 시스템(300)은 소프트웨어 프로그램(304)과 통신할 수 있다. 소프트웨어 프로그램(304)은 룸 쉐이딩 어플리케이션(390)을 위한 소프트웨어 코드를 포함할 수 있다. 소프트웨어 프로그램(304)은 아래에서 더 설명될 것과 같이, CD, DVD, 또는 저장 드라이브와 같은 외부 매체에 로드될 수 있다.
더욱이, 컴퓨터 시스템(300)은 네트워크(380)에 연결될 수 있다. 네트워크(380)는 다양한 상이한 아키텍쳐들, 예를 들어, 클라이언트-서버 아키텍쳐(client-server architecture), 피어-투-피어 네트워크 아키텍쳐(Peer-to-Peer network architecture), 또는 다른 유형의 아키텍쳐들로 연결될 수 있다. 예를 들어, 네트워크(380)는 룸 쉐이딩 어플리케이션(390) 내에 사용되는 엔진들과 데이터를 조정하는 서버(385)와 통신할 수 있다. 또한, 네트워크는 상이한 유형의 네트워크들일 수 있다. 예를 들어, 네트워크(380)는 인터넷, 근거리 네트워크(Local Area Network) 또는 근거리 네트워크의 임의의 변형, 광역 네트워크(Wide Area Network), 도시형 네트워크(Metropolitan Area Network), 인트라넷(Intranet) 또는 엑스트라넷(Extranet), 또는 무선 네트워크일 수 있다.
도 3b는 본 개시 내용의 구현에 따른 룸 쉐이딩 어플리케이션(390)을 호스팅하는 컴퓨터 시스템(300)을 도시하는 기능 블록도이다. 제어기(310)는 프로그램 가능한 프로세서이고, 컴퓨터 시스템(300) 및 이것의 구성요소들의 동작을 제어한다. 제어기(310)는 메모리(320) 또는 임베디드 제어기 메모리(도시되지 않음)로부터 명령어들을 (예를 들어, 컴퓨터 프로그램의 형태로) 로드하고, 이 명령어들을 실행하여 시스템을 제어한다. 이 실행에서, 제어기(310)는 룸 쉐이딩 어플리케이션(390) 내에서 엔진들 및 데이터 추출기들의 생성 및 구성을 가능하게 하는 것과 같은 소프트웨어 시스템을 룸 쉐이딩 어플리케이션(390)에 제공한다. 대안적으로, 이 서비스는 제어기(310) 또는 컴퓨터 시스템(300)에서 별도의 하드웨어 구성요소들로 구현될 수 있다.
메모리(320)는 컴퓨터 시스템(300)의 다른 구성요소들에 의한 사용을 위해 일시적으로 데이터를 저장한다. 일 구현에서, 메모리(320)는 RAM으로 구현된다. 일 구현에서, 메모리(320)는 또한 플래시 메모리 및/또는 ROM과 같은 장기 또는 영구의 메모리를 포함한다.
저장소(330)는 컴퓨터 시스템(300)의 다른 구성요소들에 의한 사용을 위해 일시적으로 또는 장 시간 기간동안 데이터를 저장한다. 예를 들어, 저장소(330)는 룸 쉐이딩 어플리케이션(390)에 의해 사용되는 데이터를 저장한다. 일 구현에서, 저장소(330)는 하드 디스크 드라이브이다.
매체 디바이스(340)는 이동식 매체를 수용하고, 삽입된 매체에 데이터를 판독(read) 및/또는 기입(write)한다. 일 구현에서, 예를 들어, 매체 디바이스(340)는 광학 디스크 드라이브이다.
사용자 인터페이스(350)는 컴퓨터 시스템(300)의 사용자로부터 사용자 입력을 받아들이고, 정보를 사용자(302)에게 제시하기 위한 구성요소들을 포함한다. 일 구현에서, 사용자 인터페이스(350)는 키보드, 마우스, 오디오 스피커들, 및 디스플레이를 포함한다. 제어기(310)는 컴퓨터 시스템(300)의 동작을 조정하기 위해 사용자(302)로부터 입력을 사용한다.
I/O 인터페이스(360)는 외부 저장소 또는 보조적인 디바이스들(예를 들어, 프린터 또는 PDA)과 같은 대응하는 I/O 디바이스들에 연결하기 위한 하나 이상의 I/O 포트들을 포함한다. 일 구현에서, I/O 인터페이스(360)의 포트들은 USB 포트들, PCMCIA 포트들, 직렬 포트들(serial ports), 및/또는 병렬 포트들(parallel ports)과 같은 포트들을 포함한다. 다른 구현에서, I/O 인터페이스(360)는 외부 디바이스들과 무선으로 통신하기 위한 무선 인터페이스를 포함한다.
네트워크 인터페이스(370)는 이더넷 연결을 지원하는 RJ-45 또는 "Wi-Fi"인터페이스(802.11을 포함하지만, 그에 제한되지는 않음)와 같은 유선 및/또는 무선 네트워크 연결을 포함한다.
컴퓨터 시스템(300)은 컴퓨터 시스템들의 전형적인 추가적인 하드웨어 및 소프트웨어(예를 들어, 파워, 냉각, 동작 시스템)를 포함하지만, 이 구성요소들은 단순화를 위해 도 3b에 구체적으로 보여지지 않는다. 다른 구현들에서, 컴퓨터 시스템의 상이한 구성들이 사용될 수 있다(예를 들어, 상이한 버스 또는 저장소 구성, 또는 멀티 프로세서(multi-processor) 구성).
도 4는 본 개시 내용의 일 구현에 따른 룸 쉐이딩 프로세스(200)를 사용하여 룸 쉐이더(100)로 만든 룸 인테리어가 삽입된 평평한 표면을 갖는 건물의 예시적인 이미지를 보여준다.
개시된 구현들에 대한 본원의 설명은 본 기술분야의 임의의 통상의 기술자가 본 개시 내용을 만들거나 사용하는 것을 가능하게 하도록 제공된다. 이러한 구현들에 대한 수많은 수정들은 본 기술분야의 통상의 기술자에게 쉽게 명백할 수 있고, 본원에 정의된 원리는 본 개시 내용의 사상 또는 범위를 벗어나지 않고 다른 구현들에 적용될 수 있다. 따라서, 본 개시 내용은 본원에 보여진 구현들에 제한하도록 의도된 것이 아니고, 본원에 개시된 주요하고 새로운 특징들과 일치하는 가장 넓은 범위에 따라져야 한다.
본 개시 내용의 다양한 구현들은 전자적인 하드웨어, 컴퓨터 소프트웨어 또는 이러한 기술들의 결합들로 실현된다. 일부 구현들은 하나 이상의 컴퓨팅 디바이스들에 의해 실행되는 하나 이상의 컴퓨터 프로그램을 포함한다. 일반적으로, 컴퓨팅 디바이스는 하나 이상의 프로세서들, 하나 이상의 데이터 저장 구성요소들(예를 들어, 휘발성 또는 비휘발성 메모리 모듈들, 및 하드 및 플로피 디스크 드라이브들, CD-ROM 드라이브들, 및 자기 테이프 드라이브들과 같은 영구적인 광학 및 자기 저장 디바이스들), 하나 이상의 입력 디바이스들(예를 들어, 게임 제어기들, 마우스들 및 키보드들), 및 하나 이상의 출력 디바이스들(예를 들어, 디스플레이 디바이스들)을 포함한다.
컴퓨터 프로그램들은 통상적으로 영구 저장 매체에 저장된 다음 실행 시간(run-time)에 메모리에 복사되는 실행 코드를 포함한다. 적어도 하나의 프로세서는 미리 정해진 순서로 메모리에서 프로그램 명령어들을 검색하여 코드를 실행한다. 프로그램 코드를 실행할 때, 컴퓨터는 입력 및/또는 저장 디바이스들로부터 데이터를 수신하고, 데이터에 대한 동작을 수행하고, 그 후 결과 데이터를 출력 및/또는 저장 디바이스들에 전달한다.
추가 구현에서, 표면 법선들(surface normals)의 양자화가 개시된다. 아티스트들은 형태를 보다 그래픽적인 방식으로 전달하기 위해, 종종 복잡한 형태들을 단순한 평면들로 축소한다. 그러나, 형태들의 축소는 3D로 이루어질 필요가 있었다. 비록 패턴들이 모델에 칠해질 수 있지만, 기본 쉐이딩이 여전히 부드럽기(smooth) 때문에, 패턴들은 임의의 텍스처처럼 보인다. 비록 모델에 평면들을 구축하는 것이 작동할 수 있지만, 형상들은 변형될 때 또는 상이한 거리들에서 볼 때 작동하지 않을 수 있다. 따라서, 필요한 것은 모델인 것처럼 쉐이드되지만, 렌더링 시간에 수정할 수 있을 만큼 유연한 해결책이다. 위에서 설명된 문제에 대한 해결책은 평면들로 구성된 것처럼, 표면을 렌더링 하도록 속이는 쉐이더를 생성하는 것이다.
도구들은 법선들을 평면인 것으로 속임으로써 렌더링 시간에 기하학적 구조를 단순화하도록 작성된다. 즉, 법선은 각각의 축에 양자화된다. 일 구현에서, 도구는 4개의 방법들인: 단계(step)(또는 모듈러스), 3D 라운딩(그리드 포인트들에 스냅), 법선의 "latlong" 맵핑, 및 셀 노이즈(cellnoise)를 포함한다. 복잡성을 추가하기 위해(특히, 수평 및 수직 가장자리들의 패턴을 특징으로 하는 경향이 있는 단순한 단계 및 라운딩의 경우), 다른 업스트림 함수들이 결과 양자화에 영향을 미치도록 허용하는 입력들이 추가된다. 단계 방법의 경우, 이는 일반적으로 양자화 이전에 법선을 기울이거나, 각각의 축을 따라 빈도(frequency)를 바이어스하는 것을 의미한다. 라운딩 및 셀 노이즈 방법들의 경우, 불규칙성을 추가하는 일반적인 접근은, 벡터의 길이를 조작하는 것이다. 벡터를 연장하면, N의 길이가 증가하고, N과 새로운 벡터(N의 끝점을 가장 가까운 그리드 포인트에 스냅하여 생성됨) 사이의 각도가 감소하기 때문에, 정밀도가 개선된다. 또한, 축마다 빈도를 변경하고, 검색 영역을 확장하기 위해(또한 정밀도를 증가시키기 위해) 다양한 벡터를 곱하는 기능이 추가되고, 단지 셀 포인트들의 백분율이 법선에 영향을 주도록 허용하는 기능(정밀도 감소)이 추가된다. 또한, 셀 노이즈는 또한 지터, 보조적인 위치들 및 거리 척도들의 배열들에 대한 옵션들을 제공한다. latlong 맵핑은 더 특정한 맵핑을 전달하는 방법과, 또한 (필터링을 지원했기 때문에) 가상 평면들의 가장자리를 라운딩하는 수단도 제공한다.
본 기술분야의 통상의 기술자는 본원에 설명된 다양한 도시적인 모듈들 및 방법 단계들이 전자 하드웨어, 소프트웨어, 펌웨어 또는 앞서 말한 것들의 결합들로 실시될 수 있음을 이해할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환성을 명확하게 도시하기 위해, 다양한 도시적인 모듈들 및 방법 단계들이 본원에 일반적으로 그들의 기능에 관해 설명된다. 이러한 기능이 하드웨어로 구현되는지 아니면 소프트웨어로 구현되는지는 전체 시스템에 부과된 특정 응용 및 설계 제약에 의존한다. 숙련된 기술자들은 설명된 기능을 각각의 특정 응용에 대해 다양한 방법으로 구현할 수 있지만, 그러나 이러한 구현 결정은 본 개시 내용의 범위로부터 벗어남을 일으키는 것으로 해석되어서는 안된다. 또한, 모듈 또는 단계 내의 기능들의 그룹은 설명을 쉽게 하기 위함이다. 특정 기능들은 본 개시 내용에서 벗어나지 않고, 하나의 모듈 또는 단계로부터 다른 모듈 또는 단계로 움직일 수 있다.
위에서 논의된 각각의 예시의 모든 특징들은 본 개시 내용의 특정 구현에서 반드시 필요한 것은 아니다. 추가로, 본원에 제시된 설명과 도면들은 본 개시 내용에 의해 광범위하게 고려되는 주제를 대표한다는 것이 이해되어야 한다. 본 개시 내용의 범위는 본 기술분야의 통상의 기술자들에게 명백할 수 있는 다른 구현들을 완전히 포함하고, 본 개시 내용의 범위는 따라서, 첨부된 청구 범위 이외의 것에 의해 제한되지 않는다는 것이 더 이해된다.

Claims (20)

  1. 룸 이미지에 대한 이미지 데이터를 생성하는 방법으로서,
    제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계;
    상기 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하는 단계;
    상기 제1 룸 이미지에 대한 상기 적어도 하나의 평면 레이어 중 하나 이상을 복제하고, 상기 제1 룸 이미지에 대한 상기 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써 제2 룸 이미지를 생성하고, 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어를 수정하는 단계; 및
    건물 이미지의 표면에 상기 제1 룸 이미지 및 상기 제2 룸 이미지를 패턴들로서 적용하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계는 상기 건물 이미지의 상기 표면의 창문을 통해 보이는 룸에 대한 룸 인테리어 효과를 전달하는 단계를 포함하는, 방법.
  3. 제2항에 있어서,
    각각의 평면 레이어의 색상 및 투명도를 특정함으로써 각각의 평면 레이어를 정의하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서,
    각각의 평면 레이어의 상기 색상은 균일한 색상의 적어도 하나의 영역을 사용하여 특정되는, 방법.
  5. 제2항에 있어서,
    각각의 평면 레이어를 검증하는 단계 - 각각의 평면 레이어는 적어도 하나의 다른 평면 레이어와 실질적으로 평행하도록 테스트됨 - 를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 룸 이미지 내의 천장에 대한 천장 레이어 및 상기 룸 이미지 내의 바닥에 대한 바닥 레이어를 생성하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서,
    벽 레이어가 상기 적어도 하나의 평면 레이어 중 하나 이상에 실질적으로 수직임을 검증하는 단계를 더 포함하는, 방법.
  8. 제1항에 있어서,
    제3 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계;
    제4 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 단계 - 상기 제3 이미지 및 상기 제4 이미지는 2개의 개별적인 창문들을 통해 보이는 단일 연결된 룸을 표현함 -;
    상기 제3 룸 이미지에 대한 평면 레이어와 상기 제4 룸 이미지에 대한 평면 레이어 사이의 시차 오프셋을 계산하는 단계; 및
    상기 제3 룸 이미지 내의 적어도 하나의 표면에 대해 상기 시차 오프셋을 사용하여 쉐이딩 반사를 계산하는 단계
    를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 제1 룸 이미지로부터 적어도 하나의 평면 레이어 및 적어도 하나의 벽 레이어를 복제함으로써 다수의 룸 이미지들을 생성하는 단계; 및
    상기 다수의 룸 이미지들 각각에 대해 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어를 수정하는 단계
    를 더 포함하는, 방법.
  10. 룸 이미지에 대한 이미지 데이터를 생성하기 위한 룸 쉐이더에 있어서,
    제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 레이어 생성기;
    상기 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하는 벽 생성기;
    상기 제1 룸 이미지에 대한 상기 적어도 하나의 평면 레이어 중 하나 이상을 복제하고, 상기 제1 룸 이미지에 대한 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써 제2 룸 이미지를 생성하는 패턴 증배기 - 상기 패턴 증배기는 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어를 수정함 -; 및
    건물 이미지의 표면에 상기 제1 룸 이미지와 상기 제2 룸 이미지를 패턴들로서 적용하는 패턴 적용기
    를 포함하는, 룸 쉐이더.
  11. 제10항에 있어서,
    상기 레이어 생성기는 상기 건물 이미지의 상기 표면의 창문을 통해 보이는 룸에 대한 룸 인테리어 효과를 전달하는, 룸 쉐이더.
  12. 제11항에 있어서,
    각각의 평면 레이어의 색상 및 투명도를 특정함으로써 각각의 평면 레이어를 정의하는 레이어 정의 유닛
    을 더 포함하는, 룸 쉐이더.
  13. 제12항에 있어서,
    상기 각각의 평면 레이어의 색상은 균일한 색상의 적어도 하나의 영역을 사용하여 특정되는, 룸 쉐이더.
  14. 제11항에 있어서,
    각각의 평면 레이어를 검증하기 위한 레이어 검증 유닛 - 각각의 평면 레이어는 적어도 하나의 다른 평면 레이어와 실질적으로 평행하도록 테스트됨 - 을 더 포함하는, 룸 쉐이더.
  15. 제14항에 있어서,
    상기 레이어 검증 유닛은 또한 벽 레이어가 상기 적어도 하나의 평면 레이어 중 하나 이상에 실질적으로 수직임을 검증하는, 룸 쉐이더.
  16. 제10항에 있어서,
    상기 룸 이미지 내의 천장에 대한 천장 레이어를 생성하는 천장 생성기; 및
    상기 룸 이미지 내의 바닥에 대한 바닥 레이어를 생성하는 바닥 생성기
    를 더 포함하는, 룸 쉐이더.
  17. 제10항에 있어서,
    시차 오프셋 계산기; 및
    반사 쉐이더 - 상기 레이어 생성기는 또한 제3 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하고, 제4 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하며,
    상기 제3 룸 이미지 및 상기 제4 룸 이미지는 2개의 개별적인 창문을 통해 보이는 단일 연결된 룸을 표현하고,
    상기 시차 오프셋 계산기는 상기 제3 룸 이미지에 대한 평면 레이어와 상기 제4 룸 이미지에 대한 평면 레이어 사이의 시차 오프셋을 계산하며,
    반사 쉐이더는 상기 제3 룸 이미지 내의 적어도 하나의 표면에 대해 상기 시차 오프셋을 사용하여 쉐이딩 반사를 계산함 -
    를 더 포함하는, 룸 쉐이더.
  18. 제10항에 있어서,
    상기 패턴 증배기는 상기 제1 룸 이미지로부터 적어도 하나의 평면 레이어 및 적어도 하나의 벽 레이어를 복제함으로써 다수의 룸 이미지를 또한 생성하고;
    상기 패턴 적용기는 상기 다수의 룸 이미지들 각각에 대해 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어를 또한 수정하는, 룸 쉐이더.
  19. 비-일시적인 컴퓨터 판독 가능 저장 매체로서,
    룸 이미지에 대한 이미지 데이터를 생성하는 컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램은 컴퓨터로 하여금:
    제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 것;
    상기 제1 룸 이미지 내의 벽에 대한 적어도 하나의 벽 레이어를 생성하는 것;
    상기 제1 룸 이미지에 대한 적어도 하나의 평면 레이어를 복제하고, 상기 제1 룸 이미지에 대한 적어도 하나의 벽 레이어 중 하나 이상을 복제함으로써 제2 룸 이미지를 생성하고, 적어도 하나의 복제 평면 레이어 및 적어도 하나의 복제 벽 레이어 중 하나 이상을 수정하는 것; 및
    건물 이미지의 표면에 상기 제1 룸 이미지와 상기 제2 룸 이미지를 패턴들로서 적용하는 것
    을 하게 하는 실행 가능한 명령어들을 포함하는, 비-일시적인 컴퓨터 판독 가능 저장 매체.
  20. 제19항에 있어서,
    상기 컴퓨터로 하여금 제1 룸 이미지에 대한 깊이에서의 적어도 하나의 평면 레이어를 생성하는 것을 하게 하는 실행 가능한 명령어는:
    상기 컴퓨터로 하여금 상기 건물 이미지의 상기 표면의 창문을 통해 보이는 룸에 대한 룸 인테리어 효과를 전달하는 것을 하게 하는 실행 가능한 명령어
    를 포함하는, 비-일시적인 컴퓨터 판독 가능 저장 매체.


KR1020217014797A 2018-12-05 2019-12-05 애니메이션 영화를 위한 룸 쉐이더 KR102658568B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862775830P 2018-12-05 2018-12-05
US62/775,830 2018-12-05
US201862776336P 2018-12-06 2018-12-06
US62/776,336 2018-12-06
PCT/US2019/064762 WO2020118097A1 (en) 2018-12-05 2019-12-05 Room shaders for animated movies

Publications (2)

Publication Number Publication Date
KR20210072095A true KR20210072095A (ko) 2021-06-16
KR102658568B1 KR102658568B1 (ko) 2024-04-19

Family

ID=70970740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217014797A KR102658568B1 (ko) 2018-12-05 2019-12-05 애니메이션 영화를 위한 룸 쉐이더

Country Status (6)

Country Link
US (1) US20200184716A1 (ko)
EP (1) EP3874741A4 (ko)
JP (1) JP7413380B2 (ko)
KR (1) KR102658568B1 (ko)
CN (1) CN113170073A (ko)
WO (1) WO2020118097A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122564A (ja) * 2003-10-17 2005-05-12 Mitsubishi Electric Corp 昇降機かご内装意匠表示装置
US20170372512A1 (en) * 2014-12-22 2017-12-28 Lei Yang System and Methods for Generating Procedural Window Lighting Effects

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4401813A1 (de) * 1994-01-22 1995-07-27 Hella Kg Hueck & Co Hochwärmebelastbare Formteile
GB2473263B (en) * 2009-09-07 2012-06-06 Sony Comp Entertainment Europe Image processing apparatus, system, and method
US9898862B2 (en) * 2011-03-16 2018-02-20 Oldcastle Buildingenvelope, Inc. System and method for modeling buildings and building products
US9235911B2 (en) * 2012-01-25 2016-01-12 Google Inc. Rendering an image on a display screen
CA2938973A1 (en) * 2014-02-08 2015-08-13 Pictometry International Corp. Method and system for displaying room interiors on a floor plan
EP3111436B1 (en) * 2014-02-26 2018-10-31 Savant Systems LLC A user generated virtual room-based user interface
US9819907B2 (en) * 2014-09-25 2017-11-14 Steve H. McNelley Communication stage and related systems
KR102341267B1 (ko) * 2015-05-04 2021-12-20 삼성전자주식회사 양안 시차 영상에 대한 렌더링 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122564A (ja) * 2003-10-17 2005-05-12 Mitsubishi Electric Corp 昇降機かご内装意匠表示装置
US20170372512A1 (en) * 2014-12-22 2017-12-28 Lei Yang System and Methods for Generating Procedural Window Lighting Effects

Also Published As

Publication number Publication date
JP2022510823A (ja) 2022-01-28
CN113170073A (zh) 2021-07-23
US20200184716A1 (en) 2020-06-11
EP3874741A1 (en) 2021-09-08
WO2020118097A1 (en) 2020-06-11
EP3874741A4 (en) 2021-11-24
JP7413380B2 (ja) 2024-01-15
KR102658568B1 (ko) 2024-04-19

Similar Documents

Publication Publication Date Title
US8212806B2 (en) File format extensibility for universal rendering framework
US9471996B2 (en) Method for creating graphical materials for universal rendering framework
EP2889844B1 (en) Diminished reality
US8134551B2 (en) Frontend for universal rendering framework
US8988433B2 (en) Systems and methods for primitive intersection in ray tracing
Scherzer et al. A survey of real‐time hard shadow mapping methods
US20160005209A1 (en) Method and system for light transport path manipulation
PT1376472E (pt) Sistemas e métodos para efectuar uma amostragem controlável de textura
US20140198103A1 (en) Method for polygon reduction
US8441482B2 (en) Systems and methods for self-intersection avoidance in ray tracing
US9959662B2 (en) Simulation and skinning of heterogeneous texture detail deformation
US8902234B1 (en) Simulation primitives
US8368712B2 (en) Mesh transfer in n-D space
US11605200B2 (en) System for optimizing a 3D mesh
CN109448123A (zh) 模型的控制方法及装置、存储介质、电子设备
Zmugg et al. Procedural architecture using deformation-aware split grammars
KR102658568B1 (ko) 애니메이션 영화를 위한 룸 쉐이더
Mattausch et al. Freeform shadow boundary editing
AU2008282634B2 (en) Surface shading of computer-generated object using multiple surfaces
CN109002626A (zh) 一种基于bim技术的空间构件快速仿真布局方法
Penney Volumetric clouds in the VR movie, Allumette
Krösl et al. LiteMaker: Interactive Luminaire Development using Progressive Photon Tracing and Multi-Resolution Upsampling.
Conesa et al. An agent-based paradigm for virtual modeling
Korndörfer et al. Enhanced sphere tracing
Algma Edge Chamfering Algorithm

Legal Events

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