使用随机光栅化生成随机采样分布的制作方法

文档序号:13032377阅读:182来源:国知局
使用随机光栅化生成随机采样分布的制作方法与工艺

本发明一般涉及图形处理。



背景技术:

采样是各种学科(诸如计算机图形、科学视觉化、工程学和医学应用)中的核心操作。图形中的示例包含渲染、纹理合成、对象放置和几何处理。然而,任意域的有效采样是非琐碎的,特别是在较高维度中和/或具有不均匀分布时。

附图说明

一些实施例相对于如下附图进行描述:

图1是多达三维中单纯形和单倍体几何的描绘;

图2是三维中数值积分问题的描绘,涉及圆环域上的温度函数;

图3是优化的飞镖投掷的描绘;

图4是描绘用不均匀密度进行采样的密度函数的图形;

图5是用于生成样本的序列的流程图;

图6是用于加速的飞镖投掷的序列的流程图;

图7是一个实施例的系统描绘;以及

图8是一个实施例的正视图。

具体实施方式

可采用随机光栅化作为灵活工具来在多达五维中的任意域上生成样本。这影响有效的基于瓦片(tile)的随机光栅化,并且除了渲染运动模糊和景深之外还提供这些算法的应用。类似地,当前图形处理单元(gpu)的传统光栅化器可被用作多达二维中的采样工具。

许多采样方法在以计算模式运行的图形处理单元(gpu)着色器核上并行生成样本。相比之下,我们采用嵌入式光栅化器来执行全部或部分采样操作。因为它运行在固定功能的硬件中,因此在一些实施例中可非常能量有效地生成大量样本。我们的算法可作为图形处理器中的附加硬件单元实现、完全用软件实现,或作为二者的组合实现。

采用基元的体积范围实现了若干感兴趣的应用。这些想法可在随机光栅化方面考虑,但甚至当前gpu中的传统光栅化器也可能是用于以能量有效方式生成一维或二维样本分布的有帮助的工具。

形式上,五维(5d)光栅化管道首要设计成对函数求值,其中是5d光场的图像平面x,y上的积分投影,与适当重构滤波器卷积以减少混叠和噪声。通过在三维xyz空间中放置三角形来定义,具有在时间t的线性按顶点的运动以及由透镜坐标u,v控制的xy平面中的剪切。剪切的量是深度z的函数,其是时间相关的。用户还可规定轴对齐的裁剪平面,以限制对于每个基元考虑的u,v,t的范围。每个裁剪平面作为下边界和上边界例如给出。(例如颜色)的值通过执行每个样本(超采样)或样本群(多重采样或解耦采样)的可编程着色器程序来计算。

光栅化过程通常在三维(3d)裁剪空间中通过移动/剪切三角形的顶点进行图示,但它可等效地被看作三角形在5dxyuvt空间中雕刻出体积形状。此域被填充了均匀分布的样本点,并且光栅化器迅速确定哪些点在内部。二维(2d)中的类比是屏幕空间中的三角形,其从x,y的均匀采样中切掉了一组样本。形状的体积直接控制在其中放置的样本的预期数量n,即,其中ρ是采样密度。

在3dxyt空间中,是广义三棱柱,其中三角形端盖放置在。要注意的是,由于变化的按顶点的运动和透视缩减,连接端盖的边可能被弯曲,并且在xyt中侧面通常是不平坦的。这是非直观的,因为在裁剪空间中边总是直线,尽管侧面可能是双线性补块(patch)。当添加一个额外维度u时,每个顶点在x中随着u的变化而被剪切。剪切量可能是非线性的,并且对于每个顶点都不同,因为它是深度的函数,深度的函数是时间相关的。切掉的超体积具有12个顶点,其中在的端盖是3d中的广义三棱柱。最后,在5d中,是具有24个顶点的复杂形状。

