一種基于紋理空間gpu加速的圓形切屏方法及其系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及移動設備圖像處理技術領域,尤其涉及的是一種基于紋理空間GPU加速的圓形切屏方法及其系統(tǒng)。
【背景技術】
[0002]隨著智能電視,智能手機的流行和普及,基于3D的視覺體驗效果也越來越流行起來,為追求更好的用戶體驗,越來越多的3D應用在嵌入式設備上運行起來。目前,圓形切屏的一般通用的方法為,將切屏分成兩層繪制,底層繪制要切換到的目標效果,上層為需要切換的源效果,按照從圖層疊加的次序進行從底向上繪制。為達到切屏的效果,上層需要每幀監(jiān)測切換的百分比,根據(jù)百分比,動態(tài)計算所要繪制節(jié)點的個數(shù),動態(tài)改變節(jié)點上的紋理坐標,這樣需要在每幀消耗大量的CPU。
[0003]因此,現(xiàn)有技術還有待于改進和發(fā)展。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述缺陷,提供一種基于紋理空間GPU加速的圓形切屏方法及其系統(tǒng),可有效減少3D圖形繪制的點數(shù),將計算量從CPU端遷移到GPU端,較大程度的降低了 CPU的占用率,平衡CPU和GPU的負載,提高了嵌入式系統(tǒng)的有效使用率。
[0005]本發(fā)明解決技術問題所采用的技術方案如下:
一種基于紋理空間GPU加速的圓形切屏方法,其中,所述方法包括步驟:
A、初始化構建3D渲染模型,并加載上層紋理及下層紋理;
B、對用戶的觸摸操作進行實時監(jiān)測,當監(jiān)測到用戶的觸摸操作時,根據(jù)所述觸摸操作的滑動軌跡獲取用于控制切屏百分比的控制參數(shù);
C、根據(jù)所述控制參數(shù),確定所述3D渲染模型中填充所述上層紋理中對應像素點的像素值的第一區(qū)域、及填充所述下層紋理中對應像素點的像素值的第二區(qū)域,并填充相應的紋理。
[0006]所述基于紋理空間GPU加速的圓形切屏方法,其中,所述步驟A中所述3D渲染模型、所述上層紋理和所述下層紋理均為單位長度的正方形。
[0007]所述基于紋理空間GPU加速的圓形切屏方法,其中,所述步驟C中所述第一區(qū)域與所述第二區(qū)域的面積之和等于所述3D渲染模型的面積。
[0008]所述基于紋理空間GPU加速的圓形切屏方法,其中,所述步驟B包括:
B1、對用戶的觸摸操作進行實時監(jiān)測,當監(jiān)測到用戶的觸摸操作時,獲取所述觸摸操作的運動軌跡;
B2、當所述運動軌跡為圓弧時,獲取所述圓弧的當前圓心角,并根據(jù)當前圓心角與360°的比例獲取用于控制切屏百分比的控制參數(shù)。
[0009]所述基于紋理空間GPU加速的圓形切屏方法,其中,所述步驟C包括: Cl、將與所述上層紋理對應的上層紋理的幾何中心、與所述下層紋對應的下層紋理的幾何中心、以及與所述3D渲染模型對應的幾何中心均移動至紋理空間的(0.5,0.5)位置上;
C2、確定紋理空間的(0,0.5)為起始掃描線向量,并計算所述3D渲染模型中每個紋理像素的紋理坐標與中心點(0.5,0.5)間的向量,之后獲取所述3D渲染模型中每個紋理像素的紋理坐標與中心點(0.5,0.5)間的向量與起始掃描線向量間的夾角;
C3、當紋理像素的橫坐標大于或等于0.5時,且與該紋理像素點相對應的夾角小于或等于所述控制參數(shù)對應的圓心角,則該紋理像素填充所述下層紋理中對應像素點的像素值;當紋理像素的橫坐標大于或等于0.5時,且與該紋理像素點相對應的夾角大于所述控制參數(shù)對應的圓心角,則該紋理像素填充所述上層紋理中對應像素點的像素值;
C4、當紋理像素的橫坐標小于0.5時,且與該紋理像素點相對應夾角的補角小于或等于所述控制參數(shù)對應的圓心角,則所述當前紋理像素填充所述下層紋理中對應像素點的像素值;當紋理像素的橫坐標小于0.5時,且與該紋理像素點相對應夾角的補角大于所述控制參數(shù)對應的圓心角,則該紋理像素填充所述上層紋理中對應像素點的像素值。
[0010]一種基于紋理空間GPU加速的圓形切屏系統(tǒng),其中,包括:
初始加載模塊,用于初始化構建3D渲染模型,并加載上層紋理及下層紋理;
控制參數(shù)獲取模塊,用于對用戶的觸摸操作進行實時監(jiān)測,當監(jiān)測到用戶的觸摸操作時,根據(jù)所述觸摸操作的滑動軌跡獲取用于控制切屏百分比的控制參數(shù);
填充模塊,用于根據(jù)所述控制參數(shù),確定所述3D渲染模型中填充所述上層紋理中對應像素點的像素值的第一區(qū)域、及填充所述下層紋理中對應像素點的像素值的第二區(qū)域,并填充相應的紋理。
[0011]所述基于紋理空間GPU加速的圓形切屏系統(tǒng),其中,所述3D渲染模型、所述上層紋理和所述下層紋理均為單位長度的正方形。
[0012]所述基于紋理空間GPU加速的圓形切屏系統(tǒng),其中,所述第一區(qū)域與所述第二區(qū)域的面積之和等于所述3D渲染模型的面積。
[0013]所述基于紋理空間GPU加速的圓形切屏系統(tǒng),其中,所述控制參數(shù)獲取模塊包括: 軌跡監(jiān)聽及獲取單元,用于對用戶的觸摸操作進行實時監(jiān)測,當監(jiān)測到用戶的觸摸操作時,獲取所述觸摸操作的運動軌跡;
控制參數(shù)計算單元,用于當所述運動軌跡為圓弧時,獲取所述圓弧的當前圓心角,并根據(jù)當前圓心角與360°的比例獲取用于控制切屏百分比的控制參數(shù)。
[0014]所述基于紋理空間GPU加速的圓形切屏系統(tǒng),其中,所述填充模塊包括:
坐標中心移動單元,用于將與所述上層紋理對應的上層紋理的幾何中心、與所述下層紋對應的下層紋理的幾何中心、以及與所述3D渲染模型對應的幾何中心均移動至紋理空間的(0.5,0.5)位置上;
夾角確定單元,用于確定紋理空間的(0,0.5)為起始掃描線向量,并計算所述3D渲染模型中每個紋理像素的紋理坐標與中心點(0.5,0.5)間的向量,之后獲取所述3D渲染模型中每個紋理像素的紋理坐標與中心點(0.5,0.5)間的向量與起始掃描線向量間的夾角;第一控制單元,用于當紋理像素的橫坐標大于或等于0.5時,且與該紋理像素點相對應的夾角小于或等于所述控制參數(shù)對應的圓心角,則該紋理像素填充所述下層紋理中對應像素點的像素值;當紋理像素的橫坐標大于或等于0.5時,且與該紋理像素點相對應的夾角大于所述控制參數(shù)對應的圓心角,則該紋理像素填充所述上層紋理中對應像素點的像素值;
第二控制單元,用于當紋理像素的橫坐標小于0.5時,且與該紋理像素點相對應夾角的補角小于或等于所述控制參數(shù)對應的圓心角,則所述當前紋理像素填充所述下層紋理中對應像素點的像素值;當紋理像素的橫坐標小于0.5時,且與該紋理像素點相對應夾角的補角大于所述控制參數(shù)對應的圓心角,則該紋理像素填充所述上層紋理中對應像素點的像素值。
[0015]本發(fā)明所提供的一種基于紋理空間GPU加速的圓形切屏方法及其系統(tǒng),方法包括:初始化構建3D渲染模型,并加載上層紋理及下層紋理;對用戶的觸摸操作進行實時監(jiān)測,當監(jiān)測到用戶的觸摸操作時,根據(jù)所述觸摸操作的滑動軌跡獲取用于控制切屏百分比的控制參數(shù);根據(jù)所述控制參數(shù),確定所述3D渲染模型中填充所述上層紋理中對應像素點的像素值的第一區(qū)域、及填充所述下層紋理中對應像素點的像素值的第二區(qū)域,并填充相應的紋理。本發(fā)明有效減少3D圖形繪制的點數(shù),將計算量從CPU端遷移到GPU端,較大程度的降低了 CPU的占用率,平衡CPU和GPU的負載,提高了嵌入式系統(tǒng)的有效使用率。
【附圖說明】
[0016]圖1是本發(fā)明所述基于紋理空間GPU加速的圓形切屏方法較佳實施例的流程圖。
[0017]圖2是本發(fā)明所述基于紋理空間GPU加速的圓形切屏方法中獲取控制參數(shù)的具體流程圖。
[0018]圖3是本發(fā)明所述基于紋理空間GPU加速的圓形切屏方法中填充紋理的具體流程圖。
[0019]圖4a_圖4d分別是所述控制參數(shù)取值為第一值、第二值、第三值及第四值的圓形切屏效果圖。
[0020]圖5是本發(fā)明所述基于紋理空間GPU加速的圓形切屏系統(tǒng)的較佳實施例的結(jié)構框圖。
【具體實施方式】
[0021]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚、明確,以下參照附圖并舉實施例對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]請參見圖1,圖1是本發(fā)明所述基于紋理空間GPU加速的圓形切屏方法較佳實施例的流程圖。如圖1所示,所述基于紋理空間GPU加速的圓形切屏方法,包括以下步驟:
步驟S100、初始化構建3D渲染模型,并加載上層紋理及下層紋理。
[0023]本發(fā)明的實施例中,先初始化構建