动态图形界面阴影的制作方法_3

文档序号:9912199阅读:来源:国知局
素与不同标 高相关联。例如,窗口 304可具有凸起按钮306,其中按钮306的像素被配置为具有正的标高 偏移。窗口 304可具有凹进图像308,例如,其中凹进图像308的像素被配置为具有负的标尚 偏移。在一些实现方式中,可通过考虑像素标高偏移信息而生成投射到窗口 302和304上的 阴影。因此,根据指派给窗口的像素的像素标高偏移信息,在窗口 302和304上生成的阴影可 以具有轮廓的、纹理的和/或变化的呈现。
[0038] 图4示出了配置有像素标高偏移信息的示例显示对象302。例如,显示对象302可被 配置为具有轮廓的表面402。轮廓的表面402可通过将显示对象302的像素配置具有标高偏 移信息而生成。例如,轮廓的表面402的虚线中的每个点可表示像素和显示对象302的该像 素的对应标高。例如,如果显示对象302是用于电子书应用程序的图形用户界面,则显示对 象302的每个像素可被配置为具有模拟物理书本的轮廓的标高偏移。例如,书页侧面(例如, 在书本的模拟的装订处)的像素的标高偏移值可具有小的偏移404,而接近书页中间的像素 的标高偏移值可具有较大的偏移406。当电子书界面被渲染在计算设备的屏幕上时,像素标 高偏移可从为显示对象302所确定的标高中添加(或减去)。
[0039] 在一些实现方式中,像素标高偏移信息可被用来生成投射阴影。例如,光标108投 射阴影410在显示对象302上。由于显示对象302被配置为具有模拟打开的书本的轮廓的像 素标高偏移信息,阴影410可被生成为遵循书本的轮廓。例如,阴影410可基于为显示对象 302所确定的标高和为显示对象302的每个像素所配置的像素标高偏移信息而生成。当光标 108在书本上移动时,光标可被调整以遵循书本的轮廓,从而接近于真实生活中的阴影。
[0040] 在一些实现方式中,为显示对象所生成的阴影可基于针对显示对象的输入而调 整。例如,光标108的阴影可如上所述地被生成。用户可提供输入至(或通过)光标108。用户 可执行选择操作(例如,鼠标点击)来使得光标108之下的对象被选择或以其它方式被操作。 例如,显示对象302可呈现模拟打开的书本的电子书应用程序的轮廓的图形用户界面。显示 对象302可被配置为允许用户使用光标108翻转书本的书页。当光标108被定位在显示对象 302上面时,用户可提供输入至光标108(例如,鼠标点击)来使得电子书的书页翻转。在一些 实现方式中,与光标108相关联的投射阴影可被调整以模拟将光标降低到显示对象302的表 面上。例如,光标108的标尚可被调整直至光标108的标尚实质上与显不对象302的标尚相 同。与光标108相关联的投射阴影可根据光标108的标高变化而被调整。因此,光标投射阴影 将被激活而移动至更接近于光标的位置,直至当光标看起来是触摸显示对象302的表面时 (例如,光标具有与显不对象302表面实质相同的标尚,如果有的话,还包括任何标尚偏移), 它看起来位于光标下面或消失为止。
[0041] 图5示出了提供可配置像素标高图的示例图形用户界面编辑器500。在一些实现方 式中,图形用户界面编辑器500可允许用户界面开发者为图形用户界面元素和显示对象指 定标高偏移信息。例如,开发者可设计应用程序图形用户界面502。应用程序GUI 502可包括 背景区域504和图形元素506、508及510。例如,图形元素506、508及510可以是图像、按钮、菜 单或任何其他可被包括在图形用户界面中的图形元素。GUI 502可以是全彩色界面。
[0042]在一些实现方式中,开发者可调用(invoke)图形用户界面502的灰度级位图显示。 灰度级位图显示可以是指示GUI 502的像素的标高的全彩色GUI 502的灰度级表示。例如, 像素的灰度级值(例如,亮度水平)可表示像素的标高。在一些实现方式中,亮度水平对应于 黑色(例如,完全没有照明)和白色(例如,完全照明)之间的范围,并且可被表示为百分比 (0-100%)、整数值(例如,如果每个像素使用8比特,则为0-255)、或者任何其他表示。在一 些实现方式中,黑色可表不零标尚(或最大标尚),而白色可表不最大标尚(或最小标尚)。黑 色和白色之间的灰度值可对应于零标高和最大标高之间的标高。
[0043]在一些实现方式中,开发者可调整灰度级位图显示的像素来为图形用户界面502 的像素指派标高偏移值。例如,开发者可改变像素的灰度级值以导致像素的标高的对应变 化。开发者可使用任何位图编辑技术(例如,线条描绘、区域填充等)来改变像素的灰度级 值。例如,开发者可选择显示元素506并提供输入至图形用户界面编辑器以指示显示元素的 45 %亮度的灰度级填充。
[0044]图6示出了包括标高偏移信息的像素颜色数据500的示例。在一些实现方式中,一 旦标高偏移(例如,灰度级值)被指派给GUI 502的像素,则标高偏移可被与像素颜色数据 500存储在一起。像素颜色数据可以被存储为能被用来为像素存储颜色数据的多个比特(例 如,8比特、16比特、32比特等)。例如,当生成全彩色GUI 502时,GUI 502的每个像素的颜色 数据可被存储为32比特字,其中24比特用于红色502(8比特)、绿色504(8比特)、蓝色506(8 比特)(RGB)颜色数据。32比特字中剩余的8比特(Z508)可被用来存储像素的标高信息。例 如,对应于标高的像素灰度级值可被存储在剩余的8比特中。在一些实现方式中,像素标高 偏移信息可与像素颜色数据分离地存储。
[0045]在一些实现方式中,当GUI 502在显示屏上被渲染,像素颜色数据(R502,G504, B506)可被用来渲染GUI 502的全彩色显示。在一些实现方式中,当阴影和/或其他三维效果 被渲染在显示屏上,像素标高偏移信息(Z508)可被用来渲染阴影和三维效果。因此,图形用 户界面的每个像素可被配置为具有标高偏移信息,从而允许图形用户界面被配置为具有轮 廓和/或纹理的三维表面。这个像素标高数据可被用来渲染能模拟或接近真实生活中的阴 影的动态阴影。
[0046] 示例过程
[0047]图7是为显示对象生成动态阴影的示例过程700的流程图。在一些实现方式中,阴 影可基于为显示对象所计算的标高和显示对象的像素的像素标高偏移信息而动态地生成。 例如,像素标高偏移可被添加至显示对象的标高以在显示对象上提供有轮廓的、有纹理的 和/或波形的表面。生成在显示对象上的阴影可根据像素标高偏移信息被动态地调整以反 映或表示显示对象的有轮廓的、有纹理的和/或波形的表面。
[0048]在步骤702,图形用户界面对象的标高(例如,Z轴位置、坐标、数值等)可被确定。例 如,窗口、光标、图标和/或其他用户界面显示对象的标高可被确定。在一些实现方式中,显 示对象的标高可相对于其他显示对象而被确定。例如,如果显示在用户界面上的图形对象 以列表、阵列或其他集合数据类型被管理,则显示对象可基于显示对象在列表中的位置在 标高上被间隔开来,如上关于根据图2所描述的。
[0049] 在步骤704,可获取用于图形用户界面对象的像素标高偏移信息。在一些实现方式 中,图形显示对象可被配置为具有像素标高偏移信息。例如,用户界面开发者可生成显示对 象(例如,窗口、应用程序用户界面、图标等)并且用像素标高偏移信息配置显示对象来给予 显示对象的表面纹理、轮廓、波形和/或其他表面特性。在一些实现方式中,通过用像素标高 偏移信息配置显示对象,用户界面开发者可以采用本来平坦的显示对象并赋予该显示对象 三维的外观和感觉。在一些实现方式中,显示对象的每个像素可被分别地配置有像素标高 偏移信息。一旦显示对象已被配置有像素标高偏移信息,像素标高偏移信息可被访问并用 来渲染显示对象和阴影。
[0050] 在步骤706,阴影可基于显示对象的标高和像素标高偏移信息而被生成。在一些实 现方式中,像素标高可基于与像素相关联的对象的标高和为像素配置的标高偏移而被计 算。例如,如果显示对象的像素具有标高为五(5)的偏移并且该显示对象具有为四十(40)的 标高,则该像素的标高可被计算为四十五(45)。
[0051] 一旦像素标高已被计算出,则像素标高可被用来生成动态阴影。例如,合并的标高 位图(例如,用于渲染显示的标高位图)可基于所计算的像素标高被生成,其包括具有桌面 之上的最高标高的每个显示对象的像素。例如,多个显示对象可重叠,并且从而重叠的对象 可具有带有相同坐标(例如,Χ、γ坐标)的像素。然而,重叠的像素的每个可具有不同的标高 (Ζ值/坐标,标尚等)。在一些实现方式中,只有具有最尚标尚的像素将被包括在合并的标尚 位图中。
[0052] 在一些实现方式中,可通过使用在每个像素基础上确定阴影量的图形处理单元 (GPU)滤波器生成阴影。例如,通过搜索合并的标高图,滤波器能确定在一个标高处的给定 像素是否被在更高标高处的像素所遮挡。如果该像素被遮挡,则GHJ可基于两个像素间的相 对距离计算亮度值。亮度值然
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1