为了对任意域进行采样,我们首先构造保守划界体,使得。划界体然后被细化成若干不交叠的毗邻基元,这些基元被单独光栅化。在2d中,这对应于将任意划界多边形的内部细化成三角形。由于光栅化平局打破(tie-breaking)规则,保证了任何样本都被放置在至多一个基元中。最后,像素着色器执行按样本(在中)的分析测试,以拒绝在外部的任何剩余样本。整体而言,结果是的均匀随机采样;硬件光栅化器执行初始快速但粗略的样本剔除,并且像素着色器执行最后细粒度测试(如果则这可被跳过)。

参考图5,可以用软件、硬件和/或固件实现用于生成样本的序列10。在软件和固件实施例中,它可使用存储在一个或多个非暂时性计算机可读介质(诸如磁、光或半导体存储装置)中的计算机执行的指令来实现。

参考图5,序列10可开始于对采样域进行划界,如在块12中所指示的。划界形状可被细化成若干基元,如在块14中所指示的。接下来,对基元进行光栅化以生成随机样本(块16)。最后,相对采样域对样本进行测试,如在块18中所指示的。

在一些实施例中,使用标准5d光栅化管道,硬件例如在程序上或基于可编程样本表来确定每个样本的xyuvt坐标,与随机加扰耦合。可以假定样本具有适度良好的谱性质,以便减少传统运动模糊和散焦模糊渲染中的噪声。硬件可在采样密度上设置上限。

为了允许完全灵活性,并避免由确定性采样引入的任何偏置,我们可备选地使用保守5d光栅化管道。在此情况下,像素着色器作为输入接收在范围上在透镜上和时间上的界限,即。每个此类界限被作为下限和上限给出,例如,指示在哪个范围中基元保守地交叠该像素。基于这些界限,例如可使用随机数生成器基于密码哈希生成任何数量的样本。要注意的是,在此情况下,样本不得不相对而不只是进行人工测试,因为毗邻基元可能部分交叠u、v和t界限。还可能更难的是,确保像素之间的良好谱性质。此方法的效率将有可能更低,因为样本测试被移动到软件,但它放松了硬件以其它方式可施加的大部分(如果不是所有的话)限制。

为了使更容易一起工作,我们能以在采样空间中基元的所有侧面都是平面的这种方式约束顶点位置。例如,在3d情况下,如果我们将每个顶点都约束到不在深度上移动,并且我们约束广义棱柱的三角形端盖的每对边都平行,则所有边都是直的,并且所有侧面都是平面。作为结果的形状是锥形三棱柱。

一般而言,我们可将顶点放置成使得是n面体(具有在n维的平侧面的几何对象),其中n≤5。在此情况下,由随机光栅化器在3d、4d和5d中生成的多面体类在形式上分别定义为(2,1)、(2,1,1)和(2,1,1,1)-单倍体。为了澄清,我们将给出简要定义。(n1,n2,...,nm)-单倍体是∑ni维空间中的多面体,其同构于ni单纯形的乘积。n单纯形是最简单的可能的n维多面体,由n+1个顶点组成,其中所有对顶点由边连接。例如,1-单纯形是线,2-单纯形是三角形,并且3-单纯形是四面体,如图1所示。(n1,n2,...,nm)单倍体具有∏i(ni+1)个顶点。边连接每对仅在一个指数上不同的顶点,其中顶点被标记为i1...im,其中0≤ij<nj。图1示出了多达三维中的单纯形,以及(2,1)-单倍体,即三棱柱。

单倍体的根本性质是它们可被分解成一组单纯形。例如,由3d光栅化器渲染的三棱柱是(2,1)-单倍体,其可被分解成3三个3-单纯形(四面体)。因此,我们具有在三个四面体的联合中生成随机点代替使用显式方法对每个单独进行采样的有效方式。

对于更复杂的几何形状,有可能使用现有算法将体积细化成单纯形(例如四面体元素),并且然后将这些合并成适当单倍体。此过程必须将随机光栅化器的约束考虑进去,以便生成可兼容的单倍体。许多现有网格生成算法可应用,因为它们经常需要满足不同的竞争约束。在二维和三维中的网格生成是对物理仿真(例如有限元素分析和流体力学)、医学可视化还有其它地方中的许多应用良好研究的问题。该问题在较高维度中探讨的不太好,但一些方法确实普及。例如,可在任何维度计算delaunay三角测量。在多达六维中快速而鲁棒的算法,其在物理学上具有在4d空间-时间、6d相位-空间上的应用,并且机器人学是一个示例。在我们的情况下,我们对生成与随机光栅化器兼容的单纯形感兴趣。此约束大大限制了可用自由度的量。

