CN110335335A - 用于球面投影的均匀密度立方体贴图渲染 - Google Patents
用于球面投影的均匀密度立方体贴图渲染 Download PDFInfo
- Publication number
- CN110335335A CN110335335A CN201910219033.8A CN201910219033A CN110335335A CN 110335335 A CN110335335 A CN 110335335A CN 201910219033 A CN201910219033 A CN 201910219033A CN 110335335 A CN110335335 A CN 110335335A
- Authority
- CN
- China
- Prior art keywords
- cube
- instruction
- coordinate
- view
- face
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 23
- 230000001131 transforming effect Effects 0.000 claims description 16
- 238000013459 approach Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000010008 shearing Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004043 dyeing Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
- G09B29/005—Map projections or methods associated specifically therewith
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2215/00—Indexing scheme for image rendering
- G06T2215/06—Curved planar reformation of 3D line structures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
Abstract
本发明公开了用于球面投影的均匀密度立方体贴图渲染,具体公开了一种立方体贴图,用于利用预先计算的纹理图像确定表面的外观。本发明的实施例描述了用于将球形投影渲染为立方体贴图的计算机***和方法,其减轻了在立方体贴图的边缘附近的非均匀像素密度,以避免伪像并提高渲染性能。
Description
相关申请的交叉引用
本申请要求申请日为2018年3月21日,序列号为62/646,248,案号为NVID-P-WU-16-0056US0,题目为“用于球形投影的均匀密度立方体贴图渲染(UNIFORM DENSITY CUBEMAP RENDERING FOR SPHERICAL PROJECTIONS)”的优先权和权益,其全部内容通过引用并入本文。
技术领域
本发明的实施例总地涉及计算机图形领域。更具体地,本发明的实施例涉及用于将球形投影渲染为立方体贴图的***和方法。
背景技术
立方体贴图(cube map)可以用于利用预先计算的纹理图像来确定表面(例如,反射表面)的外观。例如,立方体贴图可以用于存储物体周围的环境的图像。在这种情况下,周围的环境被渲染到立方体贴图中。用于将球形投影渲染到立方体贴图中的传统方法倾向于对立方体贴图的角落或边缘附近的区域进行过采样,从而浪费计算资源并降低性能。
将球形投影渲染为立方体贴图是反射映射、全向阴影贴图和用于光捕获探针的环境贴图的领域中的关键技术。立方体贴图的过采样区域经常导致视觉变形和伪影。同时,尽管整个剪切空间(clip space)范围通常用于渲染立方体贴图面,但由于球面的透视变形,在光栅化期间实际上仅需要球面的像素的子集来实现期望的后投影结果。
渲染球形投影的现有方法利用不同的映射尺寸和几何形状来减轻非均匀像素分布的影响,例如八面体映射,其使用八个面来捕获和存储周围环境。其他技术包括抛物面映射、金字塔映射和八面体映射。然而,这些技术在渲染和评估时都不利于性能。
发明内容
立方体贴图用于存储可以将其应用于改变所渲染表面或对象的外观的图像。例如,立方体贴图中的图像可以表示周围的场景或环境。当使用传统技术将球形投影渲染为立方体贴图时,可能会发生过采样和图像变形,尤其是在立方体贴图的边缘和角落附近。
所需要的是一种用于将球形投影渲染为立方体贴图的技术,其减轻了立方体贴图的边缘附近的非均匀像素密度,以避免伪像并提高渲染性能。因此,本文公开了用于将球形投影渲染为具有相对均匀的像素密度的立方体贴图的方法和装置。
本发明的实施例将立方体贴图的面划分为象限面,并且为每个象限面指派视口。第一变换函数用于确定投影到象限面上的世界空间顶点的坐标,这导致不均匀的像素密度。可以基于变换的坐标使用多视口渲染来同时渲染视口的视图。此后,使用第二变换函数将渲染视图扩展到立方体贴图的面中,该第二变换函数产生具有更均匀像素密度的立方体贴图。以这种方式,减轻了立方体贴图边缘附近的非均匀像素密度,以避免伪像并提高渲染性能。立方体贴图可以存储在计算机存储器中,并且随后在场景的渲染期间对其进行访问。例如,可以访问立方体贴图以使用阴影贴图或环境贴图来渲染场景。
根据一个实施例,一种用于将球形投影渲染为立方体贴图的方法,包括:将立方体贴图的至少一个立方体面划分为象限面,将视口指派给象限面,确定投射到象限面上的世界空间顶点的坐标,使用所述坐标渲染多个视口的视图,其中所述视图包括所述顶点,并将视图扩展到至少一个立方体面上,其中扩展到至少一个立方体面上的视图具有近似均匀的像素密度。
根据一些实施例,使用下列计算确定投影到象限面上的顶点的位置: 其中{u,v}表示坐标,以及其中{x,y}表示在各自的象限面内的顶点的笛卡尔坐标。
根据一些实施例,执行第一渲染传递以确定投影到象限面上的世界空间顶点的坐标,并且执行第二渲染传递以将视图扩展到至少一个立方体面中。
根据一些实施例,将下列计算用于将视图扩展到立方体面上:其其中|β|==|α|,其中w表示透视值。
附图的简要说明
包含在本说明书中并形成其一部分的附图示出了本发明的实施例,并且与说明书一起用于解释本发明的原理:
图1是根据本发明实施例的用于将球形投影渲染为具有均匀像素密度的立方体贴图的示例性计算机***的框图。
图2A是具有六个立方体面的示例性“展开的”立方体贴图的示意图。
图2B是根据本发明的实施例描绘的将示例性立方体贴图面划分成象限的的示意图。
图2C是具有均匀像素密度的个体立方体贴图面的示例性渲染目标的示意图。
图2D是根据本发明实施例的使用变换函数从3D球体投影到2D平面上的示例性立方体贴图面的示意图。
图2E是根据本发明的实施例的使用变换函数将示例性立方体面投影变换(例如,展开)为2D屏幕空间的示意图,该变换函数确定3D立方体贴图面投影的“最佳拟合”表示。
图2F是描绘示例性立方体贴图和变形的球形投影的示意图。
图2G是根据本发明的实施例的描绘示例性立方体贴图面的投影剪切空间的示意图。
图3是根据本发明的实施例的描绘使用最佳拟合方法将立方体面投影变换为2D屏幕空间的示意图。
图4是根据本发明的实施例的用于将球形投影渲染为具有所描绘均匀像素密度的立方体贴图的计算机实现的步骤的示例性序列的流程图。
图5是根据本发明的实施例的用于将球形投影渲染为具有所描绘的均匀像素密度的立方体贴图的框图和数据流程图。
详细描述
现在将详细参考若干实施例。虽然将结合替代实施例描述主题,但是应该理解,它并不旨在将要求保护的主题限制为这些实施例。相反,所要求保护的主题旨在覆盖替代、修改和等同物,其可以包括在由所附权利要求限定的所要求保护的主题的精神和范围内。
此外,在以下详细描述中,阐述了许多具体细节以便提供对所要求保护的主题的透彻理解。然而,本领域技术人员将认识到,可以在没有这些具体细节或其等同物的情况下实践实施例。在其他情况下,没有详细描述众所周知的方法、过程、组件和电路,以免不必要地模糊本主题的方面和特征。
以方法的形式呈现和讨论以下详细描述的部分。尽管在本文描述该方法的操作的图(例如,图4)中公开了其步骤和顺序,但是这些步骤和顺序是示例性的。实施例非常适合于执行本文附图的流程图中记载的各种其他步骤或步骤的变体,并且以不同于本文所描绘和描述的顺序来执行。
在程序、步骤、逻辑块、处理和对在计算机存储器上执行的数据位的操作的其他符号表示方面来呈现详细描述的一些部分。这些描述和表示是数据处理领域的技术人员用来将他们工作的实质最有效地传达给本领域其他技术人员的手段。在这里通常将程序、计算机执行的步骤、逻辑块、过程等认为是导致期望结果的步骤或指令的自洽序列。这些步骤是需要物理操纵物理量的步骤。通常,尽管不是必须的,这些量采用能够在计算机***中存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。主要出于通用的原因,已经证明有时将这些信号称为比特、值、元素、符号、字符、项目、数字等是方便的。
然而,应该记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的便利标签。除非从以下讨论中明确说明,否则应当理解,在整个过程中,利用诸如“访问”、“写入”、“包括”、“存储”、“发送”、“遍历”、“关联”、“识别”等等术语的讨论,是指计算机***或类似电子计算设备的动作和过程,其将在计算机***的存储器和寄存器内表示为物理(电子)量的数据操纵和变换为在计算机***的存储器或寄存器或其他此类信息存储、传输或显示设备中类似地表示为物理量的其他数据。示例性计算机***
本发明的实施例涉及用于将球形投影渲染成立方体贴图的计算机***,该立方体贴图减轻了立方体贴图的边缘附近的非均匀像素密度以避免伪像并提高性能。以下讨论描述了这种示例性计算机***。
在图1的示例中,示例性计算机***112包括用于运行软件应用程序和可选地操作***的中央处理单元(CPU)101。随机存取存储器102和只读存储器103存储供CPU 101使用的应用程序和数据。数据存储设备104为应用程序和数据提供非易失性的存储,并且可以包括固定磁盘驱动器、可移除磁盘驱动器、闪存设备和CD-ROM、DVD-ROM或其他光学存储设备。可选的用户输入106和107包括将来自一个或更多个用户的输入传送到计算机***112的设备(例如,鼠标,操纵杆,照相机,触摸屏和/或麦克风)。
通信或网络接口108允许计算机***112经由电子通信网络(包括有线和/或无线通信以及包括内联网或因特网)与其他计算机***、网络或设备通信。显示设备110可以是能够响应于来自计算机***112的信号而显示视觉信息的任何设备,以及可以包括例如平板触敏显示器。计算机***112的组件,包括CPU101、存储器102/103、数据存储器104、用户输入设备106和图形子***105,可以经由一个或更多个数据总线100耦合。
在图1的实施例中,图形子***105可以与数据总线和计算机***112的组件耦合。图形***可以包括物理图形处理单元(GPU)105和图形/视频存储器。GPU 105可以包括一个或更多个光栅化器、变换引擎和几何引擎,以及从渲染命令生成像素数据以创建输出图像。物理GPU 105可以配置为多个虚拟GPU,其可以由并行执行的多个应用程序或进程并行(例如,同时)使用,或者可以同时使用多个物理GPU。图形子***105可以将显示数据输出到显示设备110。
图形子***105可以配置成执行多视口渲染,其中在单通道中渲染多个视口的场景。图形子***可以执行诸如基于笛卡尔坐标{x,y}的值确定投影立方体贴图面屏幕坐标{u,v},以及通过执行透视划分使用最佳拟合表示将立方体面投影展开为2D屏幕空间(例如,“剪切空间”)之类的操作,从而使得投影包括近似均匀的像素密度。根据一些实施例,图形子***105可以包括驻留在其中的专用立方体贴图纹理获取硬件,用于快速且有效地获取立方体贴图纹理。
可以在由一个或更多个计算机或其他设备执行的计算机可执行指令(例如程序模块)的一般上下文中描述一些实施例。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,在各种实施例中,可以根据需要组合或分发程序模块的功能。
示例性立方体贴图面渲染
参考图2A,描绘了具有六个立方体面的示例性“展开的”立方体贴图210。尽管可以使用任何方位,但为方便起见,立方体面标有上侧、底部、左侧、右侧、前侧和后侧。立方体贴图210可操作为存储图像,该图像随后可在渲染期间应用于对象以改变对象的外观。例如,可以将诸如周围场景或环境的球形投影捕获到立方体贴图中以在渲染场景期间使用。当使用传统渲染技术将球形投影渲染为立方体贴图210时,对立方体贴图的角落或边缘附近的区域过采样,从而浪费计算资源并降低性能。此外,立方体贴图的过采样区域经常导致视觉变形和伪像。当用于表示球形投影时,本发明的实施例可以呈现立方体贴图210的面的最佳拟合表示,以实现更均匀的像素密度。
参考图2B,根据本发明的实施例描绘了将示例性立方体贴图面220划分为象限。在此示例中,视口VP1指派给左上象限,视口VP2指派给右上象限,视口VP3指派给左下象限,视口VP4指派给右下象限。如下面详细描述的,本发明的实施例确定投影到象限上的顶点的位置,并且渲染从视口的角度看的视图。根据一些实施例,使用配置用于多视口渲染的硬件基本上同时地渲染视口。随后,使用立方体贴图面的最佳拟合表示来将经渲染的立方体面投影展开为2D屏幕空间(例如,“剪切空间”),以实现更均匀的像素密度。
关于图2C,描绘了个体立方体贴图面230的示例性渲染目标。立方体贴图面230包括具有完全均匀的像素密度的多个像素,这意味着立方体贴图面230的中心附近的像素232的尺寸与渲染目标的角落附近的像素234的尺寸相同。换句话说,立方体贴图面230不会变形或不会倾向于过采样。
参考图2D,根据本发明的实施例使用稍后描述的变换函数将图2C中描绘的立方体贴图面230从3D球体投影到2D平面上。3D球体表示周围环境或场景。以这种方式,球形投影可以作为立方体贴图编码和/或存储在存储器中。如图2B所示,得到的立方体面投影240变形并显示不均匀的像素密度。具体地,与投影中心附近的像素相比,像素更小并且在投影的角和边缘附近更紧密地分组。例如,立方体面投影240的中心附近的像素242看起来比立方体面投影240的角部附近的像素244大。
图2E描绘了根据本发明实施例的、使用确定立方体贴图面投影的“最佳拟合”表示250的变换函数将来自图2D的立方体面投影240变换(例如,展开或扩展)到2D屏幕空间中的剪切或倾斜平面。如图2E所示,与图2D的立方体面投影240相比,所展开的最佳拟合表示250显示更均匀的像素密度。例如,在所展开的最佳拟合表示250的中心附近的像素252与在立方体面投影240的角落附近的像素254大小近似相同。
图2F描绘了投射到示例性球形投影265上的示例性立方体贴图260。当使用传统渲染技术渲染球形投影265时,对立方体贴图的角落或边缘(例如,角落261)附近的区域过采样,从而浪费计算资源并降低性能。此外,立方体贴图的过采样区域经常导致视觉变形和伪像(例如,变形266)。因此,根据本发明的实施例,立方体贴图260的面的最佳拟合表示用于实现用于表示球形投影的更均匀的像素密度,并且将所得到的投影进行变换以减轻所述伪影。
图2G描绘了示例性立方体贴图面的投影剪切空间271。当渲染立方体贴图面时,通常将整个剪切空间范围{1,-1}用于渲染。然而,由于球面的透视变形,可以使用屏幕坐标{u,-u}的范围来执行光栅化,以实现相同的后投影结果。例如,从面向球形投影270的观察者275的角度来看,仅需要屏幕坐标{u,-u}之间的球形投影的部分用于光栅化。可以跳过屏幕坐标{1,u}和{-u,-1}之间的球形投影的区域,从而减轻过采样并改善光栅化期间的性能。
示例性立方体贴图面变换和最佳拟合展开
如上所述,变换函数可用于确定投影到立方体贴图面或其象限面上的世界空间顶点的坐标。变换函数使用方程I从笛卡尔坐标中确定所投影的立方体贴图面的坐标:
基于笛卡尔坐标{x,y}的值,方程I确定投影的立方体贴图面屏幕坐标{u,v}。如上面参考图2B所述,所得到的立方体面投影220是变形的并且具有不均匀的像素密度。随后,通过执行透视划分以使投影包括近似均匀的像素密度(方程II),来使用3D立方体贴图面投影的最佳拟合表示,将立方体面投影展开为2D屏幕空间(例如,“矩阵投影”)以到剪切或倾斜平面。
图3描绘了根据本发明的实施例的用于变换立方体面投影310以用于2D屏幕空间的示例性最佳拟合方法。确定α的值,使得为立方体贴图渲染正确配置变换函数。这可以通过在展开的投影320内找到球形投影310的最佳拟合来实现。根据一些实施例,确定α的值,以使得球形投影310在{x,y}={0.5,1.0}处接触展开的投影320,如图3所示,其中剪切空间的范围为从0到1。在图3中,将{u,v}的值确定为{0.333,0.666},并且α=0.3333。
根据一些实施例,α的值通过计算来确定。类似地可以确定β的值:α和β值是用于将世界空间顶点投影到表面上的剪切投影系数。这里,α和β值用于确定最佳拟合,以便将展开的投影内部的球形投影相对于象限面的最外角(见图3)进行拟合。使用图3的例子,α的值可以通过计算确定。根据一些实施例,确定α和β值,使得立方体面象限累积地表示总球面投影的方位角和仰角的90度范围。根据一些实施例,当投影是对称的(例如对于立方体贴图球形投影)时,α的绝对值等于每个相应视口的β的绝对值。
w的值表示相对于顶点的深度的宽度(例如,透视),并且w的值在距离视口最远的投影平面的点处等于1。可以针对一个视口确定最佳拟合,并且随后将其(例如,横向地)应用于剩余视口。或者,可以针对每个视口独立地计算最佳拟合。根据一些实施例,将每个立方体贴图面划分为象限,并且为每个象限指派视口。
参考图4,根据本发明的实施例描绘了用于将球形投影渲染为具有相对均匀的像素密度的立方体贴图的计算机实现的步骤400的示例性序列。当将球形投影渲染为立方体贴图时,步骤400防止立方体贴图的边缘和角附近的过采样,以改善渲染性能和图像质量。
在步骤401中,将立方体贴图的六个面分成相等尺寸的象限(例如,象限面)。在步骤402中,将视口指派给象限。例如,可以为每个象限指派一个视口,每个立方体贴图总共24个视口。在步骤403中,确定投影到三维坐标系(例如,世界空间)中的象限上的顶点的坐标。投影顶点{u,v}的坐标位置可以使用以下公式确定: 该步骤导致具有不均匀像素密度的变形的立方体面投影。
在步骤404中,渲染从视口的角度看的视图。在此阶段,视口的各个视图变形并且具有不均匀的像素密度。在步骤405中,使用3D立方体贴图面的最佳拟合表示,将变形的立方体面投影展开/扩展为2D屏幕空间(例如,“剪切空间”)。应用变换函数,以使得2D投影包括近似均匀的像素密度,并且所将得到的展开的和未变形的视图存储在立方体贴图的面中。公式可用于将视图扩展(例如,变换或展开)到立方体面上,其中在步骤406中,将得到的立方体贴图存储在计算机存储器中。随后,可以执行查找操作以使用立方体贴图确定场景的值,其中立方体贴图是例如阴影贴图或环境贴图,并且可以根据上述值来渲染场景。
参考图5,根据本发明的实施例描绘了用于将球形投影渲染为具有均匀像素密度的立方体贴图的示例性框图和数据流程图500。将表示周围环境的3D场景数据510馈送到几何引擎520。几何引擎520应用变换(例如,顶点着色、曲面细分等)并生成所有视口的输出。变换引擎530可以执行诸如基于笛卡尔坐标{x,y}的值确定投影立方体贴图面屏幕坐标{u,v}(方程I),以及通过执行透视划分使用最佳拟合表示将立方体面投影展开到2D屏幕空间(例如,“剪切空间”)(方程II)以使得投影包括近似均匀的像素密度之类的操作。所得到的具有几乎均匀的像素密度的立方体贴图可以存储在计算机存储器中并用于渲染一个或更多个几何图元。使用光栅化器540对图元进行光栅化以创建用于显示的帧缓冲图像(例如,位图)。将光栅化图像输出到显示设备550以供显示。
根据本发明的一些实施例,立方体贴图是用于光捕获探针的环境贴图。根据其他实施例,立方体贴图是全向阴影贴图。根据其他实施例,立方体贴图用于确定用于光计算的像素或纹理像素的辐射值。
根据一些实施例,使用立方体贴图纹理获取硬件来执行对由本发明的实施例生成的立方体贴图执行的查找操作。根据一些实施例,立方体贴图纹理获取硬件是GPU的组件。
因此这里描述了本发明的实施例。虽然已经在特定实施例中描述了本发明,但是应该理解,不应该将本发明解释为受这些实施例的限制,而是应该根据所附权利要求来解释。
Claims (21)
1.一种用于将球形投影渲染为立方体贴图的计算机实现的方法,所述方法包括:
将立方体贴图的至少一个立方体面划分成象限面;
将视口指派给所述向象限面;
确定投影到所述象限面上的世界空间顶点的坐标;
使用所述坐标渲染所述视口的视图,其中所述视图包括所述顶点;以及
将所述视图扩展到所述至少一个立方体面,其中扩展到所述至少一个立方体面的所述视图包括近似均匀的像素密度。
2.如权利要求1所述的方法,其中使用以下变换函数来执行所述确定投影到所述象限面上的世界空间顶点的坐标:
其中{u,v}代表所述坐标,以及其中进一步{x,y}代表在各自的象限面内的顶点的笛卡尔坐标。
3.如权利要求2所述的方法,进一步包括:
执行第一渲染传递以确定投射到所述象限面上的世界空间顶点的所述坐标;以及
执行第二渲染传递以将所述视图扩展到所述至少一个立方体面。
4.如权利要求2所述的方法,其中使用以下变换函数来执行所述将所述视图扩展到所述至少一个立方体面:
其中其中|β|==|α|,其中{u,v}表示投影到所述象限面上的顶点,其中w表示透视值,以及其中进一步{x,y}表示在各自的象限面内的顶点的笛卡尔坐标。
5.如权利要求1所述的方法,进一步包括使用所述立方体贴图渲染场景,并且其中所述立方体贴图包括来自一组贴图中的至少一个贴图,所述一组贴图包括:
环境贴图;和
阴影贴图。
6.如权利要求1所述的方法,其中将配置用于多视图渲染的图形处理器单元(GPU)硬件用于执行所述渲染所述视口的视图。
7.如权利要求1所述的方法,进一步包括将所述立方体贴图存储在计算机***的存储器中。
8.一种用于将球形投影渲染成立方体贴图的计算机***,所述计算机***包括:
存储器,可操作用于存储应用程序的数据和指令;
处理器,配置成执行所述指令以控制三维(3D)环境的渲染;以及
图形处理单元,通信地耦合到所述存储器和所述处理器,其中所述图形处理单元被配置成响应于所述指令执行将球形投影渲染成立方体贴图的方法,所述渲染的方法包括:
将所述立方体贴图的至少一个立方体面划分为象限面;
将视口指派给所述象限面;
确定投射到所述象限面上的世界空间顶点的坐标;
使用所述坐标渲染所述视口的视图,其中所述视图包括所述顶点;以及
将所述视图扩展到所述至少一个立方体面中,其中扩展到所述至少一个立方体面中的所述视图的像素密度是近似均匀的。
9.如权利要求8所述的计算机***,其中使用以下变换函数来执行所述确定投影到所述象限面上的世界空间顶点的坐标:
其中{u,v}代表所述坐标,以及其中进一步{x,y}代表在各自的象限面内的顶点的笛卡尔坐标。
10.如权利要求9所述的计算机***,其中所述方法进一步包括:
执行第一渲染传递以确定投射到所述象限面上的世界空间顶点的所述坐标;以及
执行第二渲染传递以将所述视图扩展到所述至少一个立方体面。
11.如权利要求9所述的计算机***,其中所述将所述视图扩展到所述立方体面包括执行计算:
其中其中|β|==|α|,其中{u,v}表示投影到所述象限面的顶点,其中w表示透视值,以及其中进一步{x,y}表示在各自的象限面内的顶点的笛卡尔坐标。
12.如权利要求8所述的计算机***,其中所述方法进一步包括使用所述立方体贴图渲染场景,并且其中所述立方体贴图包括来自一组贴图的至少一个贴图,所述一组贴图包括:
环境贴图;和
阴影贴图。
13.如权利要求8所述的计算机***,其中将配置用于多视图渲染的所述图形处理单元的硬件用于执行所述渲染所述视口的视图。
14.如权利要求8所述的计算机***,进一步包括将所述至少一个立方体面作为立方体贴图存储在所述存储器内。
15.一种非暂时性计算机可读介质,包括多个程序化的指令,其当由在计算设备中的处理器执行时,可操作为执行将球形投影渲染为立方体贴图,所述程序化的指令包括:
将所述立方体贴图的至少一个立方体面划分成象限面的指令;
将视口指派给所述象限面的指令;
确定投影在所述象限面上的世界空间顶点的坐标的指令;
使用所述坐标渲染多个视口的视图的指令,其中所述视图包括所述顶点;以及
将所述视图扩展到所述至少一个立方体面上的指令,其中扩展到所述至少一个立方体面上的所述视图包括近似均匀的像素密度。
16.如权利要求15所述的非暂时性计算机可读介质,其中用于确定投影到所述象限面上的世界空间顶点的坐标的所述指令包括用于执行以下变换函数的指令:
其中{u,v}代表所述坐标,以及其中进一步{x,y}代表在各自的象限面内的顶点的笛卡尔坐标。
17.如权利要求16所述的非暂时性计算机可读介质,其中所述程序化指令进一步包括用于执行第一渲染传递以确定投影到所述象限面上的所述世界空间顶点的坐标的指令,和用于执行第二渲染传递以将所述视图扩展到所述至少一个立方体面的指令。
18.如权利要求16所述的非暂时性计算机可读介质,其中用于将所述视图扩展到所述至少一个立方体面的所述指令包括用于执行以下变换函数的指令:
其中其中|β|==|α|,其中{u,v}表示投影到所述象限面的顶点,其中w表示透视值,以及其中进一步{x,y}表示在各自的象限面内的顶点的笛卡尔坐标。
19.如权利要求15所述的非暂时性计算机可读介质,其中所述立方体贴图包括来自一组贴图的至少一个贴图,所述一组贴图包括:
环境贴图;和
阴影贴图。
20.如权利要求15所述的非暂时性计算机可读介质,其中所述程序化指令进一步包括用于使用配置用于多视图渲染的图形处理器单元(GPU)硬件执行所述指令以渲染所述视口的视图的指令。
21.如权利要求15所述的非暂时性计算机可读介质,进一步包括用于将所述至少一个立方体面作为立方体贴图存储在计算机***的存储器中的指令。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862646248P | 2018-03-21 | 2018-03-21 | |
US62/646,248 | 2018-03-21 | ||
US16/353,178 US11145108B2 (en) | 2018-03-21 | 2019-03-14 | Uniform density cube map rendering for spherical projections |
US16/353,178 | 2019-03-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110335335A true CN110335335A (zh) | 2019-10-15 |
Family
ID=67985453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910219033.8A Pending CN110335335A (zh) | 2018-03-21 | 2019-03-21 | 用于球面投影的均匀密度立方体贴图渲染 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11145108B2 (zh) |
CN (1) | CN110335335A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543345A (zh) * | 2020-12-02 | 2021-03-23 | 深圳创维新世界科技有限公司 | 图像处理方法、发送端、接收端以及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7259760B1 (en) * | 2000-02-16 | 2007-08-21 | Be Here Corporation | Polygonal curvature mapping to increase texture efficiency |
US20080284797A1 (en) * | 2000-12-07 | 2008-11-20 | Ilookabout Inc. | System and method for registration of cubic fisheye hemispherical images |
CN102254340A (zh) * | 2011-07-29 | 2011-11-23 | 北京麒麟网信息科技有限公司 | 一种基于gpu加速的环境光遮挡图像绘制方法及*** |
CN102768765A (zh) * | 2012-06-25 | 2012-11-07 | 南京安讯网络服务有限公司 | 实时点光源软阴影渲染方法 |
US8553028B1 (en) * | 2007-10-29 | 2013-10-08 | Julian Michael Urbach | Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices |
CN104781852A (zh) * | 2012-09-21 | 2015-07-15 | 欧克里德私人有限公司 | 用于渲染三维场景的计算机绘图方法 |
CN106575448A (zh) * | 2014-10-10 | 2017-04-19 | 艾维解决方案有限公司 | 激光扫描数据的图像渲染 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPM701394A0 (en) | 1994-07-22 | 1994-08-18 | Monash University | A graphical display system |
US6753870B2 (en) | 2002-01-30 | 2004-06-22 | Sun Microsystems, Inc. | Graphics system configured to switch between multiple sample buffer contexts |
US8111264B2 (en) * | 2006-03-30 | 2012-02-07 | Ati Technologies Ulc | Method of and system for non-uniform image enhancement |
KR100988872B1 (ko) * | 2009-07-08 | 2010-10-20 | 주식회사 나노포토닉스 | 회전 대칭형의 광각 렌즈를 이용하여 복합 영상을 얻는 방법과 그 영상 시스템 및 하드웨어적으로 영상처리를 하는 이미지 센서 |
JP5481337B2 (ja) * | 2010-09-24 | 2014-04-23 | 株式会社東芝 | 画像処理装置 |
US9836816B2 (en) * | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
GB2551426B (en) * | 2016-04-18 | 2021-12-29 | Avago Tech Int Sales Pte Lid | Hardware optimisation for generating 360° images |
US10771791B2 (en) * | 2016-08-08 | 2020-09-08 | Mediatek Inc. | View-independent decoding for omnidirectional video |
US10620441B2 (en) * | 2016-12-14 | 2020-04-14 | Qualcomm Incorporated | Viewport-aware quality metric for 360-degree video |
US10958942B2 (en) * | 2017-02-27 | 2021-03-23 | Koninklijke Kpn N.V. | Processing spherical video data |
US10643301B2 (en) * | 2017-03-20 | 2020-05-05 | Qualcomm Incorporated | Adaptive perturbed cube map projection |
US10904571B2 (en) * | 2017-05-25 | 2021-01-26 | Vid Scale, Inc. | Hybrid cubemap projection for 360-degree video coding |
-
2019
- 2019-03-14 US US16/353,178 patent/US11145108B2/en active Active
- 2019-03-21 CN CN201910219033.8A patent/CN110335335A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7259760B1 (en) * | 2000-02-16 | 2007-08-21 | Be Here Corporation | Polygonal curvature mapping to increase texture efficiency |
US20080284797A1 (en) * | 2000-12-07 | 2008-11-20 | Ilookabout Inc. | System and method for registration of cubic fisheye hemispherical images |
US8553028B1 (en) * | 2007-10-29 | 2013-10-08 | Julian Michael Urbach | Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices |
CN102254340A (zh) * | 2011-07-29 | 2011-11-23 | 北京麒麟网信息科技有限公司 | 一种基于gpu加速的环境光遮挡图像绘制方法及*** |
CN102768765A (zh) * | 2012-06-25 | 2012-11-07 | 南京安讯网络服务有限公司 | 实时点光源软阴影渲染方法 |
CN104781852A (zh) * | 2012-09-21 | 2015-07-15 | 欧克里德私人有限公司 | 用于渲染三维场景的计算机绘图方法 |
CN106575448A (zh) * | 2014-10-10 | 2017-04-19 | 艾维解决方案有限公司 | 激光扫描数据的图像渲染 |
Non-Patent Citations (2)
Title |
---|
孟晓宁等: "图形处理中GPU固定渲染管线的研究", 《集成电路应用》 * |
邢建芳等: "面向体三维显示器的图形算法设计", 《南京航空航天大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112543345A (zh) * | 2020-12-02 | 2021-03-23 | 深圳创维新世界科技有限公司 | 图像处理方法、发送端、接收端以及计算机可读存储介质 |
CN112543345B (zh) * | 2020-12-02 | 2023-01-06 | 深圳创维新世界科技有限公司 | 图像处理方法、发送端、接收端以及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11145108B2 (en) | 2021-10-12 |
US20190295310A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083538B2 (en) | Variable resolution virtual reality display system | |
KR101964611B1 (ko) | 곡선 뷰포트 상으로 정점의 투영을 근접시키는 것에 의해 그래픽스를 처리할 때 스크린 위치에 따른 유효 해상도의 가변 | |
JP3294149B2 (ja) | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 | |
US8035641B1 (en) | Fast depth of field simulation | |
KR101145260B1 (ko) | 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치 | |
CN108230435B (zh) | 采用立方图纹理的图形处理 | |
US9367943B2 (en) | Seamless fracture in a production pipeline | |
CN112313713A (zh) | 生成合成图像和/或基于合成图像训练(一个或多个)机器学习模型 | |
Mori et al. | Efficient use of textured 3D model for pre-observation-based diminished reality | |
US8854392B2 (en) | Circular scratch shader | |
JP2012190428A (ja) | 立体映像視覚効果処理方法 | |
JP2005275646A (ja) | 3次元描画モデル生成方法、3次元モデル描画方法及びそのプログラム | |
JP3959862B2 (ja) | テクスチャマッピング方法及びその装置 | |
CN110335335A (zh) | 用于球面投影的均匀密度立方体贴图渲染 | |
JP2004199301A (ja) | 画像加工装置 | |
JP2023527438A (ja) | リアルタイム深度マップを用いたジオメトリ認識拡張現実効果 | |
JP4987890B2 (ja) | 立体画像描画装置、立体画像描画方法、立体画像描画プログラム | |
JP2003233836A (ja) | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 | |
KR101227155B1 (ko) | 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법 | |
WO2018151612A1 (en) | Texture mapping system and method | |
KR100848687B1 (ko) | 3차원 그래픽 처리 장치 및 그것의 동작 방법 | |
JP6235926B2 (ja) | 情報処理装置、生成方法、プログラム及び記録媒体 | |
US10453247B1 (en) | Vertex shift for rendering 360 stereoscopic content | |
Sung | Efficient Shadow Generation of Massive Crowds Based on the Area of Screen Space | |
Moritsu et al. | Disparity mapping technique and fast rendering technique for image morphing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191015 |
|
WD01 | Invention patent application deemed withdrawn after publication |