日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

對象拾取方法及裝置與流程

文檔序號:12826274閱讀:321來源:國知局
對象拾取方法及裝置與流程
本發(fā)明涉及圖像
技術(shù)領(lǐng)域
,尤其涉及一種對象拾取方法及裝置。
背景技術(shù)
:在基于嵌入式系統(tǒng)開放圖形庫(opengraphicslibraryforembeddedsystems,簡稱opengles)的交互式三維應用程序中,當用戶使用鼠標點擊屏幕中某個點時,應用程序要能夠推導出哪個對象被選中。目前常用射線相交法確定用戶鼠標點擊的是哪個對象,主要原理為:從人眼位置,向用于鼠標點擊位置做射線,由于三維物體表面都是由三角形構(gòu)成的,所以只要通過中央處理器(centralprocessingunit,簡稱cpu)逐個判定該射線是否和某個物體表面的某個三角形相交,與該射線相交的三角形其所在的物體就是用戶鼠標點擊的對象。然而,利用cpu采用射線相交法判定哪個物體被拾取,當物體過多或者物體表面的形狀復雜時,cpu需要判定的三角形的數(shù)量過多,從而導致cpu負載過高,且cpu判定過程耗時較長。技術(shù)實現(xiàn)要素:本發(fā)明提供一種對象拾取方法和裝置,減小了判定拾取對象過程的時間,提高三維應用程序的反應速率。本發(fā)明提供了一種對象拾取方法,包括:分別為鼠標指針對應的場景范圍內(nèi)的每個對象分配不同的純色填充色以形成與每個對象對應的拾取色;在需要拾取對象時,驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系進行純色填充繪制;讀取當前鼠標指針所在位置對應的目標拾取色;根據(jù)所述目標拾取色以及所述對象與拾取色之間的對應關(guān)系,確定所述 鼠標指針對應的場景范圍內(nèi)的與所述目標拾取色對應的目標對象。本發(fā)明還提供一種對象拾取裝置,包括:分配模塊,用于分別為鼠標指針對應的場景范圍內(nèi)的每個對象分配不同的純色填充色以形成與每個對象對應的拾取色;繪制模塊,用于在需要拾取對象時,驅(qū)動顯卡根據(jù)所述分配模塊中對象與拾取色之間的對應關(guān)系進行純色填充繪制;讀取模塊,用于讀取經(jīng)所述繪制模塊繪制后的當前鼠標指針所在位置對應的目標拾取色;確定模塊,用于根據(jù)所述讀取模塊讀取到的目標拾取色以及所述分配模塊中對象與拾取色之間的對應關(guān)系,確定所述鼠標指針對應的場景范圍內(nèi)的與所述目標拾取色對應的目標對象。本發(fā)明提供的一種對象拾取方法及裝置,其中,該方法通過分別為鼠標指針對應的場景范圍內(nèi)的每個對象分配不同的純色填充色以形成與每個對象對應的拾取色;在需要拾取對象時,驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系進行純色填充繪制;讀取當前鼠標指針所在位置對應的目標拾取色;根據(jù)所述目標拾取色以及所述對象與拾取色之間的對應關(guān)系,確定所述鼠標指針對應的場景范圍內(nèi)的與所述目標拾取色對應的目標對象。本發(fā)明提供的技術(shù)方案中顯卡對需要拾取的對象進行純色填充繪制,通過讀取當前鼠標指針所在位置對應的目標拾取色,從而確定鼠標指針所對應的目標對象,也就是說,本發(fā)明通過顯卡輔助判定場景中的哪個物體被拾取,減小判定拾取對象過程的時間,提高三維應用程序的反應速率。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的對象拾取方法實施例一的流程圖;圖2為本發(fā)明實施例提供的對象拾取方法實施例二的流程圖;圖3為本發(fā)明實施例提供的對象拾取方法實施例三的流程圖;圖4為本發(fā)明實施例提供的裁剪區(qū)域的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的對象拾取裝置實施例一的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的對象拾取裝置實施例二的結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明實施例提供的對象拾取方法實施例一的流程圖,如圖1所示,該對象拾取方法,具體包括以下步驟:步驟100、分別為鼠標指針對應的場景范圍內(nèi)的每個對象分配不同的純色填充色以形成與每個對象對應的拾取色。其中,拾取色的分配策略是任意的,只要保證場景中每個對象的拾取對象不同即可。具體的,為每個對象分配不同的純色填充色,以形成與每個對象對應的拾取色,可以將每個對象與每個對象對應的拾取色存入哈希表中,在哈希表中用拾取色來索引對應的對象。以場景中包含3個對象,分別為物體a、物體b和物體c,其中,根據(jù)步驟100,分別為物體a分配紅色,物體b分配藍色,物體c分配藍色為例進行說明,表1為本發(fā)明實施例提供的哈希表,如表1所示,可以根據(jù)拾取色來索引該拾取色對應的三維對象。一般來說,使用c++模板庫中的map來實現(xiàn)這張哈希表,一個map對象可以插入(鍵,值)二元組,可以用鍵為索引查找值,在本實施例中,拾取色是鍵,對應的三維對象是值。表1場景中的物體物體a物體b物體c物體分配拾取色紅色藍色綠色需要說明的是,本發(fā)明并不限于利用哈希表來建立對象和每個對象對應 的拾取色之間的對應關(guān)系,只要能夠建立二者對應關(guān)系的任何形式都在本發(fā)明的保護范圍內(nèi)。步驟200、在需要拾取對象時,驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系進行純色填充繪制。步驟300、讀取當前鼠標指針所在位置對應的目標拾取色。步驟400、根據(jù)目標拾取色以及對象與拾取色之間的對應關(guān)系,確定鼠標指針對應的場景范圍內(nèi)的與目標拾取色對應的目標對象。本發(fā)明提供的對象拾取方法通過分別為鼠標指針對應的場景范圍內(nèi)的每個對象分配不同的純色填充色以形成與每個對象對應的拾取色;在需要拾取對象時,驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系進行純色填充繪制;讀取當前鼠標指針所在位置對應的目標拾取色;根據(jù)目標拾取色以及對象與拾取色之間的對應關(guān)系,確定鼠標指針對應的場景范圍內(nèi)的與目標拾取色對應的目標對象。本發(fā)明提供的技術(shù)方案中顯卡對需要拾取的對象進行純色填充繪制,通過讀取當前鼠標指針所在位置對應的目標拾取色,從而確定鼠標指針所對應的目標對象,也就是說,本發(fā)明通過顯卡輔助判定場景中的哪個物體被拾取,減小判定拾取對象過程的時間,提高三維應用程序的反應速率。進一步地,圖2為本發(fā)明實施例提供的對象拾取方法實施例二的流程圖,如圖2所示,在本發(fā)明上述實施例的技術(shù)方案的基礎(chǔ)上,在本發(fā)明實施例二中,步驟100具體包括以下步驟:步驟101、為顏色空間中的每個純色填充色分配不同正整數(shù)。步驟102、建立并保存純色填充色與純色填充色對應的正整數(shù)的映射表。具體的,這里的映射表可以為哈希表,需要說明的是,本發(fā)明并不對映射表的形式做具體限定。步驟103、為每個對象分配不同正整數(shù),并查找映射表,獲取每個對象對應的純色填充色。進一步地,圖3為本發(fā)明實施例提供的對象拾取方法實施例三的流程圖,如圖3所示,在上述實施例一和實施例二的技術(shù)方案的基礎(chǔ)上,步驟200,具體包括以下步驟:步驟201、根據(jù)鼠標指針所在的位置,限定裁剪區(qū)域,并將裁剪區(qū)域發(fā)送至顯卡。具體的,圖4為本發(fā)明實施例提供的裁剪區(qū)域的結(jié)構(gòu)示意圖,如圖4所示。需要說明的是,本實施例中,并不對裁剪區(qū)域的形狀和尺寸進行限定,裁剪區(qū)域的形狀和尺寸根據(jù)實際情況確定。步驟202、驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系對裁剪區(qū)域進行純色填充繪制。本實施例中提供的技術(shù)方案中根據(jù)鼠標指針所在的位置,限定裁剪區(qū)域,驅(qū)動顯卡對裁剪區(qū)域進行純色填充繪制是為了降低顯卡上的負載。進一步地,在上述實施例一和實施例二的技術(shù)方案的基礎(chǔ)上,在實施例四中,步驟200具體的還可以為:驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系對鼠標指針對應的場景窗口進行純色填充繪制。在本實施例中,驅(qū)動顯卡對場景窗口進行純色填充繪制能夠加速實現(xiàn)對象讀取。具體的,在本實施例中,在驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系進行純色填充繪制時,顯卡禁用透明度混合。具體的,當場景中兩個物體重疊在一起的時候,透明度混合可以得到半透明的效果,但是,在本發(fā)明實施例中,是通過識別對象或者物體上的拾取色進行判斷的,因此,并不需要半透明效果,只要前邊的物體的顏色完全覆蓋掉后邊物體的顏色即可。另外,觸發(fā)顯卡禁用透明度混合,顯卡通過調(diào)用自身的函數(shù)執(zhí)行禁用透明度混合命令,這個步驟是屬于顯卡在繪制裁剪區(qū)域前的預先設(shè)置。本實施例中,觸發(fā)顯卡禁用透明度混合能夠避免顯卡繪制鼠標指針所在的位置出現(xiàn)半透明效果??蛇x地,裁剪區(qū)域為矩形。需要說明的是裁剪區(qū)域還可以為其他形狀,本發(fā)明并不對裁剪區(qū)域的形狀進行限定??蛇x地,若在開源圖形庫中,則步驟400,包括:通過接口函數(shù)glreadpixels讀取當前鼠標指針所在位置對應的目標拾取色。圖5為本發(fā)明實施例提供的對象拾取裝置實施例一的結(jié)構(gòu)示意圖,如圖5所示,該對象拾取裝置,包括:分配模塊500、繪制模塊600、讀取模塊700和確定模塊800。具體的,在本實施例中,分配模塊500,用于分別為鼠標指針對應的場景范圍內(nèi)的每個對象分配不同的純色填充色以形成與每個對象對應的拾取色;繪制模塊600,用于在需要拾取對象時,驅(qū)動顯卡根據(jù)分配模塊500中對象與拾取色之間的對應關(guān)系進行純色填充繪制;讀取模塊700,用于讀取經(jīng)所述繪制模塊600繪制后的當前鼠標指針所在位置對應的目標拾取色;確定模塊800,用于根據(jù)讀取模塊700讀取到的目標拾取色以及分配模塊500中對象與拾取色之間的對應關(guān)系,確定鼠標指針對應的場景范圍內(nèi)的與目標拾取色對應的目標對象。其中,本實施例提供的對象拾取裝置采用圖1對象拾取方法,其實現(xiàn)原理與實現(xiàn)效果類似,在此不再贅述。進一步地,圖6為本發(fā)明實施例提供的對象拾取裝置實施例二的結(jié)構(gòu)示意圖,在上述實施例一的技術(shù)方案的基礎(chǔ)上,在實施例二中,如圖6所示,分配模塊500包括:分配單元501、建立單元502和獲取單元503。具體的,在本實施例中,分配單元501,用于為顏色空間中的每個純色填充色分配不同正整數(shù);建立單元502,用于建立并保存純色填充色與分配單元501中純色填充色對應的正整數(shù)的映射表;獲取單元503,用于為每個對象分配不同正整數(shù),并查找建立單元502中的映射表,獲取每個對象對應的純色填充色。另外,繪制模塊600包括:限定單元601和繪制單元602。具體的,限定單元601,用于根據(jù)鼠標指針所在的位置,限定裁剪區(qū)域,并將裁剪區(qū)域發(fā)送至顯卡;繪制單元602,用于驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系對所述限定單元601中的裁剪區(qū)域進行純色填充繪制。進一步地,在上述實施例一和實施例二的技術(shù)方案的基礎(chǔ)上,在實施例三中,繪制模塊600具體用于驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系對鼠標指針對應的場景窗口進行純色填充繪制。具體的,在繪制模塊驅(qū)動顯卡根據(jù)對象與拾取色之間的對應關(guān)系進行純色填充繪制時,顯卡禁用透明度混合??蛇x地,裁剪區(qū)域為矩形??蛇x地,若在開源圖形庫中,則讀取模塊700,具體用于通過接口函數(shù)glreadpixels讀取當前鼠標指針所在位置對應的目標拾取色。本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1