CN113313800A - 基于纹理的像素数确定 - Google Patents
基于纹理的像素数确定 Download PDFInfo
- Publication number
- CN113313800A CN113313800A CN202010123728.9A CN202010123728A CN113313800A CN 113313800 A CN113313800 A CN 113313800A CN 202010123728 A CN202010123728 A CN 202010123728A CN 113313800 A CN113313800 A CN 113313800A
- Authority
- CN
- China
- Prior art keywords
- depth information
- scene
- pass
- dimensional
- pixel
- 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
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/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本文公开了基于被视为关注对象的多维对象的纹理来确定多维数字环境中的关注对象的像素数的方法、系统和技术。在一个实施例中,执行渲染管线中的第一遍以渲染关注对象。确定关注对象的每个像素的深度信息。在渲染管线中执行第二遍以渲染整个场景。以第一预定颜色渲染每个关注对象,并确定场景内每个像素的第二深度信息。比较每个像素的第一深度信息和第二深度信息。当深度信息不同时,以第二预定颜色渲染像素。具有第一预定颜色的像素的总数确定为关注对象的像素数。
Description
技术领域
本发明的实施例通常涉及确定虚拟对象的像素数。更具体地,本发明的实施例涉及使用关注虚拟对象的纹理在计算机生成的多维环境中,确定关注虚拟对象的像素数。
背景技术
在许多使用计算机辅助可视化技术的不同领域中利用了多维计算机生成或模拟的环境。多维对象的像素数确定可用于确定所显示对象的大小,而视口空间可用于数据收集和/或分析。纹理通常是在多维(例如,三维)环境中施加到表面的图像。
然而当使用纹理渲染对象时,当前已知的实施例在确定关注对象上的像素数时效率低下或不准确。因此,需要能够克服上述识别的限制,并在多维环境中准确确定关注多维数字对象的像素数的系统、方法和技术。
发明内容
一个或多个计算机的系统可以配置为通过在系统上安装软件、固件、硬件或它们的组合来执行特定的操作或动作,该软件、固件、硬件或它们的组合在操作中引起或导致系统执行该动作。一个或多个计算机程序可以配置为通过包括指令来执行特定的操作或动作,该指令在由数据处理装置执行时致使该装置执行动作。一个总体方面包括一种方法,该方法包括:由图形处理器在渲染管线中执行第一遍,其中所述第一遍渲染多维对象,以确定在电子生成的多维数字环境的场景内的多维对象的每个像素的第一深度信息,并且该多维对象确定为关注对象。该方法还包括在渲染管线中执行第二遍,其中第二遍包括渲染整个场景,并且其中以第一预定颜色渲染多维对象,并且其中第二遍包括确定场景内每个像素的第二深度信息。该方法还包括比较场景内每个相应像素的第一深度信息和第二深度信息。该方法还包括当场景的每个像素的对应的第一深度信息和第二深度信息不同时,将场景中的每个像素的颜色改变为第二预定颜色。该方法还包括确定具有第一预定颜色的像素的总数,以确定在电子生成的多维环境的视口中的关注对象的像素数。该方面的其他实施例包括记录在一个或多个计算机存储装置上的相应的计算机系统、装置和计算机程序,每个计算机存储装置配置为执行该方法的动作。
实施例可以包括以下特征中的一个或多个。在任意实施例中,场景可以包括一组多维对象,其中该组多维对象中的每个多维对象确定为关注对象,并且其中第一预定颜色对于该组多维对象中的每个相应的多维对象都是唯一的,并从每个相应的多维对象的第一预定颜色是从一组颜色中选择的。其他实施方式可以包括使用第一着色器功能或程序来实施第一遍,并且使用第二着色器功能或程序来实施第二遍。在其他实施例中,比较场景内的每个像素的第一深度信息和第二深度信息包括将后处理滤波器应用于第二遍,其中后处理滤波器包括第一深度信息。在一个实施例中,第一遍导致基于第一深度信息产生具有第一纹理的场景,其中第一深度信息存储在与图形处理器相关联的存储器中。
在一个实施例中,每个像素的第一深度信息存储在与每个相应像素相关联的红色、绿色、蓝色或阿尔法分量中的至少一个中。在另一个实施例中,在第二遍期间由图形处理器的z缓冲区确定第二深度信息。在一个实施例中,还可以在第一遍中由图形处理器的z缓冲区确定深度信息。在又一个实施例中,以低分辨率执行渲染管线的第一遍和第二遍。在一个实施例中,在渲染管线期间不考虑场景光、透明或半透明的对象。在一个实施例中,第一深度信息或第二深度信息包括与像素距渲染场景的相机的距离有关的信息。在一个实施例中,在非照明模式下执行渲染。在又一个实施例中,第二预定颜色是黑色。在又一个实施例中,第一遍仅渲染关注对象。
在又一个实施例中,一种确定像素数的方法可以包括:由图形处理器执行着色器程序,以在当预定颜色作为输入参数传递时,以预定颜色渲染对象,其中,当不提供输入参数时,着色器程序配置为以另一预定颜色渲染对象。该方法还包括在将在多维数字环境中的场景中渲染的多维对象的渲染期间,将第一预定颜色作为输入参数传递给着色器程序,该多维对象确定为关注对象。该方法还包括在渲染不被视为关注对象的对象期间,不提供输入参数给着色器程序。该方法还包括执行以预定颜色渲染的像素数的计数。
所描述的技术的实现可以包括计算机可访问介质上的硬件、方法或程序或计算机软件。
附图说明
通过示例而非限制的方式在所附图纸的视图中示出了本发明,其中相似的附图标记指示相似的元件。
图1示出了根据本发明的一个实施例的系统100,其配置为基于渲染的纹理来确定多维数字环境中的多维对象的像素数的方法;
图2示出了根据本发明的一方面的场景200,其描述了多维数字环境中的示例性多维对象;
图3示出了根据本发明的一方面的渲染场景300,其基于纹理呈现场景200中显示的多维对象的彩色渲染,以确定多维数字环境中多维对象的像素数;
图4示出了根据本发明的一个实施例的流程图400,其描述了根据渲染物体的纹理来确定多维物体的像素数的操作;
图5是示出根据本发明的一个实施例的诸如处理系统500的数据处理系统的框图。
具体实施方式
将参考以下讨论的细节描述本发明的各种实施例和方面,并且附图将示出各种实施例。以下描述和附图是本发明的说明,且不应解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。然而,在某些情况下,为了提供对本发明的实施例的简要讨论,没有描述众所周知的或常规的细节。
在说明书中对“一个实施例”或“一个实施例”或“另一个实施例”的引用是指结合该实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定全都指同一个实施例。在以下附图中描绘的过程由包括硬件(例如,电路、专用逻辑等)、软件或两者的组合的处理逻辑执行。尽管下面根据一些顺序操作描述了这些过程,但是应当理解,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行执行而不是顺序执行。
尽管在屏幕坐标系中解释了示例性实施例,但是本发明的范围并不旨在限于常规渲染装置(例如,屏幕),而是可以包括多维渲染装置,包括虚拟和增强现实系统所需的接口。
在一个实施例中,可以确定与多维数字环境中的关注对象有关的可视纹理像素。关注对象可以是多维数字环境中需要确定其视口内像素数的任何多维对象。在一个实施例中,可以识别与围绕/包围多维对象的包围盒相关联的多维对象。在该实施例中,关注对象可以包括包容多维对象的包围盒。
如本文所指,材料通常定义如何渲染多维环境中的对象。着色器是程序、函数或脚本,可使用光流输入和材质配置来确定与渲染场景中每个像素有关的处理。这可以包括确定与每个像素有关的颜色信息或深度信息。本文所指的像素可以是常规像素、Texel(即具有纹理元素的像素)或本领域普通技术人员已知的任何其他图像/框架元素。纹理是应用于多维数字环境中任何对象表面的图像。
在各种实施例中,关注对象可以用独特的颜色着色。这允许计算给定颜色的像素数或面积。由于在多维数字环境中,从相机的角度看,多个对象似乎是重叠的,因此纹理获得了场景的最终表示,包括对象的遮挡和重叠。因此,如果用户直接注视放置在障碍物(例如,不透明的墙)后面的关注对象的方向,则纹理将不包括关注对象的任何像素。
图1示出了根据一个实施例的,用于确定在图形用户界面上显示的电子生成的多维环境的视口中的关注对象的像素计数的系统100。在一些实施例中,系统100可以包括一个或多个服务器102。服务器102可以配置为根据客户端/服务器架构和/或其他架构与一个或多个客户端计算平台104进行通信。客户端计算平台104可以配置为经由服务器102和/或根据对等架构和/或其他架构与其他客户端计算平台进行通信。用户可以通过客户端计算平台104访问系统100。
服务器102可以由机器可读指令106配置。机器可读指令106可以包括一个或多个指令模块。指令模块可以包括计算机程序模块。指令模块可以包括第一遍渲染模块108、第二遍渲染模块110、后处理模块112、像素计数确定模块113和/或其他指令模块中的一个或多个。在一个实施例中,渲染管线包括至少两遍(即场景被渲染两次)。
在该实施例中,第一遍渲染模块108可以配置为渲染场景中的关注对象,以确定第一遍期间的关注对象的深度蒙版。深度蒙版是一种纹理,它代替场景颜色包括有关物体与相机的放置距离的信息。该信息可以存储在深度图中,该深度图提供与多维数字环境中场景上呈现的每个像素有关的深度信息。在一个实施例中,在第一遍期间,仅渲染关注对象(即,不渲染场景的其余部分)。因此,所得到的纹理包括仅具有关注对象的场景的深度图。因此,在第一遍中,场景没有任何颜色信息。在一个实施例中,在第一遍之后渲染场景的每个像素的距离存储(或编码)在与每个像素相关联的红色、绿色、蓝色、阿尔法(RGBA)分量中的任何一个中。在一个实施例中,深度信息存储在与每个像素相关联的RGBA颜色信息的R分量内。
在一个实施例中,第一遍涉及使用着色器,该着色器确定仅具有关注对象的场景的深度图。在一个实施例中,着色器可以在第一遍渲染期间使用图形引擎的z缓冲区/深度缓冲区信息来确定场景的深度图。作为非限制性示例,当深度信息存储在RGBA颜色信息的R分量中时,每个像素的RGBA值将为(深度纹理,0、0、0)。
第二遍渲染模块110可以配置为渲染整个场景。在“第二遍”中,将使用其他着色器和材质渲染关注对象来渲染整个场景。在一个实施例中,该着色器可以是临时的。在一个实施例中,该着色器可以在非照明模式下以唯一的颜色绘制每个关注对象。在一个实施例中,可以预定与关注对象相关联的唯一颜色。在一个实施例中,当将关注对象加载到场景上时,在初始化阶段分配唯一的颜色。由于第二遍渲染整个图像,因此确定了场景中每个像素的深度纹理。在一个实施例中,所渲染场景的深度信息/纹理至少部分地由图形引擎在渲染期间所维持的z缓冲区(深度缓冲器)来确定。
在一个实施例中,在存储器中维持一列分配的颜色(即,已经分配给关注对象的颜色)。当已分配了唯一颜色的关注对象被卸载时(例如,当多维环境的场景发生更改时),分配的颜色将从该列分配的颜色中删除,使得它能在其他关注对象需要时被重复使用。
后处理模块112可以配置为应用后处理滤波器,以确定分配给每个关注对象的唯一颜色。在一个实施例中,可以使用着色器程序来实现后处理滤波器,该着色器可以接受纹理作为参数并返回另一纹理作为其输出。该着色器可以是单独的着色器,也可以是用于渲染第二遍的相同的着色器。过滤器可以包括根据第一遍确定的深度蒙版信息。
如果在第二遍深度纹理处的像素的深度等于在第一遍中确定的深度纹理,则假定该像素是关注对象的像素;像素颜色与对象的第二遍纹理颜色相同。但是,如果第二遍深度纹理与第一遍深度纹理不相等,则假定该像素属于场景的其余部分,并且将像素颜色替换为预定颜色(例如黑色),该预定颜色用于识别场景,但可用于关注对象。因此,可以基于关注对象在渲染纹理上的唯一颜色来确定关注对象。
像素计数模块113可以配置为对与每种唯一颜色相关联的像素数进行计数,以确定每个关注对象的像素计数。每种颜色的像素数确定每个关注对象的像素数。
在任何实施例中,与图形处理器相关联的“应用程序接口(API)”的能力可用于如上所述将图像渲染为目标纹理。在任何实施例中,具有低分辨率和非常低的图形设置的纹理可以用于优化目的。在一个实施例中,出于优化目的,不考虑场景光、透明或半透明的对象。
在一些实施例中,服务器102、客户端计算平台104和/或外部资源114可以经由一个或多个电子通信链路可操作地链接。例如,可以至少部分地经由诸如因特网和/或其他网络之类的网络来建立这样的电子通信链路。将理解的是,这不意图是限制性的,本公开的范围包括其中服务器102、客户端计算平台104和/或外部资源114可以经由一些其他通信介质可操作地链接的实施例。
给定的客户端计算平台104可以包括一个或多个配置为执行计算机程序模块的处理器。计算机程序模块可以配置为使得与给定的客户端计算平台104相关联的专家或用户能够与系统100和/或外部资源114对接,和/或提供本文归因于客户端计算平台104的其他功能。作为非限制性示例,给定的客户端计算平台104可以包括台式计算机、膝上型计算机、手持计算机、平板计算平、上网本、智能电话、游戏控制台和/或其他计算平台中的一个或多个。外部资源114可以包括系统100之外的信息源,参与系统100的外部实体和/或其他资源。在一些实施例中,本文归因于外部资源114的一些或全部功能可以由系统100中包括的资源来提供。
服务器102可以包括电子存储器116、一个或多个处理器118和/或其他组件。服务器102可以包括通信线路或端口,以使得能够与网络和/或其他计算平台交换信息。图1中的服务器102的图示不意图是限制性的。服务器102可以包括多个硬件、软件和/或固件组件,这些硬件、软件和/或固件组件一起操作以提供本文赋予服务器102的功能。例如,服务器102可以由一起作为服务器102运行的计算平台的云来执行。
电子存储装置116可以包括电子存储信息的非暂时性存储介质。电子存储装置116的电子存储介质可以包括与服务器102整体地(即,基本上不可移动的)提供的系统存储和/或经由服务器可移动地连接到服务器102的可移动存储中的一个或两个。例如,端口(例如USB端口、火线端口等)或驱动器(例如磁盘驱动器等)。电子存储装置116可以包括光学可读存储介质(例如光盘等)、磁性可读存储介质(例如磁带、磁性硬盘驱动器、软盘驱动器等)、基于电荷的存储介质(例如EEPROM、RAM等)、固态存储介质(例如闪存驱动器等)和/或其他电子可读存储介质中的一种或多种。电子存储装置116可以包括一个或多个虚拟存储资源(例如,云存储、虚拟专用网络和/或其他虚拟存储资源)。电子存储器116可以存储软件算法、由处理器118确定的信息、从服务器102接收的信息、从客户端计算平台104接收的信息和/或使服务器102能够执行本文描述的功能的其他信息。
处理器118可以配置为提供服务器102中的信息处理能力。这样,处理器118可以包括数字处理器、模拟处理器、设计用于处理信息的数字电路、设计用于处理信息的模拟电路、状态机和/或其他用于电子处理信息的机制中的一种或多种。尽管处理器118在图1中示出作为单个实体,但这仅用于说明目的。在一些实施例中,处理器118可以包括多个处理单元。这些处理单元可以物理上位于同一装置内,或者处理器118可以表示协同操作的多个装置的处理功能。处理器118可以配置为执行模块108、110、112、113和/或其他模块。
处理器118可以配置为通过软件;硬件;固件;软件、硬件和/或固件的某种组合和/或其他用于配置处理器118上处理能力的机制来执行模块108、110、112、113和/或其他模块。如本文所用,术语“模块”可以指代执行归因于模块的功能的任何组件或组件集。这可以包括在处理器可读指令、处理器可读指令、电路、硬件、存储介质或任何其他组件的执行期间的一个或多个物理处理器。
应当理解,尽管在图1中示出了模块108、110、112和/或113被实现为在单个处理单元内实现,但是在处理器118包括多个处理单元的实施例中,模块108、110、112和/或113中的一个或多个可以远离其他模块来实现。由以下描述的不同模块108、110、112和/或113提供的功能的描述是出于说明性目的,而不是要进行限制,因为模块108、110、112和/或113中的任何一个都可以提供比所描述的更多或更少的功能。例如,可以移除模块108、110、112和/或113中的一个或多个,并且其功能的一些或全部可以由模块108、110、112和/或113中的其他模块提供。例如,处理器118可以配置为执行一个或多个附加模块,这些模块可以执行以下归因于模块108、110、112和/或113之一的功能中的一些或全部。
图2示出了根据本发明的一方面的场景200,场景200描述了多维数字环境中的示例性多维对象。如图所示,在一个实施例中,视口空间202包括关注对象204和216。关注对象204和214的每一个可以是在多维数字环境中显示的多维数字对象/资产。在又一个实施例中,关注对象204可以包括多维对象206,并且还可以任选地包括包围资产206的包围盒208。类似地,关注对象216可以包括多维对象212,并且任选地包括包围多维对象/资产212的包围盒214。如图所示,场景200还可以包括其他多维对象210,这些其他多维对象210不被视为关注对象(在本文中也称为非关注对象)。
图3示出了根据本发明的一方面的渲染场景300,该渲染场景300基于纹理呈现场景200中显示的多维对象的彩色渲染,以确定多维数字环境中的多维对象的像素数。如图所示,场景300示出了根据本文描述的技术的场景200的渲染版本。一旦渲染了场景300,就可以显示视口202中的关注对象204和216而不显示非关注对象210。在一个实施例中,可以从包含一组唯一颜色例如(65536)的颜色池中为每个关注对象(例如204和216)分配唯一的颜色。每种颜色可以用8位、16位、32位等进行编码。在优选实施例中,为了优化的目的,用16位对颜色集中的每种颜色进行编码。如本文所提及的,唯一的颜色被缩进以表示颜色的唯一的阴影(通常可以用唯一的十六进制(十六进制)颜色代码和/或红色、蓝色、绿色(RGB)值表示)。
因此,可以用特定/唯一的颜色(例如如图所示的浅灰色)来渲染关注对象204,以从视口202中的其余对象中识别出该对象。类似地,可以使用不同的唯一颜色(例如如图所示的黑色)渲染关注对象216,以便其可以从场景300的其余部分和关注对象204中识别出来。如视口202所示,可以以另一种颜色(例如如图所示的白色)渲染场景300和所有其他非关注对象210,该颜色与用于渲染关注对象204和216的特定/唯一颜色不同。如图所示,关注对象204的渲染可以投影在多维数字环境的视口202上。
在一个实施例中,场景300由附加相机渲染,其分辨率低于渲染场景200的主相机。在该实施例中,由附加相机显示的场景300对用户/查看者保持隐藏。在一个实施例中,附加相机可以用于实现本文所述的发明。附加相机与用户/查看者所查看的用于渲染场景200的主相机重叠。
图4示出了根据本发明的一个实施例的流程图400,该流程图400描述了根据渲染物体的纹理来确定多维物体的像素数的操作。如图所示,在402,由图形处理器执行渲染管线中的第一遍,其中第一遍渲染多维对象以确定多维环境中的场景内的多维对象的每个像素的第一深度信息,并确定多维对象为关注对象。在404处,执行渲染管线中的第二遍,其中第二遍包括渲染场景,并且其中以第一预定颜色渲染多维对象,并且其中第二遍包括确定场景内的每个像素的第二深度信息。在406,比较场景内的每个像素的第一深度信息和第二深度信息。在408处,当场景中每个像素的对应的第一深度信息和第二深度信息不同时,将其改变为第二预定颜色。当深度信息相同时,则假定像素关联于/属于关注对象,并且像素的颜色保持不变。在410,确定具有第一预定颜色的像素的总数。
在不同的实施例中,可以通过渲染管线中的单遍来确定像素计数。在该实施例中,用纹理实现着色器以在运行时间期间在多维数字环境中渲染场景。这样可以为场景中的所有对象提供非介入式临时着色器。这样的配置可以应用于不影响主渲染管线的特殊相机,因此用户仍然不会注意到由特殊相机执行的渲染。在一个实施例中,着色器可以用传递给它的唯一的预定颜色作为输入参数来渲染每个关注对象。可以用另一种预定颜色(例如黑色)来渲染不被视为关注对象的每个表面或多维设置。在另一个实施例中,还可以实现着色器以在不传递输入参数时将场景的每个像素设置为另一预定颜色(例如黑色)。用指定的颜色渲染从相机的视线被遮挡的关注对象的任何区域,以渲染不视为关注对象的每个表面(即场景的其余部分,例如如上的黑色)。由于可以用唯一的颜色来标识每个关注对象,因此,渲染的场景可以具有所需的颜色纹理,以划分或标识需要确定像素数的每个关注对象。在图1至图4中描述的上述任何技术也可以在其他实施例中实现。
图5是说明可与本发明的一个实施例一起使用的数据处理系统(诸如计算系统500)的框图。例如,系统500可以实现为确定多维环境中多维对象的可视性度量的系统的一部分。从该描述应该显而易见的是,本发明的各方面可以至少部分地以软件来体现。即可以响应于诸如微处理器之类的其处理器在计算机系统或其他计算机系统中执行该技术,以执行包含在诸如ROM、DRAM、大容量存储器或远程存储装置之类的存储器中的指令序列。在各种实施例中,可以将硬件电路与软件指令结合使用以实现本发明。因此,该技术不限于硬件电路和软件的任何特定组合,也不限于由计算机系统执行的指令的任何特定源。另外,在整个说明书中,各种功能和操作被描述为由软件代码执行或由软件代码引起,以简化描述。但是,本领域技术人员将认识到,这种表达的意思是功能是由处理器执行代码而产生的。
在一个实施例中,系统500可以代表服务器52。系统500可以具有分布式体系结构,该体系结构具有通过网络耦合的多个节点,或者其所有组件可以集成到一个单元中。计算系统500可以代表执行任何上述过程或方法的上述任何数据处理系统。在一个实施例中,计算机系统500可以作为集成电路(ICs)、分立的电子装置、适合于诸如主板的电路板的模块、计算机系统的附加卡、和/或可以合并到任何计算设备的机架/机箱中的组件来实现。系统500旨在示出任何数据处理单元或计算机系统的许多组件的高层次视图。然而,应当理解,在某些实施例中可以存在更多或更少的组件,此外,在其他实施例中可以出现所示组件的不同布置。系统500可以代表台式机、笔记本电脑、平板电脑、服务器、移动电话、可编程逻辑控制器、个人数字助理(PDA)、个人通信器、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。
在一个实施例中,系统500包括经由总线或互连522的处理器501、存储器503和装置505-508。处理器501可以表示单个处理器或多个处理器,其中包括单个处理器核或多个处理器核。处理器501可以代表一个或多个通用处理器,例如微处理器、中央处理器(CPU)、微控制器单元(MCU)等。处理器501可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或实现其他指令集的处理器、或实现指令集组合的处理器。处理器501也可以是一个或多个专用处理器,例如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器或能够处理指令的任何其他类型的逻辑。处理器501也可以是低功率多核处理器插槽,例如超低压处理器,可以充当主处理单元和中央集线器,用于与系统的各个组件进行通信。可以将这种处理器实现为片上系统(SoC)。
处理器501配置为执行用于执行本文所讨论的操作和方法的指令。系统500还包括与图形子系统504通信的图形接口,图形子系统504可以包括显示控制器和/或显示装置。处理器501可以与存储器503通信,在一个实施例中,该存储器可以经由多个存储器装置实现以提供给定数量的系统存储器。在各个实施例中,各个存储器件可以具有不同的封装类型,例如单芯片封装(SDP)、双芯片封装(DDP)或四芯片封装(QDP)。在某些实施例中,这些装置可以直接焊接到主板上以提供一种较低轮廓的解决方案,而在其他实施例中,这些装置可以配置为一个或多个存储模块,这些模块又可以通过给定的连接器耦合到主板。存储器503可以是机器可读的非暂时性存储介质,例如一个或多个易失性存储(或存储器)装置,例如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、或诸如硬盘驱动器和闪存的其他类型的存储装置。存储器503可以存储包括由处理器501或任何其他装置执行的可执行程序指令的序列的信息。系统500可以进一步包括诸如装置505-508的IO装置,这些装置包括无线收发器505、输入装置506、音频IO装置507和其他IO装置508。
无线收发器505可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如全球定位系统(GPS)收发器)或其他射频(RF)收发器、网络接口(例如以太网接口)或其组合。输入装置506可以包括鼠标、触摸板、触敏屏幕(可以与显示装置504集成)、诸如触笔的指示器装置和/或键盘(例如物理键盘或显示为触摸屏的一部分的虚拟键盘)。其他可选装置508可以包括存储装置(例如硬盘驱动器、闪存装置)、通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如PCI-PCI桥)、传感器(例如诸如加速计、陀螺仪、磁力计、光传感器、指南针、接近传感器等的运动传感器)或它们的组合。可选装置508可以进一步包括成像处理子系统(例如相机),其可以包括诸如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器的光学传感器,该光学传感器可用于促进诸如记录照片和视频剪辑等相机功能。取决于系统500的特定配置或设计,某些传感器可以经由传感器集线器(未示出)耦合至互连522,而诸如键盘或热传感器之类的其他装置可以由嵌入式控制器(未示出)控制。
为了提供诸如数据、应用程序、一个或多个操作系统等信息的持久存储,在一个实施例中,大容量存储器(未示出)也可以耦合到处理器501。在多个实施例中,为了实现更薄、更轻的系统设计以及提高系统的响应能力,可以通过固态装置(SSD)来实现这种大容量存储。然而,在其他实施例中,主要可以使用具有较少数量的SSD存储器的硬盘驱动器(HDD)来实现大容量存储,以用作SSD缓存,以在断电事故期间实现上下文状态和其他此类信息的非易失性存储,以便在重新启动系统活动时可以快速启动电源。闪存装置也可以例如经由串行外围接口(SPI)耦合到处理器501。该闪存装置可以提供系统软件的非易失性存储,包括基本输入/输出软件(BIOS)以及系统的其他固件。
注意,尽管系统500被示出为具有数据处理系统的各种组件,但是其并不意图代表互连这些组件的任何特定架构或方式;因为这样的细节与本发明的实施例无关。还应当理解,具有更少的组件或者也许更多的组件的网络计算机、手持式计算机、移动电话和其他数据处理系统也可以与本发明的实施例一起使用。
因此,本文描述了在多维环境中基于纹理确定多维对象的像素数的方法、装置和计算机可读介质。尽管已经参考特定的示例性实施例描述了本发明,但是显而易见的是,可以对这些实施例进行各种修改和改变,而不脱离权利要求中所阐述的本发明的更广泛的精神和范围。因此,说明书和附图应被认为是说明性的而不是限制性的。
Claims (15)
1.一种方法,包括:
由图形处理器在渲染管线中执行第一遍,其中所述第一遍渲染多维对象,以确定在电子生成的多维数字环境的场景内的多维对象的每个像素的第一深度信息,其中该多维对象确定为关注对象;
在渲染管线中执行第二遍,其中第二遍包括完整地渲染其场景,并且其中以第一预定颜色渲染多维对象,并且其中第二遍包括确定场景内的每个像素的第二深度信息;
比较场景内每个像素的第一深度信息和第二深度信息;
当其对应的第一深度信息和第二深度信息不同时,将场景中每个像素的颜色改变为第二预定颜色;和
确定具有第一预定颜色的像素总数,以确定在电子生成的多维环境的视口中的关注对象的像素数。
2.根据权利要求1所述的方法,其中,所述场景包括一组多维对象,其中,将该组多维对象中的每个多维对象确定为关注对象,并且其中,所述第一预定颜色对于每个相应的多维对象都是唯一的,并且其中,每个相应的多维对象的第一预定颜色是从一组颜色中选择的。
3.根据权利要求1所述的方法,其中,使用第一着色器功能或程序来实施所述第一遍,并且其中,使用第二着色器功能或程序来实施所述第二遍。
4.根据权利要求1所述的方法,其中,比较所述场景内的每个相应像素的所述第一深度信息和所述第二深度信息包括将后处理滤波器应用于所述第二遍,其中,所述后处理滤波器包括所述第一深度信息。
5.根据权利要求1所述的方法,其中,所述第一遍基于所述第一深度信息产生具有第一纹理的场景,并且其中,所述第一深度信息存储在与图形处理器相关联的存储器中。
6.根据权利要求1所述的方法,其中,每个像素的第一深度信息存储在与每个相应像素相关联的红色、绿色、蓝色或阿尔法分量中的至少一个中。
7.根据权利要求1所述的方法,其中,以低分辨率执行所述渲染管线的第一遍和第二遍。
8.一种包含指令的非暂时性计算机可读介质,所述指令在由具有至少一个核的图形处理器执行时实施一种方法,其包括:
在渲染管线中执行第一遍,其中,第一遍渲染多维对象,以确定在电子生成的多维数字环境的场景内的多维对象的每个像素的第一深度信息,并且其中,该多维对象被确定为关注对象;
在渲染管线中执行第二遍,其中,第二遍包括完整地渲染其场景,并且其中,以第一预定颜色渲染多维对象,并且其中,第二遍包括确定场景内的每个像素的第二深度信息;
比较场景内每个像素的第一深度信息和第二深度信息;
当其对应的第一深度信息和第二深度信息不同时,将场景中每个像素的颜色改变为第二预定颜色;和
确定具有第一预定颜色的像素总数,以确定在电子生成的多维环境的视口中的关注对象的像素数。
9.根据权利要求8所述的非暂时性计算机可读介质,其中,所述场景包括一组多维对象,其中,将该组多维对象中的每个多维对象确定为关注对象,并且其中,所述第一预定颜色对于每个相应的多维对象都是唯一的,并且其中,每个相应的多维对象的第一预定颜色是从一组颜色中选择的。
10.根据权利要求8所述的非暂时性计算机可读介质,其中,使用第一着色器功能或程序来实施所述第一遍,并且其中,使用第二着色器功能或程序来实施所述第二遍。
11.根据权利要求8所述的非暂时性计算机可读介质,其中,比较所述场景内的每个相应像素的所述第一深度信息和所述第二深度信息包括将后处理滤波器应用于所述第二遍,其中,所述后处理滤波器包括所述第一深度信息。
12.根据权利要求8所述的非暂时性计算机可读介质,其中,所述第一遍基于所述第一深度信息产生具有第一纹理的场景,并且其中,所述第一深度信息存储在与所述图形处理器相关联的存储器中。
13.根据权利要求8所述的非暂时性计算机可读介质,其中,每个像素的所述第一深度信息存储在与每个相应像素相关联的红色、绿色、蓝色或阿尔法分量中的至少一个中。
14.根据权利要求8所述的非暂时性计算机可读介质,其中,以低分辨率执行所述渲染管线的第一遍和第二遍。
15.一种方法,包括:
由图形处理器执行着色器程序,以在当预定颜色作为输入参数传递时,以预定颜色渲染对象,其中,当不提供输入参数时,着色器程序配置为以另一预定颜色渲染对象;
在将在多维数字环境中的场景中渲染的多维对象的渲染期间,将预定颜色作为输入参数传递给着色器程序,该多维对象确定为关注对象;
在渲染不被视为关注对象的对象期间,不提供输入参数给着色器程序;和
执行以预定颜色渲染的像素数的计数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123728.9A CN113313800A (zh) | 2020-02-27 | 2020-02-27 | 基于纹理的像素数确定 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123728.9A CN113313800A (zh) | 2020-02-27 | 2020-02-27 | 基于纹理的像素数确定 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113313800A true CN113313800A (zh) | 2021-08-27 |
Family
ID=77370790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123728.9A Pending CN113313800A (zh) | 2020-02-27 | 2020-02-27 | 基于纹理的像素数确定 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113313800A (zh) |
-
2020
- 2020-02-27 CN CN202010123728.9A patent/CN113313800A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9449421B2 (en) | Method and apparatus for rendering image data | |
US10362289B2 (en) | Method for data reuse and applications to spatio-temporal supersampling and de-noising | |
KR102475212B1 (ko) | 타일식 아키텍처들에서의 포비티드 렌더링 | |
US10535186B2 (en) | Multi-resolution deferred shading using texel shaders in computing environments | |
CN105574924B (zh) | 渲染方法、渲染设备和电子设备 | |
US9715750B2 (en) | System and method for layering using tile-based renderers | |
KR20160130629A (ko) | 양안 시차 영상에 대한 렌더링 방법 및 장치 | |
CN105550973B (zh) | 图形处理单元、图形处理系统及抗锯齿处理方法 | |
CN105913481B (zh) | 阴影渲染装置及其控制方法 | |
US10319068B2 (en) | Texture not backed by real mapping | |
US11748911B2 (en) | Shader function based pixel count determination | |
US10212406B2 (en) | Image generation of a three-dimensional scene using multiple focal lengths | |
TWI526979B (zh) | 進行次像素材質貼圖與過濾之方法 | |
AU2020215351A1 (en) | Viewability metrics of a multidimensional object in a multidimensional digital environment | |
CN113313800A (zh) | 基于纹理的像素数确定 | |
US9830721B2 (en) | Rendering method and apparatus | |
US20080165208A1 (en) | 3-Dimensional graphic processing apparatus and operating method thereof | |
US20230290044A1 (en) | Object viewability data generation | |
US11741626B2 (en) | Surface projection determination of a multidimensional object in a viewport space | |
CN113313749A (zh) | 多维数字环境中多维对象的可见度度量 | |
CN113313748A (zh) | 视口空间中的多维对象的几何投影面积 |
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 |