我们将生成的单纯形合并成适当单倍体,单倍体可由随机光栅化器有效采样。例如,在三维中,我们将三个四面体的群组合并成三棱柱。

当在保守模式运行光栅化器时,有可能除了通过硬件瓦片测试提供的界限之外人工计算在甚至更高维度的界限。这允许在多于5个的维度中的样本生成。

类似地,代替使用x、yt中的界限,我们可让三角形切掉xyz空间区域。在此情况下,通过瓦片测试提供的深度界限用于控制样本放置。这假定用人工样本放置运行在保守模式,因为硬件本身不对z维进行采样。优势是,顶点在xyz空间中沿直线移动,因此在创建具有平面侧面的多面体时比在xyt空间中存在更多灵活性。

我们将描述用于我们框架的几个应用。这些应该被看作示例。许多新的和现有的采样算法可受益于采用当前和将来的固定功能光栅化硬件进行通用样本生成。

一个应用是直接使用光栅化器作为均匀样本生成器,能够进行多达5个维度中的任意域的随机采样。通过改变如何计算用于光栅化器的样本,其它采样分布是有可能的。均匀随机样本在许多应用(诸如蒙特卡罗积分和科学可视化)中是有用的。生成所需要的许多(经常是亿万)点另外可以是费时的。在积分问题中,对采样域进行划界、细化和光栅化,如所描述的。像素着色器然后对在每个样本处的被积函数求值,并写出点采样的结果。科学可视化经常具有类似要求,诸如在任意域上分布样本,并计算在每个点的函数值(例如颜色)。

图2示出了三维(3d)中的数值积分问题的简单示例,其中被积函数定义在圆环域上。在此示例中,被积函数是仿真温度函数,其通过在随机光栅化管道中对它进行密集采样来进行数值积分。在xyt空间中的广义三棱柱(即运动模糊的三角形)被设置成保守地封闭积分域。圆环形状的划界体在xyt空间中被细化成120个此类三棱柱,它们被随机光栅化以生成大量样本点。对于每个样本执行的像素着色器测试该样本是否在内部,如果是,则对温度求值。结果使用加法混合按像素进行累加,并且最后在单独通道中分级减小到单个标量值。

飞镖投掷是用于泊松盘采样(即生成所有点都由某个最小距离分开的分布)的根本方法。在最小距离为2r的情况下,如果半径r的盘被放置在每个样本点,则没有两个盘交叠。大的最小点距离确保蓝噪声特性,其已经证明是在许多应用(例如抗混叠、点刻和纹理合成)中是理想的。在其基本形式中,飞镖投掷在采样域上生成大量随机候选点,并且对于交叠测试它们,以仅保持满足最小距离标准的小子集。

飞镖投掷的优化算法利用空间数据结构来跟踪样本之间的空位v,以便指导新候选点的插入。空位可被表示为八叉树单元或者通用多面体,作为两个示例。

图3(左边)示出2d中的一些示例。优化的飞镖投掷跟踪采样域中的空位,即,可随机插入新点的区域。通过在每个点处放置半径2r的盘(在更高维度中的球体或超球面)来发现空位。盘未接触的任何区域都属于空位。我们将空位表示为多边形/多面体,如左边所示。在随机置换并适当缩放之后,通过光栅化所有空位并行生成候选点。3d中的一些示例在图3右边示出。

概念上,采样域d首先被再分成空位,这些空位被放在“活动”列表中。然后执行如下操作:

1.从活动列表中以根据其体积的概率选择空位v。

2.在空位中选取随机候选点p。

3.检查p是否满足相对于相邻点的最小距离标准,并且如果是,则将它添加到点集合。

4.检查v是否被全部覆盖,并且如果否,则将它分成更小的空位,这些空位被添加到活动列表。

