CN112106339A - 位移下的后向面片剔除 - Google Patents
位移下的后向面片剔除 Download PDFInfo
- Publication number
- CN112106339A CN112106339A CN201880086208.6A CN201880086208A CN112106339A CN 112106339 A CN112106339 A CN 112106339A CN 201880086208 A CN201880086208 A CN 201880086208A CN 112106339 A CN112106339 A CN 112106339A
- Authority
- CN
- China
- Prior art keywords
- patch
- displacement
- control point
- computer
- corner control
- 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.)
- Granted
Links
Images
Classifications
-
- 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/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- 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/04—Texture mapping
-
- 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/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
当建立用于渲染的复杂网格时,使用经扩展以考虑简单网格的位移(500)的参数切平面技术对图形对象的后向面片(200)进行剔除(612)以免镶嵌。
Description
技术领域
本申请总体上涉及在从具有较低频率细节的网格到较高频率细节的位移的条件下对后向图形面片(patch)进行剔除。
背景技术
当在例如计算机游戏中渲染图形对象时,根据图形艺术家提供的模型来渲染对象。为了在渲染期间促进更好的性能、存储器使用和灵活性,艺术家可以提供对象的简单模型以及标量位移数据结构(或“纹理”),该标量位移数据结构指示简单模型中的对象的各个部分在表面法线方向上的用以达到最终的更复杂的对象模型的位移。“标量”是指位移的单个值,它隐含地表示在表面法线方向上的位移量,与矢量位移相对,矢量位移是在3D矢量中编码位移的方向和大小。
在位移之前,简单模型的表面通常用小三角形填充或“镶嵌”,然后将位移应用于简单模型,以达到艺术家所设想的复杂的最终对象模型。
从图形的仿真有利点(或“相机位置”)看到对象的某些部分(“面片”),而其他面片从视图中隐藏。特别地,在封闭对象的情况下,网格面向相机位置一侧的面片会遮挡那些背离相机位置的面片。在这个背景下,看到的面片称为前向,而看不到的面片称为后向。更一般地,面片的朝向是指法线是否与相机的视线矢量方向相同。请注意,通常还会指定卷绕顺序(顺时针或逆时针),这决定了如何完成叉积来确定法线的算作前向的一侧。
认识到不需要对后向面片进行镶嵌以节省处理时间,已提供了对后向面片进行剔除以免镶嵌的技术。当使用硬件镶嵌进行渲染时,这样做特别有利,因为如果镶嵌因子较高,则任何面片都可能潜在地产生大量的域着色器工作。
在镶嵌之前对后向面片进行剔除的两种技术是法线锥和参数切平面(PTP)。
发明内容
如本文所理解的,与使用法线锥相比,PTP通常导致更多的面片剔除。PTP用于指示对象的哪些面片是后向的(用于剔除)和哪些是前向的(且因此将不从镶嵌中剔除)。Loop等人在“Effective Back-Patch Culling for Hardware Tessellation”,Vision,Modeling,and Visualization(2011)中描述了PTP技术,其已在本文件历史记录中公开,并通过引用并入本文。
如本文中进一步理解的,当将位移应用于简单模型时,在简单模型中的由PTP从镶嵌剔除的后向面片实际上可能在应用位移之后包含一些前向部分,因为面片的边界在其移位时改变。这就是说,最终渲染对象中可能会出现明显的间隙或孔,这是由于应用了位移后过度剔除导致的。因此,本发明的原理将PTP技术扩展到进行位移而不会对在位移后可能包含前向部分的面片进行剔除,与其他技术相比,本发明仍然有利地提供了较高的剔除率,而没有大量的运行时成本。
因此,一种装置包括至少一个计算电路,该至少一个计算电路被配置为接收数据输入并生成输出。该电路被配置为在对与至少一个位移图相关联的图形对象面片进行镶嵌之前,从该位移图接收数据。该电路被配置为,对于图形对象面片中的至少第一面片,使用在相应的拐角控制点和该面片中的最接近相应的拐角控制点的控制点之间的叉积来计算该面片的四根法线,每根法线在每个面片拐角控制点处。使用每根法线,根据来自位移图的数据将面片中的最接近相应的拐角控制点的控制点移位,以创建两个新面片,一个界定正位移范围并且一个界定负位移范围。该电路被配置为确定任一新面片的参数切平面中的任何系数是否是前向的,并且响应于确定任一新面片中的系数是前向的,对第一面片进行镶嵌。另一方面,响应于确定任一新面片中没有系数是前向的,对第一面片进行剔除以免镶嵌。
在示例中,计算电路确定是否针对图形程序的多个帧中的每个帧对图形对象的多个面片进行镶嵌。
在示例中,计算机电路至少部分地由计算着色器建立。可以将计算着色器实现为在显卡(例如,计算机游戏控制台的显卡)上运行。
在实现方式中,拐角控制点不被移位,并且仅最接近相应的拐角控制点的控制点被移位。
在另一方面,一种计算机游戏控制台包括与至少一个图形处理单元(GPU)相关联的至少一个显卡。GPU被配置为执行包括以下各项的过程:接收图形对象的多个部分,并且对于每个部分,将第一位移信息应用于该部分的一些而不是全部控制点,以计算第一位移范围。由GPU执行的过程还包括:对于每个部分,将第二位移信息应用于该部分的一些而不是全部控制点,以计算第二位移范围。该过程包括:响应于确定位移范围中的至少一个的PTP是前向的,对该部分应用着色;以及响应于确定两个位移范围的PTP都不是前向的,不对该部分应用着色。
在另一方面,一种方法包括:接收位移信息,以及使用经扩展以考虑位移信息的PTP技术对图形对象的后向面片进行剔除以免镶嵌。
本申请的关于其结构和操作两者的细节可以参考附图得到最好的理解,在附图中相同的附图标号指代相同的部分,并且在附图中:
附图说明
图1是包括根据本发明原理的示例的示例系统的框图;
图2是在镶嵌后的双三次贝塞尔面片的示意图;
图3是图2所示面片的示意图,以粗线示出了控制笼;
图4是经旋转以朝向后方且因此由于已通过PTP技术进行了剔除而不被镶嵌的图2中的面片的示意图;
图5是应用了位移的图2的面片的示意图;
图6是根据本发明原理的示例逻辑的流程图;
图7示意性地示出了为便于描述而编号的控制点;以及
图8示出了从图2所示的面片的定向开始的正位移和负位移范围;以及
图9示出了从图4的定向开始的正和负位移范围,其中经扩展的PTP技术不再对面片进行剔除。
具体实现方式
本公开总体上涉及计算机生态系统,其包括消费性电子产品(CE)装置网络的各方面,诸如但不限于:分布式计算机游戏网络、视频广播、内容递送网络、虚拟机和机器学习应用。
本文的系统可以包括服务器和客户端部件,所述服务器和客户端部件通过网络连接,使得可以在客户端与服务器部件之间交换数据。客户端部件可以包括一个或多个计算装置,所述一个或多个计算装置包括游戏控制台(诸如Sony)和相关母板、便携式电视(例如智能TV、支持互联网的TV)、便携式计算机(诸如膝上型计算机和平板计算机)以及其他移动装置(包括智能电话和下文所论述的另外的示例)。这些客户端装置可以以各种操作环境操作。例如,客户端计算机中的一些可以采用例如Orbis或Linux操作系统、来自Microsoft的操作系统、或Unix操作系统、或由Apple公司或Google生产的操作系统。这些操作环境可以用于执行一个或多个浏览程序,诸如由Microsoft或Google或Mozilla制造的浏览器,或者可以访问由下文所论述的互联网服务器托管的网站的其他浏览器程序。此外,根据本发明原理的操作环境可以用于执行一个或多个计算机游戏程序。
服务器和/或网关可以包括执行指令的一个或多个处理器,所述指令将服务器配置为通过诸如互联网的网络接收和传送数据。或者,客户端和服务器可以通过本地内联网或虚拟专用网络连接。服务器或控制器可以由游戏控制台和/或其一个或多个母板(诸如Sony 个人计算机等)进行实例化。
信息可以通过网络在客户端与服务器之间进行交换。为此并且为了安全起见,服务器和/或客户端可以包括防火墙、负载平衡器、临时存储装置和代理以及用于可靠性和安全性的其他网络基础设施。一个或多个服务器可以形成实现向网络成员提供诸如在线社交网站的安全社区的方法的设备。
如本文所使用,指令是指用于在系统中处理信息的计算机实现的步骤。指令可以在软件、固件或硬件中实现,并且包括由系统的部件实施的任何类型的已编程步骤。
处理器可以是可借助于诸如地址线、数据线和控制线的各种线以及寄存器和移位寄存器执行逻辑的任何常规通用的单芯片处理器或多芯片处理器。
通过本文的流程图和用户接口描述的软件模块可以包括各种子例程、程序等。在不限制本公开的情况下,陈述为由特定模块执行的逻辑可以被再分配到其他软件模块和/或一起组合在单个模块中和/或使得在可共享库中可用。
本文所述的本发明原理可以实现为硬件、软件、固件或其组合;因此,说明性部件、框、模块、电路和步骤依据其功能性加以阐述。
除上文已经提到的内容之外,下文所述的逻辑块、模块和电路可以用被设计来执行本文所述功能的通用处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其他可编程逻辑装置(诸如专用集成电路(ASIC)、离散门或晶体管逻辑、离散硬件部件或其任何组合)来实现或执行。处理器可以由控制器或状态机或计算装置的组合实现。
下文描述的功能和方法可以以硬件电路或软件电路实现。当以软件实现时,功能和方法可以用诸如但不限于Java、C#或C++的适当语言编写,并且可以存储在计算机可读存储介质上或通过计算机可读存储介质传输,所述计算机可读存储介质诸如随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)或其他光盘存储装置(诸如数字通用光盘(DVD))、磁盘存储装置或包括可移除拇指驱动器的其他磁存储装置等。连接可以建立计算机可读介质。此类连接可以包括例如硬连线电缆,包括光纤和同轴线以及数字用户线(DSL)和双绞线。此类连接可以包括无线通信连接,包括红外和无线电。
一个实施方案中所包括的部件可以以任何适当的组合用于其他实施方案中。例如,可以将本文所述和/或附图中所描绘的各种部件中的任一者组合、互换或从其他实施方案排除。
“具有A、B和C中的至少一者的系统”(类似地,“具有A、B或C中的至少一者的系统”和“具有A、B、C中的至少一者的系统”)包括以下系统:仅具有A;仅具有B;仅具有C;同时具有A和B;同时具有A和C;同时具有B和C;和/或同时具有A、B和C等。
现在具体地参考图1,示出了示例系统10,其可包括上文所提及和下文根据本发明原理进一步描述的示例装置中的一者或多者。系统10中所包括的示例装置中的第一者是消费性电子产品(CE)装置,诸如音频视频装置(AVD)12,所述音频视频装置12诸如但不限于具有TV调谐器(等同地,控制TV的机顶盒)的支持互联网的TV。然而,AVD 12替代地可以是器具或家用物品,例如,计算机化的支持互联网的冰箱、洗涤器或干燥器。AVD 12替代地也可以是计算机化的支持互联网的(“智能”)电话、平板计算机、笔记本计算机、可穿戴计算机化装置(诸如例如计算机化的支持互联网的手表、计算机化的支持互联网的手环)、其他计算机化的支持互联网的装置、计算机化的支持互联网的音乐播放器、计算机化的支持互联网的耳机、计算机化的支持互联网的可植入装置(诸如可植入皮肤装置)等。无论如何,应理解,AVD 12被配置为实施本发明原理(例如,与其他CE装置进行通信以实施本发明原理、执行本文所述的逻辑并且执行本文所述的任何其他功能和/或操作)。
因此,为了实施此类原理,AVD 12可以由图1所示的部件中的一些或全部建立。例如,AVD 12可以包括一个或多个显示器14,所述一个或多个显示器14可由高清晰度或超高清晰度(“4K”)或更高的平面屏幕实现,并且可以是支持触摸的,以用于通过显示器上的触摸来接收用户输入信号。AVD 12可以包括:一个或多个扬声器16,其用于根据本发明原理输出音频;以及至少一个另外的输入装置18(诸如例如音频接收器/传声器),其用于例如向AVD 12输入可听命令以控制AVD 12。示例AVD 12还可以包括一个或多个网络接口20,其用于在一个或多个处理器的控制下通过至少一个网络22(诸如互联网、WAN、LAN等)进行通信。因此,接口20可以是但不限于Wi-Fi收发器,所述Wi-Fi收发器是无线计算机网络接口的示例,诸如但不限于网状网络收发器。此外,应注意,网络接口20可以是例如有线或无线调制解调器或路由器或其他适当接口(诸如例如无线电话收发器或如上所提及的Wi-Fi收发器等)。
应理解,一个或多个处理器控制AVD 12来实施本发明原理,包括本文所述的AVD12的其他元件,诸如例如控制显示器14来在显示器上呈现图像和从显示器接收输入。一个或多个处理器可以包括中央处理单元(CPU)24以及显卡25A上的图形处理单元(GPU)25。GPU可以与使用例如DirectX 11风格的高级着色语言以软件实现的计算着色器相关联。
除前述内容之外,AVD 12还可以包括一个或多个输入端口26,诸如例如用于物理地连接(例如,使用有线连接)到另一个CE装置的高清晰度多媒体接口(HDMI)端口或USB端口和/或用于将耳机连接到AVD 12以用于通过耳机将来自AVD 12的音频呈现给用户的耳机端口。例如,输入端口26可以经由有线或无线地连接到音频视频内容的有线或卫星源26a。因此,源26a可以是例如单独的或集成的机顶盒或卫星接收器。或者,源26a可以是包含内容的游戏控制台或磁盘播放器,所述内容可以被用户视为用于下文进一步描述的信道分配目的的最喜爱之物。源26a在实现为游戏控制台时可以包括下文关于CE装置44描述的部件中的一些或全部,并且可以实现本文描述的逻辑中的一些或全部。
AVD 12还可以包括不是暂时性信号的一个或多个计算机存储器28,诸如基于磁盘的存储装置或固态存储装置,所述一个或多个计算机存储器28在一些情况下在AVD的机壳中体现为独立装置,或者体现为AVD的机壳内部或外部的用于回放AV节目的个人视频记录装置(PVR)或视盘播放器,或者体现为可移除存储器介质。此外在一些实施方案中,AVD 12可以包括定位或位置接收器(诸如但不限于手机接收器、GPS接收器和/或高度计30),所述定位或位置接收器被配置为例如从至少一个卫星或手机塔接收地理定位信息并且向处理器24提供所述信息和/或结合处理器24确定AVD 12被设置处于的高度。然而,应理解,根据本发明原理,可以使用除手机接收器、GPS接收器和/或高度计之外的另一个合适的定位接收器来例如确定AVD 12在例如所有三个维度中的位置。
继续AVD 12的描述,在一些实施方案中,根据本发明原理,AVD 12可以包括一个或多个相机32,所述一个或多个相机32可以是例如热成像相机、数字相机(诸如网络摄像头)和/或集成到AVD 12中并且可由处理器24控制来收集图片/图像和/或视频的相机。AVD 12上还可以包括蓝牙收发器34和其他近场通信(NFC)元件36,其用于分别使用蓝牙和/或NFC技术与其他装置进行通信。示例NFC元件可以是射频识别(RFID)元件。
更进一步地,AVD 12可以包括向处理器24提供输入的一个或多个辅助传感器37(例如,运动传感器诸如加速度计、陀螺仪、回转计或磁传感器、红外(IR)传感器、光学传感器、速度和/或节奏传感器、手势传感器(例如,用于感测手势命令)等)。AVD 12可以包括空中TV广播端口38,其用于接收向处理器24提供输入的OTA TV广播。除前述内容之外,应注意,AVD 12还可以包括红外(IR)发射器和/或IR接收器和/或IR收发器42,诸如IR数据关联(IRDA)装置。可以提供电池(未示出)以用于为AVD 12供电。
仍参考图1,除AVD 12之外,系统10还可以包括一个或多个其他CE装置类型。在一个示例中,第一CE装置44可以用于经由通过下述服务器发送的命令控制显示器,而第二CE装置46可以包括与第一CE装置44类似的部件并因此将不对其进行详细论述。在所示的示例中,示出仅两个CE装置44、46,应理解,可以使用更少或更大的装置。如以上所述,CE装置44/46和/或源26a可以由游戏控制台实现。或者,CE装置44/46中的一个或多个可以由以商标Google ChromecastTM、出售的装置实现。CE装置可以由数字助理建立,其示例在下文进一步示出和描述。
在所示的示例中,为了说明本发明原理,假设所有三个装置12、44、46都是例如家中娱乐网络的成员,或至少在诸如房屋的某一位置中彼此接近地存在。然而,本发明原理不限于由虚线48所示的特定位置,除非另有明确要求。
示例的非限制性第一CE装置44可以由上述装置(例如,数字助理、便携式无线膝上型计算机或笔记本计算机或游戏控制器(也称为“控制台”))中的任何一者来建立,并因此可以具有下文所述部件中的一个或多个。第二CE装置46非限制性地可以由诸如蓝光播放器的视盘播放器、游戏控制台等来建立。第一CE装置44可以是用于例如将AV播放和暂停命令发布到AVD 12的遥控装置(RC),或者它可以是更复杂的装置,诸如平板计算机、通过有线或无线链路与由第二CE装置46实现的游戏控制台通信并且控制AVD 12上的视频游戏呈现的游戏控制器、个人计算机、无线电话等。
因此,第一CE装置44可以包括可以是支持触摸的以用于通过显示器上的触摸来接收用户输入信号的一个或多个显示器50。第一CE装置44可以包括:一个或多个扬声器52,其用于根据本发明原理输出音频;以及至少一个另外的输入装置54(诸如例如音频接收器/传声器),其用于例如向第一CE装置44输入可听命令以控制装置44。示例第一CE装置44还可以包括一个或多个网络接口56,其用于在一个或多个CE装置处理器58的控制下通过网络22进行通信。因此,接口56可以是但不限于Wi-Fi收发器,所述Wi-Fi收发器是无线计算机网络接口的示例,包括网状网络接口。应理解,处理器58控制第一CE装置44来实施本发明原理,包括本文所述的第一CE装置44的其他元件,诸如例如控制显示器50来在显示器上呈现图像和从显示器接收输入。此外,应注意,网络接口56可以是例如有线或无线调制解调器或路由器或其他适当接口(诸如例如无线电话收发器或如上所提及的Wi-Fi收发器等)。
除前述内容之外,第一CE装置44还可以包括一个或多个输入端口60,诸如例如用于物理地连接(例如,使用有线连接)到另一个CE装置的HDMI端口或USB端口和/或用于将耳机连接到第一CE装置44以用于通过耳机将来自第一CE装置44的音频呈现给用户的耳机端口。第一CE装置44还可以包括一个或多个有形计算机可读存储介质62,诸如基于磁盘的存储装置或固态存储装置。此外在一些实施方案中,第一CE装置44可以包括定位或位置接收器(诸如但不限于手机和/或GPS接收器和/或高度计64),所述定位或位置接收器被配置为例如使用三角测量从至少一个卫星和/或手机塔接收地理定位信息并且向CE装置处理器58提供所述信息和/或结合CE装置处理器58确定第一CE装置44被设置处于的高度。然而,应理解,根据本发明原理,可以使用除手机和/或GPS接收器和/或高度计之外的另一个合适的定位接收器来例如确定第一CE装置44在例如所有三个维度中的位置。
继续第一CE装置44的描述,在一些实施方案中,根据本发明原理,第一CE装置44可以包括一个或多个相机66,所述一个或多个相机66可以是例如热成像相机、数字相机(诸如网络摄像头)和/或集成到第一CE装置44中并且可由CE装置处理器58控制来收集图片/图像和/或视频的相机。第一CE装置44上还可以包括蓝牙收发器68和其他近场通信(NFC)元件70,其用于分别使用蓝牙和/或NFC技术与其他装置进行通信。示例NFC元件可以是射频识别(RFID)元件。
更进一步地,第一CE装置44可以包括向CE装置处理器58提供输入的一个或多个辅助传感器72(例如,运动传感器诸如加速度计、陀螺仪、回转计或磁传感器、红外(IR)传感器、光学传感器、速度和/或节奏传感器、手势传感器(例如,用于感测手势命令)等)。第一CE装置44可以包括向CE装置处理器58提供输入的其他传感器,诸如例如一个或多个气候传感器74(例如,气压计、湿度传感器、风传感器、光传感器、温度传感器等)和/或一个或多个生物计量传感器76。除前述内容之外,应注意,在一些实施方案中,第一CE装置44还可以包括红外(IR)发射器和/或IR接收器和/或IR收发器78,诸如IR数据关联(IRDA)装置。可以提供电池(未示出)以用于为第一CE装置44供电。CE装置44可以通过上述通信模式和相关部件中的任一者与AVD 12进行通信。
第二CE装置46可以包括针对CE装置44示出的部件中的一些或全部。任一个或两个CE装置可以由一个或多个电池供电。
现在参考前述至少一个服务器80,它包括至少一个服务器处理器82、至少一个有形计算机可读存储介质84(诸如基于磁盘的存储装置或固态存储装置)。在实现方式中,介质84包括一个或多个固态存储驱动器(SSD)。根据本发明原理,服务器还包括至少一个网络接口86,所述至少一个网络接口86允许通过网络22与图1的其他装置进行通信,并且实际上可以促进服务器与客户端装置之间的通信。应注意,网络接口86可以是例如有线或无线调制解调器或路由器、Wi-Fi收发器或其他适当接口(诸如例如无线电话收发器)。网络接口86可以是远程直接存储器访问(RDMA)接口,其将介质84直接连接到诸如所谓的“结构”的网络而无需通过服务器处理器82。所述网络可以包括以太网网络和/或光纤信道网络和/或无线带宽网络。通常,服务器80包括多个计算机中的多个处理器,其称为可布置在物理服务器“堆栈”中的“刀片”。
因此,在一些实施方案中,服务器80可以是互联网服务器或整个“服务器场”,并且可以包括并执行“云”功能,使得在用于例如网络游戏应用、数字助理应用等的示例实施方案中,系统10的装置可以通过服务器80访问“云”环境。或者,服务器80可以由一个或多个游戏控制台或与图1所示的其他装置位于同一房间中或附近的其他计算机来实现。
在转向图2以及下列等等之前,如果面片的参数切平面的任何部分都不是前向的,则可以将“面片”(本质上是要渲染的对象模型的一部分)分类为后向。因此,参数切平面(PTP)技术可以用于确定面片是前向的还是后向的。不是直接评估切平面,而是可以通过检查切平面的任何系数是否是前向来在例如图1中的GPU 25上高效地完成该测试。参数切平面的系数通过执行面片的控制点的加权和来计算。该技术在上文引用的文献中进行了描述,并且有利地具有高的剔除率,并且可以优化为快速的。
考虑到上文所述,现在参考图2,其示出了在镶嵌(由三角形202指示)后的标准双三次贝塞尔前向面片200。面片200通常是由艺术家提供的简单模型的面片,该艺术家还可以提供位移“纹理”,该位移“纹理”限定了如何改变简单模型(通常在镶嵌之后)以产生用于渲染的复杂的对象模型。
在图3中,示意性地示出了覆盖在面片200上的控制笼300。控制笼300由相对粗的线302表示,并且影响镶嵌表面的形状。控制笼线302的交叉点304限定了面片200的控制点。在所示示例中,限定了十六(16)个控制点304。这些控制点是如下文将更全面地描述的参数切平面计算的输入。在示例非限制性实现方式中,通过细分由艺术家产生的网格的简单版本并从细分的极限表面提取面片来描述面片。提取是可能的,因为可以将极限表面解释为一组双三次B样条面片,其可以被直接渲染或转换为其他形式,诸如贝塞尔。控制笼也可以手动限定。
为了说明的目的,图4示出了旋转为后向的面片200。请注意,未绘制镶嵌的部分,因为能够通过检查参数切平面的系数来剔除面片,这表明面片是后向的,且因此已剔除以免镶嵌。
为了促进对本发明原理如何扩展PTP剔除技术以与位移一起工作的理解,图5示出了具有对其应用示例位移的面片200。在所示的示例中,位移包括部分500,该部分500相对较远地延伸出图3所示的原始控制笼300的边界之外,且因此在进行参数切平面计算时不能考虑到它(因为计算的唯一输入是原始控制点)。
图6示出了用于说明位移的示例逻辑。从框600处开始,可以在预处理中对期望的位移图(通常由创建模型的艺术家提供)进行采样,以确定每个面片的位移范围。这是为了在剔除时建立严格的边界,因为如果每个面片的位移未知,则剔除率可能会很差。请注意,在所示的示例中,通过分别在面片上沿法线方向找到最大位移和在面片上沿与法线相反的方向找到最大位移来获得每个面片的正和负位移,以创建新的面片来为位移范围定界。
在运行时,例如,在通过诸如本文所述的那些中的任何之类的计算机游戏控制台渲染诸如计算机游戏之类的图形程序期间,要渲染的每个面片在绘制之前在框602处被加载到例如计算着色器中。如前所述,计算着色器可以在显卡25A上实现。
在框604处,通过例如计算着色器来计算面片的四根法线。在实现方式中,对于四个拐角控制点中的每一个计算四根法线。在一个示例中,这可以通过在拐角控制点矢量和拐角的直接相邻控制点矢量之间的简单叉积来执行。
图7示出了。假定使用图3所示的原始笼300,其中限定了十六个控制点。为了说明,图7为这些控制点编号,如图所示。编号为0、3、12和15的控制点是拐角控制点。使用控制点0、1和4的叉积来计算拐角0处的法线。使用分别与点2、3、7(用于控制点3)、11、14、15(用于控制点15)以及8、12和13(用于控制点12)相关联的叉积来类似地计算点3、12和15的法线。
一旦确定了控制点法线,图6的逻辑就移动到框606,在该框606中,拐角控制点法线用于通过框600处所识别出的位移范围来将它们的相应最接近的非拐角控制点移位。最接近的非拐角控制点两次移位(在正方向上,然后在负方向上),以创建两个新面片,这些新面片形成围绕原始面片200的凸包。如上所述,可以在框606处使用在面片上沿法线方向的最大位移和在面片上沿与法线相反的方向的最大位移。
因此,对于拐角控制点0,拐角控制点0保持原样,并且点4、5和1(距拐角控制点0最接近的相邻控制点)在拐角控制点0处的法线方向上移位了所述范围。类似地,拐角控制点3保持原样,并且点2、6和7(距拐角控制点3最接近的相邻控制点)在拐角控制点3处的法线方向上移位了所述范围,拐角控制点15保持原样,并且点10、11和14(距拐角控制点15最接近的相邻控制点)在拐角控制点15处的法线方向上移位了所述范围,以及拐角控制点12保持原样,并且点8、9和13(距拐角控制点12最接近的相邻控制点)在拐角控制点12处的法线方向上移位了所述范围。
因此,拐角控制点保持“锚定”,就像它们在位移之前一样,并且仅最接近相应的拐角控制点的内部控制点被移位。
图8和图9示出了将控制点从两个不同的定向在正和负范围移位的结果,以从第一定向渲染笼形图800并从第二定向渲染笼形图900以供说明。请注意,正范围是在凸起周围向上延伸的大笼子。在图8中,在所示的示例面片中,负范围小得多,但可以看到它稍微低于面片平面。在图9中,正范围仍是带有大凸起的一侧,因为正或负是相对于表面法线而言。在图9中可以更清楚地看到该负范围,该图9示出了面片相对于法线稍微移位。无论如何,图9示出了旋转面片时,它不再被错误地剔除。
返回图6,不是使用PTP检查原始笼200,而是可以通过针对图8和图9中所示的两个新笼子进行检查来完成位移下的剔除。注意,出于讨论目的,此处将“笼子”指代为强调新面片由图示中新笼子的控制点限定。这些附图中镶嵌的面片仍然是原始面片。该图示未示出新面片的镶嵌,因为新面片仅用作计算剔除的中间物,而从未实际绘制为表面。
更具体地,进行到判定菱形框608,在第一位移上实施PTP以确定正位移面片的PTP的任何系数是否指示前向。如果在检查正位移中没有系数指示前向,则逻辑可以移动到判定菱形框610以确定在负位移面片上实施的PTP的任何系数是否指示前向。如果负位移中没有系数指示前向,则逻辑可以移动到框612以对该面片进行剔除不进行镶嵌。另一方面,如果任一位移的任何控制点的任何系数指示前向,则在框612处不对该面片进行剔除,从而对其进行镶嵌。如果如在判定菱形框614处确定的那样处理了帧的所有面片,则如框616所指示处理下一个帧;否则,在框618处访问帧中的下一个面片,并且该过程循环回到框602以加载下一个面片。
因此,在示例中,运行时的过程可以由诸如之类的游戏控制台上的计算着色器执行。在每个帧的开始,检查每个面片以进行剔除。这允许计算着色器在相机围绕场景移动或网格在场景内移动时动态剔除。在框612处仅发送通过剔除的面片以进行绘制。
本文中的方法可以实现为由处理器、适当配置的专用集成电路(ASIC)或现场可编程门阵列(FPGA)模块或如本领域技术人员将理解的任何其他便利方式执行的软件指令。在采用的情况下,软件指令可以体现在非暂时性装置(诸如CD ROM或闪存驱动器)中。软件代码指令可以替代地体现在诸如无线电或光学信号的暂时性布置中,或者经由通过互联网进行的下载。
应理解,虽然已经参考一些示例实施方案描述了本发明原理,但这些实施方案并不意图为限制性的,并且可使用各种替代布置来实现本文所要求保护的主题。
Claims (20)
1.一种装置,其包括:
至少一个计算电路,所述至少一个计算电路被配置为接收数据输入并生成输出,所述电路被配置为:
在对与至少一个位移图相关联的图形对象面片进行镶嵌之前,从所述位移图接收数据;
对于所述图形对象面片中的至少第一面片:
使用在相应的拐角控制点和所述面片中的最接近所述相应的拐角控制点的控制点之间的叉积来计算所述面片的四根法线,每根法线在每个面片拐角控制点处;
使用每根法线,根据来自所述位移图的数据将所述面片中的最接近所述相应的拐角控制点的所述控制点移位,以创建两个新面片,一个是正位移并且一个是负位移;
确定任一新面片的参数切平面的任何系数是否是前向的;
响应于确定任一新面片中的系数是前向的,对所述第一面片进行镶嵌;以及
响应于确定任一新面片中没有系数是前向的,不对所述第一面片进行镶嵌。
2.如权利要求1所述的装置,其中所述计算电路确定是否针对图形程序的多个帧中的每个帧对所述图形对象的多个面片进行镶嵌。
3.如权利要求1所述的装置,其中所述计算机电路至少部分由计算着色器建立。
4.如权利要求3所述的装置,其中所述计算着色器由显卡来实现。
5.如权利要求4所述的装置,其包括包含所述显卡的计算机游戏控制台。
6.如权利要求1所述的装置,其中不将所述拐角控制点移位,并且仅将最接近相应的拐角控制点的控制点移位。
7.一种计算机游戏控制台,其包括:
至少一个显卡,所述至少一个显卡与至少一个图形处理单元(GPU)相关联,所述GPU被配置为执行包括以下各项的过程:
接收图形对象的多个部分;
对于每个部分,将第一位移信息应用于所述部分的一些而不是全部控制点,以计算第一位移范围;
对于每个部分,将第二位移信息应用于所述部分的一些而不是全部控制点,以计算第二位移范围;
响应于确定所述位移范围中的至少一个的参数切平面(PTP)是前向的,对所述部分应用着色;以及
响应于确定两个位移范围的PTP都不是前向的,不对所述部分应用着色。
8.如权利要求7所述的计算机游戏控制台,其中所述逻辑通过执行计算着色器来执行。
9.如权利要求7所述的计算机游戏控制台,其中所述部分是面片。
10.如权利要求7所述的计算机游戏控制台,其中所述第一位移信息为正,并且所述第二位移信息为负。
11.如权利要求9所述的计算机游戏控制台,其中所述过程包括:
对于至少第一面片:
使用在相应的拐角控制点和所述面片中的最接近所述相应的拐角控制点的控制点之间的叉积来计算所述第一面片的四根法线,每根法线在每个面片拐角控制点处;
使用每根法线,根据所述第一位移信息将所述面片中的最接近所述相应的拐角控制点的所述控制点移位;以及
使用每根法线,根据所述第二位移信息将所述面片中的最接近所述相应的拐角控制点的所述控制点移位。
12.如权利要求7所述的计算机游戏控制台,其中确定所述位移范围中的至少一个的PTP是前向的包括确定所述位移范围中的至少一个的任何系数是否指示前向。
13.如权利要求7所述的计算机游戏控制台,其中不将每个部分的拐角控制点移位,并且仅将最接近相应的拐角控制点的控制点移位。
14.一种计算机实现的方法,其包括:
接收位移信息;以及
使用经扩展以考虑所述位移信息的参数切平面(PTP)技术对图形对象的后向面片进行剔除以免镶嵌。
15.如权利要求14所述的计算机实现的方法,其包括在用于渲染所述图形对象的运行时间之前接收所述位移信息。
16.如权利要求14所述的计算机实现的方法,其中剔除以免镶嵌包括:
对于所述图形对象面片中的至少第一面片:
计算所述面片的四根法线,每根法线在每个面片拐角控制点处。
17.如权利要求16所述的计算机实现的方法,其中计算四根法线是使用在相应的拐角控制点和所述面片中的最接近所述相应的拐角控制点的控制点之间的叉积来执行。
18.如权利要求17所述的计算机实现的方法,其包括:
使用每根法线,根据来自位移图的数据将所述面片中的最接近所述相应的拐角控制点的所述控制点移位,以创建两个新面片,一个是正位移并且一个是负位移。
19.如权利要求18所述的计算机实现的方法,其包括:
确定任一新面片的参数切平面的任何系数是否是前向的。
20.如权利要求19所述的计算机实现的方法,其包括:
响应于确定任一新面片中的系数是前向的,对所述第一面片进行镶嵌;以及
响应于确定任一新面片中没有系数是前向的,不对所述第一面片进行镶嵌。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/868,537 | 2018-01-11 | ||
US15/868,537 US10846914B2 (en) | 2018-01-11 | 2018-01-11 | Back-facing patch culling with displacement |
PCT/US2018/061918 WO2019139676A1 (en) | 2018-01-11 | 2018-11-20 | Back-facing patch culling with displacement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112106339A true CN112106339A (zh) | 2020-12-18 |
CN112106339B CN112106339B (zh) | 2022-09-16 |
Family
ID=67140918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880086208.6A Active CN112106339B (zh) | 2018-01-11 | 2018-11-20 | 位移下的后向面片剔除 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10846914B2 (zh) |
EP (1) | EP3738300A4 (zh) |
JP (1) | JP2021511574A (zh) |
CN (1) | CN112106339B (zh) |
WO (1) | WO2019139676A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570504B (zh) * | 2019-09-06 | 2020-12-01 | 北京航天宏图信息技术股份有限公司 | 闭合符号绘制方法、装置、电子设备及存储介质 |
CN112489203B (zh) * | 2020-12-08 | 2024-06-04 | 网易(杭州)网络有限公司 | 模型处理方法、模型处理装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06231272A (ja) * | 1992-10-15 | 1994-08-19 | Sun Microsyst Inc | グラフィック・プリミティブを表現する方法および装置並びにコンピュータ装置 |
US20040227755A1 (en) * | 2003-05-12 | 2004-11-18 | Adrian Sfarti | Bicubic surface real-time tesselation unit |
US20110080405A1 (en) * | 2009-10-07 | 2011-04-07 | Henry Packard Moreton | Hermite gregory patch for watertight tessellation |
US20110175911A1 (en) * | 2010-01-15 | 2011-07-21 | Microsoft Corporation | Rendering parametric surface patches |
CN102194250A (zh) * | 2011-05-19 | 2011-09-21 | 北京中科辅龙计算机技术股份有限公司 | 基于流程工厂参数模型的复杂场景快速绘制方法及系统 |
CN102214369A (zh) * | 2010-04-07 | 2011-10-12 | 英特尔公司 | 移位参数曲面的分层包围 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1067757A1 (en) | 1999-07-09 | 2001-01-10 | Hewlett-Packard Company | Curled surface imaging system |
US7200532B1 (en) * | 2002-06-14 | 2007-04-03 | University Of Kentucky Research Foundation | Subdivision surface-based geometric modeling system |
US6954204B2 (en) * | 2002-07-18 | 2005-10-11 | Nvidia Corporation | Programmable graphics system and method using flexible, high-precision data formats |
US8331615B2 (en) | 2007-08-01 | 2012-12-11 | The Board Of Trustees Of The University Of Illinois | Match, expand, and filter technique for multi-view stereopsis |
US8284240B2 (en) | 2008-08-06 | 2012-10-09 | Creaform Inc. | System for adaptive three-dimensional scanning of surface characteristics |
US8375295B2 (en) * | 2009-05-21 | 2013-02-12 | Sony Computer Entertainment Inc. | Customization of GUI layout based on history of use |
AU2013267004A1 (en) * | 2013-12-04 | 2015-06-18 | Canon Kabushiki Kaisha | Method, apparatus and system for tessellating a parametric patch |
GB2518019B (en) * | 2013-12-13 | 2015-07-22 | Aveva Solutions Ltd | Image rendering of laser scan data |
GB2526359B (en) * | 2014-05-23 | 2020-07-22 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2533443B (en) * | 2015-06-05 | 2018-06-06 | Imagination Tech Ltd | Tessellation method using recursive sub-division of triangles |
-
2018
- 2018-01-11 US US15/868,537 patent/US10846914B2/en active Active
- 2018-11-20 WO PCT/US2018/061918 patent/WO2019139676A1/en unknown
- 2018-11-20 CN CN201880086208.6A patent/CN112106339B/zh active Active
- 2018-11-20 EP EP18899565.8A patent/EP3738300A4/en active Pending
- 2018-11-20 JP JP2020538824A patent/JP2021511574A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06231272A (ja) * | 1992-10-15 | 1994-08-19 | Sun Microsyst Inc | グラフィック・プリミティブを表現する方法および装置並びにコンピュータ装置 |
US20080049018A1 (en) * | 2000-07-28 | 2008-02-28 | Adrian Sfarti | Bicubic Surface Real Time Tesselation Unit |
US20040227755A1 (en) * | 2003-05-12 | 2004-11-18 | Adrian Sfarti | Bicubic surface real-time tesselation unit |
US20110080405A1 (en) * | 2009-10-07 | 2011-04-07 | Henry Packard Moreton | Hermite gregory patch for watertight tessellation |
US20110175911A1 (en) * | 2010-01-15 | 2011-07-21 | Microsoft Corporation | Rendering parametric surface patches |
CN102214369A (zh) * | 2010-04-07 | 2011-10-12 | 英特尔公司 | 移位参数曲面的分层包围 |
CN102194250A (zh) * | 2011-05-19 | 2011-09-21 | 北京中科辅龙计算机技术股份有限公司 | 基于流程工厂参数模型的复杂场景快速绘制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019139676A1 (en) | 2019-07-18 |
EP3738300A4 (en) | 2021-10-20 |
CN112106339B (zh) | 2022-09-16 |
US20190213783A1 (en) | 2019-07-11 |
JP2021511574A (ja) | 2021-05-06 |
US10846914B2 (en) | 2020-11-24 |
EP3738300A1 (en) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10653943B2 (en) | Variable magnetic field-based position | |
US10181089B2 (en) | Using pattern recognition to reduce noise in a 3D map | |
US20180252815A1 (en) | 3D Depth Map | |
US20190143221A1 (en) | Generation and customization of personalized avatars | |
CN112106339B (zh) | 位移下的后向面片剔除 | |
US20220258045A1 (en) | Attention-based ai determination of player choices | |
KR20220021444A (ko) | 홈 콘솔 및 클라우드 게이밍을 위한 확장 가능한 게임 콘솔 cpu/gpu 설계 | |
KR102551914B1 (ko) | 인터랙티브 객체 뷰어 생성 방법 및 시스템 | |
US11511190B2 (en) | Merge computer simulation sky box with game world | |
US20180081484A1 (en) | Input method for modeling physical objects in vr/digital | |
US11684852B2 (en) | Create and remaster computer simulation skyboxes | |
CN110121380B (zh) | 通过仿真进行重新录制 | |
US11915384B2 (en) | Estimation of optimal rasterization distortion function from image distortion property | |
US11689704B2 (en) | User selection of virtual camera location to produce video using synthesized input from multiple cameras | |
US11869118B2 (en) | Generating a synthetic ground-truth image using a dead leaves model | |
US20240104829A1 (en) | Using vector graphics to create 3d content | |
US20240236608A1 (en) | Transforming computer game audio using impulse response of a virtual 3d space generated by nerf input to a convolutional reverberation engine | |
WO2018093437A1 (en) | Embedding html-5 and javascript in user-data field of mpeg or avc transport stream | |
US11474620B2 (en) | Controller inversion detection for context switching | |
US20220394335A1 (en) | Smart media recommendations by events | |
JP2023540430A (ja) | 環境内にコンテンツを投影するためのシステム及び方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |