器。傳感器150 可包括檢測(cè)用戶觸摸或手指接觸施加給顯示設(shè)備140的力或壓力的力或壓力傳感器。
[0033] 圖2A示出了顯示設(shè)備240的一般區(qū)域中的示例性的透鏡動(dòng)畫效果或特征200,該 顯示設(shè)備240可基本類似于顯示設(shè)備140。透鏡動(dòng)畫效果200可通過顯示設(shè)備240顯示給 用戶的GUI (如情感用戶界面)得以實(shí)現(xiàn),該顯示設(shè)備240可位于計(jì)算機(jī)系統(tǒng)或移動(dòng)通信設(shè) 備(如移動(dòng)設(shè)備100)中。透鏡動(dòng)畫效果200可為用戶創(chuàng)建外觀,使用戶產(chǎn)生顯示設(shè)備的玻 璃含有放大鏡的錯(cuò)覺??苫谟脩粲|摸在顯示區(qū)域內(nèi)對(duì)透鏡進(jìn)行推移。直觀上好像是用戶 觸摸造成了玻璃彎曲。
[0034] 透鏡動(dòng)畫效果200還包括可變放大率和動(dòng)畫透鏡光暈等幾個(gè)要素。透鏡動(dòng)畫效果 200的第一個(gè)要素可以是響應(yīng)于顯示設(shè)備上的用戶觸摸的用戶手指上方區(qū)域的放大率。放 大區(qū)域210可以是動(dòng)畫的,并可當(dāng)手指在顯示設(shè)備上移動(dòng)時(shí)跟蹤用戶手指。例如,用戶觸摸 的時(shí)間越長(zhǎng),放大級(jí)別越高。用戶可將手指在顯示設(shè)備上保持一段時(shí)長(zhǎng)(例如,1秒、2~5 秒或任何其他合適時(shí)長(zhǎng))以達(dá)到最大放大率。透鏡動(dòng)畫效果200的第二要素可以是可跟蹤 手指運(yùn)動(dòng)方向的動(dòng)畫透鏡光暈220。透鏡光暈220可以是任何合適的一種或多種顏色的光 譜亮點(diǎn)。透鏡光暈220可以是動(dòng)畫的,圍繞放大區(qū)域210旋轉(zhuǎn)。例如,透鏡光暈220可圍繞 透鏡邊緣旋轉(zhuǎn),直到透鏡光暈220停在手指后面以指示手指運(yùn)動(dòng)方向。
[0035] 圖2B示出了顯示設(shè)備的整體區(qū)域的示例性的動(dòng)畫透鏡觸摸效果250,該顯示設(shè)備 可基本類似于顯示設(shè)備240。透鏡觸摸效果250可以是相似于透鏡動(dòng)畫效果200 (有時(shí)稱為 透鏡觸摸效果)的基于觸摸式傳感器的效果。透鏡觸摸效果250可使用觸摸跟蹤濾波器來 渲染顯示屏上跟隨用戶手指的透鏡畸變。
[0036] 在實(shí)施例中,透鏡觸摸效果250包括兩個(gè)主要要素:放大率和動(dòng)畫透鏡光暈270。 透鏡光暈270可使用下面進(jìn)一步描述的觸摸式傳感器的方向向量信息。透鏡光暈270可圍 繞透鏡(由放大區(qū)域表示)旋轉(zhuǎn)以指示手指運(yùn)動(dòng)方向。透鏡可緩慢無縫地以動(dòng)畫形式放大, 例如,用戶保持其手指在屏幕上的時(shí)間足夠長(zhǎng)以達(dá)到最大放大率。當(dāng)用戶采用例如輸入方 法點(diǎn)擊顯示屏?xí)r,這提供了非常流暢的效果。
[0037] 圖3A描繪了顯示設(shè)備360的區(qū)域中的示例性的透鏡動(dòng)畫效果300,圖3B提供了圖 3A中透鏡動(dòng)畫效果300的放大視圖。放大區(qū)域310可基本類似于放大區(qū)域210,并且可覆 蓋顯示設(shè)備360上的多個(gè)不同應(yīng)用表面的交界處。此外,放大區(qū)域310可在透鏡動(dòng)畫效果 300占據(jù)的內(nèi)容區(qū)域以外的未放大表面片段或像素的旁邊得以顯示。透鏡動(dòng)畫效果300可 通過在多個(gè)坐標(biāo)系統(tǒng)中同時(shí)工作得以實(shí)現(xiàn)。如下文所討論的,屏幕空間可包括顯示設(shè)備的 笛卡爾坐標(biāo),該笛卡爾坐標(biāo)可用于渲染透鏡光暈320和測(cè)試表面像素,以識(shí)別相對(duì)于透鏡 動(dòng)畫效果300的此類表面像素的位置。
[0038] 圖4A和圖4B示出了顯示屏空間如何可用于渲染透鏡動(dòng)畫效果400的實(shí)施例,該 透鏡動(dòng)畫效果400可基本類似于透鏡動(dòng)畫效果200。圖4A描繪了顯示屏空間的哪些參數(shù) 可用于渲染透鏡動(dòng)畫效果400,而圖4B詳細(xì)描述了顯示屏空間的這些參數(shù)如何可用于渲染 透鏡動(dòng)畫效果400。透鏡動(dòng)畫效果400可采用任何合適的形狀或形式來占據(jù)顯示屏上的內(nèi) 容區(qū)域。在實(shí)施例中,內(nèi)容區(qū)域可以是由半徑430和透鏡中心450(或透鏡動(dòng)畫效果中心 450)界定的圓。半徑430可作為效果參數(shù)提供給圖形引擎或圖形效果著色器。圖形引擎 和著色器的詳細(xì)描述可以參見申請(qǐng)?zhí)枮?3/633710、發(fā)明名稱為"帶有基于設(shè)備傳感器/狀 態(tài)的圖形效果的用戶界面顯不構(gòu)圖(User Interface Display Composition with Device Sensor/State Based Graphical Effects)"的美國專利申請(qǐng),其全部?jī)?nèi)容通過引用結(jié)合在 本申請(qǐng)中。
[0039] 在實(shí)施例中,透鏡動(dòng)畫效果中心450可以從用戶觸摸點(diǎn)470的位置開始以大約半 徑430 -半的距離垂直偏移。透鏡動(dòng)畫效果中心450可在用戶觸摸點(diǎn)470上方渲染,以使 用戶手指覆蓋較少的透鏡動(dòng)畫效果400。注意,依據(jù)設(shè)計(jì)可采用任何其他偏移距離。
[0040] 觸摸方向向量460可由觸摸式傳感器確定,并且可處于顯示設(shè)備140上的用戶運(yùn) 動(dòng)的相反方向。在實(shí)施例中,觸摸方向向量460可描述透鏡動(dòng)畫效果400如何返回先前觸 摸位置而不是如何到達(dá)當(dāng)前位置。向量方向可依據(jù)設(shè)計(jì)進(jìn)行顛倒。透鏡光暈420可類似于 光暈220進(jìn)行設(shè)計(jì)。光暈方向440可由透鏡光暈420的中心方向決定,可相對(duì)于觸摸方向 向量460位移大約15度(15° )或任何其他角度。
[0041] 改變圖像層的放大級(jí)別可包括移動(dòng)頂點(diǎn),以使透鏡動(dòng)畫效果400的表面覆蓋額外 的顯示屏空間。在這種情況下,可放大一個(gè)圖像層(而不是整個(gè)層)內(nèi)的圓形區(qū)域。頂點(diǎn) 可能不會(huì)遭到修改。這樣,透鏡動(dòng)畫效果400可與片段著色器內(nèi)部的紋理坐標(biāo)一起實(shí)現(xiàn)。 在計(jì)算機(jī)圖形中,片段可以指需要在幀緩沖中生成繪圖圖元的單個(gè)像素值的數(shù)據(jù)。該數(shù)據(jù) 可包括,但不限于:光柵位置、深度、內(nèi)插屬性(如顏色、紋理坐標(biāo)等)、漏印板、圖像通道、窗 口標(biāo)識(shí)符(ID)以及它們的組合。
[0042] 圖5示出了可基本類似于透鏡動(dòng)畫效果200的觸摸效果500的透鏡畸變?nèi)绾闻c紋 理坐標(biāo)一起實(shí)現(xiàn)的實(shí)施例。如上文所討論的,透鏡動(dòng)畫效果400可占據(jù)透鏡動(dòng)畫效果中心 520的可基本類似于半徑430的透鏡半徑530內(nèi)的圓形區(qū)域所界定的區(qū)域。此外,透鏡動(dòng)畫 效果500覆蓋的顯示屏空間區(qū)域可細(xì)分為兩個(gè)子區(qū)域。第一個(gè)子區(qū)域可包括從透鏡效果中 心(如可視區(qū)域550)出發(fā)的可視半徑510內(nèi)的顯示屏面積區(qū)域。第二個(gè)子區(qū)域可包括從 透鏡效果中心520 (如覆蓋區(qū)域560)出發(fā)的可視半徑510和半徑530之間的由顯示屏面積 區(qū)域界定的區(qū)域。
[0043] 透鏡動(dòng)畫效果500的透鏡畸變可檢測(cè)每個(gè)表面像素,例如,在片段著色器內(nèi),以識(shí) 別表面像素的位置在可視區(qū)域550之內(nèi)還是之外。如果表面像素在透鏡動(dòng)畫效果500的 可視區(qū)域550之內(nèi),可計(jì)算一個(gè)新的紋理坐標(biāo)并映射到透鏡動(dòng)畫效果500的可視半徑510。 可放大確定屬于可視區(qū)域內(nèi)的此類表面像素。可丟棄且不可渲染覆蓋區(qū)域560內(nèi)的表面像 素。確定屬于覆蓋區(qū)域560的這類表面像素可由可視區(qū)域550內(nèi)放大的表面像素覆蓋。因 此,可擴(kuò)大可視區(qū)域550內(nèi)的表面像素來覆蓋透鏡動(dòng)畫效果500占據(jù)的顯示屏空間。因此, 確定屬于覆蓋區(qū)域560的表面像素可能丟失??裳刂枋霎?dāng)前片段540和透鏡效果中心 520之間關(guān)系的方向向量進(jìn)行映射??蛇M(jìn)行由可視半徑510向透鏡半徑530的擴(kuò)展來生成 紋理坐標(biāo)。因此,透鏡畸變可能是顯示設(shè)備140的⑶I畸變。
[0044] 圖6A和6B示出了透鏡光暈強(qiáng)度如何可以隨著離邊緣620的距離變化的實(shí)施例。 透鏡光暈的峰值強(qiáng)度612可出現(xiàn)在與透鏡動(dòng)畫中心650的距離等于半徑630的邊緣620上, 該半徑630可基本類似于半徑430。透鏡光暈強(qiáng)度可在半徑630加上邊長(zhǎng)640的一半和半 徑630減去邊長(zhǎng)640的一半的紋理坐標(biāo)上逐漸變小。例如,多項(xiàng)式曲線610的峰值出現(xiàn)在 放大區(qū)域的邊緣620上,然后沿著邊緣620兩邊逐漸變小。
[0045] 渲染的區(qū)域是原始內(nèi)容區(qū)域的放大版本,從而實(shí)現(xiàn)顯示屏可讀性增強(qiáng),使得在不 增加組件成本的情況下提高用戶體驗(yàn)。另外,成本效益的實(shí)現(xiàn)可讓具有價(jià)格意識(shí)的廠家保 持克爭(zhēng)力。
[0046] 為了說明本發(fā)明的原理,動(dòng)畫透鏡觸摸效果的示例性的實(shí)現(xiàn)方式在此通過含編程 代碼的表進(jìn)行說明。本領(lǐng)域的普通技術(shù)人員將理解,在此詳細(xì)描述的是編程代碼或偽代 碼,而不是所有的變量、語法、函數(shù)和注釋。此外,雖然這里的代碼大多以O(shè)penGL著色語言 (GLSL)編寫,但是任何其他合適的編程語言和/或操作環(huán)境也可在此公開的原理范圍內(nèi)使 用。
[0047] 如表1所示,示例性的實(shí)現(xiàn)方式以建立頂點(diǎn)著色器開始,然后在片段著色器內(nèi)形 成放大鏡。
[0048] 表 1
[0049]
[0050] 透鏡模型的尺寸可用如表2中所定義的效果參數(shù)來表示。例如,兩個(gè)參數(shù)可以是 透鏡半徑和放大級(jí)別(百分比)。百分比放大率可用于計(jì)算可視半徑。
[0051] 表 2
[0053] 放大率要素所需要的最后一個(gè)模型要素是觸摸式傳感器可檢測(cè)到的觸摸位置。注 意,由于手指可能接觸觸摸屏的一個(gè)區(qū)域而不是單個(gè)的點(diǎn),觸摸式傳感器或處理器可確定 手指接觸的中心點(diǎn)或位置,在表3中表示為FINGER1。
[0054] 表