当活动列表为空时算法终止。在该点,已经实现最大分布,即,不能插入更多点。如果仔细进行空位的选择和采样,则分布也是无偏置的(将样本放置在域中的任何地方存在相等概率)。要注意的是,通过从相隔足够远而没有冲突的空位中抽取样本,或者通过允许冲突并以无偏置的方式消除它们,可并行执行以上步骤。

可通过使用随机光栅化对大量空位并行执行步骤(1)和(2)来加速飞镖投掷。每个空位被表示为与光栅化器兼容的单个单倍体(或单倍体联合)。图3示出了从锥形三棱柱中创建的3d中空位的一些示例。每个空位中样本的期望数量通过均匀缩放空位来控制,并且添加了随机置换以确保均匀随机采样,甚至具有固定采样模式。两个操作都可在顶点着色器中执行。活动列表中的所有空位然后被光栅化,其中深度测试被禁用,并且生成的样本被存储到阵列,例如在现代图形应用程序接口(api)中使用原子或附加缓冲器。这些表示以根据每个空位体积的概率选取的候选点。计算通道处理这些点以消除冲突,并且通过丢弃和划分空位来更新列表。新的活动列表被再次传递到光栅化器,以此类推。

参考图6,可以用软件、固件和/或硬件实现根据一个实施例用于加速的飞镖投掷的序列20。在软件和固件实施例中,它可由存储在一个或多个暂时性计算机可读介质(诸如磁、光或半导体存储装置)中的计算机执行的指令来实现。

序列20开始于将采样域中的空位表示为基元联合,如块22中所指示的。然后,对基元进行光栅化以生成候选样本,如块24中所指示的。最后,候选样本相对当前样本对于泊松盘标准进行测试,如块26中所指示的。

所描述的算法可生成多达五维中的泊松盘点。通过将选择和采样步骤移动到固定功能的硬件,更高效率和更简单实现是有可能的。

通过在n+1维中的适当域上进行均匀采样,并将样本正交投影回到n维,可实现n维中的不均匀分布的样本。直观上,通过将密度函数视为额外维度中的高度场来定义中的采样域的形状,其中。通过在高度场下生成样本,并正交投影在上,我们有效地获取了根据分布的样本。

随机光栅化器可对多达五维中的高度场进行有效采样。这允许多达4d中的不均匀采样。图4示出了ρ是一维(1d)密度函数的简单示例。函数被向上划界,并且划界形状被细化成若干光栅化器基元,在此情况下是2d三角形。通过对作为结果的三角形进行光栅化来对高度场采样。光栅化器迅速拒绝在基元外部的所有样本(op)。在像素着色器中,我们执行相对ρ的按样本测试,以拒绝位于外部的所有剩余样本(rop)。所接受的样本最后被投影在x上,给出了具有期望性质的分布。使用此方法生成的样本具有白噪声特性。由于投影,难以确保最小点距离(即蓝噪声),因为点可非常好地投影到中的类似位置。相同技术适用于更高维度,但密度函数的形状变得不太直观了。

图7图示了系统700的实施例。在实施例中,系统700可以是媒体系统,不过系统700不限于此上下文。例如,系统700可被合并到个人计算机(pc)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能装置(例如智能电话、智能平板或智能电视)、移动因特网装置(mid)、消息传递装置、数据通信装置等等中。

在实施例中,系统700包括耦合到显示器720的平台702。平台702可从内容装置(诸如内容服务装置730或内容递送装置740或其它类似内容源)接收内容。包括一个或多个导航特征的导航控制器750可用于例如与平台702和/或显示器720交互。下面更详细描述这些组件中的每个组件。

在实施例中,平台702可包括芯片集705、处理器710、存储器712、存储装置714、图形子系统715、应用716、全球定位系统(gps)721、相机723和/或无线电718的任何组合。芯片集705可提供处理器710、存储器712、存储装置714、图形子系统715、应用716和/或无线电718之间的互通信。例如,芯片集705可包含能够提供与存储装置714的互通信的存储装置适配器(未示出)。

此外,平台702可包含操作系统770。到处理器772的接口可对接操作系统和处理器710。

可提供固件790以实现诸如引导序列的功能。可提供更新模块,以使固件能够从平台702外部被更新。例如,更新模块可包含用于确定对更新的尝试是否是真实的并且标识固件790的最后更新以便于确定何时需要更新的代码。

在一些实施例中,平台702可由外部电源供电。在一些情况下,平台702还可包含内部电池780,其在不适合于外部电源的实施例中或在允许电池源供电或外部源供电的实施例中充当电源。

图5和图6中示出的序列在软件和固件实施例中可通过将它们合并在存储装置714内或存储器内、处理器710或图形子系统715内来实现(举几个示例)。在一个实施例中,图形子系统715可包含图形处理单元,并且处理器710可以是中央处理单元。

处理器710可实现为复杂指令集计算机(cisc)或精减指令集计算机(risc)处理器、x86指令集可兼容处理器、多核或任何其它微处理器或中央处理单元(cpu)。在实施例中,处理器710可包含双核处理器、双核移动处理器等等。

存储器712可实现为易失性存储器件,诸如但不限于随机存取存储器(ram)、动态随机存取存储器(dram)或静态ram(sram)。

存储装置714可实现为非易失性存储装置,诸如但不限于磁盘驱动器、光盘驱动器、带驱动器、内部存储装置、附连的存储装置、闪存、电池支持的sdram(同步dram)和/或网络可访问存储装置。在实施例中,例如当包含多个硬驱时,存储装置714可包括添加用于有价值数字媒体的存储性能增强保护的技术。

图形子系统715可执行图像处理,诸如静止图像或视频以便显示。图形子系统715例如可以是图形处理单元(gpu)或视觉处理单元(vpu)。模拟接口或数字接口可用于以通信方式耦合图形子系统715和显示器720。例如,接口可以是遵从高清晰多媒体接口、displayport、无线hdmi和/或无线hd的技术中的任何技术。图形子系统715可集成到处理器710或芯片集705中。图形子系统715可以是以通信方式耦合到芯片集705的独立卡。

本文描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能性可被集成在芯片集内。备选地,可使用分立图形和/或视频处理器。作为又一实施例,图形和/或视频功能可由通用处理器(包含多核处理器)来实现。在另外的实施例中,功能可在消费电子装置中实现。

无线电718可包含能够使用各种适合的无线通信技术发射和接收信号的一个或多个无线电。此类技术可涉及在一个或多个无线网络上的通信。示范性无线网络包含(但不限于)无线局域网(wlan)、无线个域网(wpan)、无线城域网(wman)、蜂窝网络和卫星网络。在此类网络上的通信中,无线电718可按照任何版本的一个或多个可适用标准进行操作。

在实施例中,显示器720可包括任何电视型监视器或显示器。显示器720例如可包括计算机显示屏、触摸屏、视频监视器、电视类装置和/或电视。显示器720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息显示器。显示器720也可以是可接收视觉投影的透明表面。此类投影可传送各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(mar)应用的视觉重叠。在一个或多个软件应用716的控制下,平台702可在显示器720上显示用户接口722。

在实施例中,内容服务装置730可由任何国家、国际和/或独立服务托管,并且从而例如可经由因特网访问平台702。内容服务装置730可耦合到平台702和/或显示器720。平台702和/或内容服务装置730可耦合到网络760以向网络760和从网络760传递(例如发送和/或接收)媒体信息。内容递送装置740也可耦合到平台702和/或显示器720。

在实施例中,内容服务装置730可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用因特网的装置或器具、以及能够在内容提供商与平台702和/或显示器720之间经由网络760或者直接单向或双向传递内容的任何其它类似装置。将认识到,可经由网络760向和从系统700中的任一组件和内容提供商单向和/或双向传递内容。内容的示例可包含任何媒体信息,例如包含视频、音乐、医疗和游戏信息等等。

内容服务装置730接收诸如有线电视节目的内容,包含媒体信息、数字信息和/或其它内容。内容提供商的示例可包含任何有线电视或卫星电视或者无线电或因特网内容提供商。所提供的示例不意图限制本发明的实施例。

在实施例中,平台702可从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征例如可用于与用户接口722交互。在实施例中,导航控制器750可以是定点装置,定点装置可以是允许用户输入空间(例如连续和多维)数据到计算机中的计算机硬件组件(特别是人类接口装置)。许多系统(诸如图形用户接口(gui))以及电视和监视器允许用户使用物理手势控制和提供数据到计算机或电视。

控制器750的导航特征的移动可在显示器(例如显示器720)上通过指针、光标、焦圈或显示在显示器上的其它视觉指示符的移动来效仿。例如,在软件应用716的控制下,位于导航控制器750上的导航特征例如可被映射到显示在用户接口722上的虚拟导航特征。在实施例中,控制器750可以不是单独组件,但集成到平台702和/或显示器720中。然而,实施例不限于本文示出或描述的元素或上下文。

在实施例中,驱动器(未示出)可包括在初始引导之后(例如当启用时)使用户能够通过触摸按钮来即时开启和关闭平台702(比如电视)的技术。当平台“关闭”时,程序逻辑可允许平台702向媒体适配器或其它内容服务装置730或内容递送装置740流播内容。此外,芯片集705例如可包括对于5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件支持。驱动器可包含用于集成图形平台的图形驱动器。在实施例中,图形驱动器可包括外围组件互连(pci)express图形卡。

在各种实施例中,在系统700中示出的组件中的任何一个或多个组件可被集成。例如,平台702和内容服务装置730可被集成,或者平台702和内容递送装置740可被集成,或者例如平台702、内容服务装置730和内容递送装置740可被集成。在各种实施例中,平台702和显示器720可以是集成单元。例如,显示器720和内容服务装置730可被集成,或者显示器720和内容递送装置740可被集成。这些示例不打算限制本发明。

在各种实施例中,系统700可被实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统700可包含适合于通过无线共享介质(诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等等)通信的组件和接口。无线共享介质的示例可包含无线频谱部分,诸如rf频谱等等。当实现为有线系统时,系统700可包含适合于通过有线通信介质(诸如输入/输出(i/o)适配器、连接i/o适配器与对应有线通信介质的物理连接器、网络接口卡(nic)、盘控制器、视频控制器、音频控制器等)通信的组件和接口。有线通信介质的示例可包含电线、电缆、金属引线、印刷电路板(pcb)、底板、开关组构、半导体材料、双绞线、同轴电缆、光纤等等。

平台702可建立一个或多个逻辑或物理信道以传递信息。信息可包含媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容示例例如可包含来自语音对话、视频会议、流视频、电子邮件("email")消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据例如可以是语音信息、沉默时段、背景噪声、舒适噪声、音调等等。控制信息可指的是表示打算给自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于通过系统路由媒体信息,或命令节点以预定的方式处理媒体信息。然而,实施例不限于在图7中示出或描述的元素或上下文。

如上所述,系统700可以变化的物理样式或形状因子实施。图8图示了可实施系统700的小形状因子装置800的实施例。在实施例中,例如,装置800可实现为具有无线能力的移动计算装置。移动计算装置可以指例如具有处理系统和移动电源或供电(诸如一个或多个电池)的任何装置。

如上所述,移动计算装置的示例可包含个人计算机(pc)、膝上型计算机、超级膝上型计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能装置(例如智能电话、智能平板或智能电视)、移动因特网装置(mid)、消息传递装置、数据通信装置等等。

移动计算装置的示例还可包含布置成由人穿戴的计算机,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂带计算机、鞋计算机、衣服计算机以及其它可穿戴计算机。在实施例中,例如,移动计算装置可实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管一些实施例可描述成移动计算装置作为示例实现为智能电话,但可认识到,其它实施例也可使用其它无线移动计算装置实现。实施例不限于此上下文。

如图8中所示,装置800可包括外壳802、显示器804、输入/输出(i/o)装置806和天线808。装置800还可包括导航特征812。显示器804可包括用于显示对于移动计算装置适当的信息的任何适合的显示单元。i/o装置806可包括用于将信息输入到移动计算装置中的任何适合的i/o装置。i/o装置806的示例可包含字母数字键盘、数值键区、触摸盘、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别装置和软件等等。信息也可通过麦克风输入到装置800中。此类信息可通过语音识别装置进行数字化。实施例不限于此上下文。

各种实施例可使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可包含处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包含软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任何组合。确定是否使用硬件元件和/或软件元件实现实施例可按照许多因素变化,诸如期望的计算速率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。

至少一个实施例的一个或多个方面可由存储在表示处理器内各种逻辑的机器可读介质上的代表性指令实现,这些指令当由机器读取时使机器制作执行本文描述的技术的逻辑。称为“ip核”的此类表示可存储在有形机器可读介质上,并提供给各种消费者或制造设施以加载到实际上制造逻辑或处理器的制作机器中。

各种实施例可使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可包含处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包含软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任何组合。确定是否使用硬件元件和/或软件元件实现实施例可按照许多因素变化,诸如期望的计算速率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。

至少一个实施例的一个或多个方面可由存储在表示处理器内各种逻辑的机器可读介质上的代表性指令实现,这些指令当由机器读取时使机器制作执行本文描述的技术的逻辑。称为“ip核”的此类表示可存储在有形机器可读介质上,并提供给各种消费者或制造设施以加载到实际上制造逻辑或处理器的制作机器中。

本文描述的图形处理技术可用各种硬件架构实现。例如,图形功能性可集成在芯片集内。备选地,可使用分立图形处理器。作为又一实施例,图形功能可由通用处理器(包含多核处理器)实现。

如下示例涉及另外的实施例。一种方法可包含使用光栅化器通过对采样域进行划界、将划界形状细化成若干基元、对基元进行光栅化以生成随机样本并相对采样域测试样本而在任意域上生成样本。该方法还可涉及:使用随机光栅化在任意域上生成样本;使用保守光栅化允许在每个像素内的任意样本放置;计算附加维度的界限,以便在比光栅化器支持的更高维度中生成样本;使用具有可编程样本放置的光栅化器来允许伪随机分布;使用该方法生成自适应采样分布,通过:将密度函数表示为高度场,向采样域添加一个维度,使用光栅化器对此新域进行采样,并保护原始域上的样本。一些实施例可包含:生成用于数值计算的样本,或者在任意域上执行数值积分,通过:使用光栅化器在该域上生成样本,在像素着色器中对每个样本处的被积函数求值,并对结果累加。一种方法可包含:加速飞镖投掷以生成泊松盘样本通过:将采样域中的空位表示为基元联合,对基元进行光栅化以生成候选样本,并相对当前样本对于泊松盘标准测试候选样本。该方法还可包含使用随机光栅化生成泊松盘样本,或使用随机光栅化用于运动模糊或散焦模糊。至少一个机器可读介质可包括多个指令,并且所述指令响应于在计算装置上的执行使计算装置执行如上所述的方法。一种设备可包含:处理器,用于使用光栅化器在任意域上生成样本,对采样域进行划界,将划界形状细化成若干基元,对基元进行光栅化以生成随机样本并相对采样域测试样本;以及耦合到所述处理器的存储器。所述设备可包含操作系统、电池或固件以及更新所述固件的模块。处理器可使用随机光栅化在任意域上生成样本,或使用保守光栅化来允许在每个像素内的任意样本放置。处理器计算附加维度的界限,用于在比光栅化器支持的更高维度中生成样本。处理器可使用具有可编程样本放置的光栅化器来允许伪随机分布。处理器还可使用该方法通过将密度函数表示为高度场、向采样域添加一个维度、使用光栅化器对此新域进行采样并在原始域上产生样本来生成自适应采样分布。

本说明书通篇提到“一个实施例”或“实施例”是指结合该实施例描述的具体特征、结构或特性被包含在本发明内涵盖的至少一个实现中。从而,短语“一个实施例”或“在实施例中”的出现不一定都指的是同一实施例。而且,具体特征、结构或特性可以用其它适合的形式而不是所说明的具体实施例设立,并且所有此类形式可涵盖在本申请的权利要求内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1