TWI473004B - 應用程式間的物件拖放 - Google Patents

應用程式間的物件拖放 Download PDF

Info

Publication number
TWI473004B
TWI473004B TW101128926A TW101128926A TWI473004B TW I473004 B TWI473004 B TW I473004B TW 101128926 A TW101128926 A TW 101128926A TW 101128926 A TW101128926 A TW 101128926A TW I473004 B TWI473004 B TW I473004B
Authority
TW
Taiwan
Prior art keywords
processor
application
window
selection
logic
Prior art date
Application number
TW101128926A
Other languages
English (en)
Other versions
TW201324321A (zh
Inventor
Urbach
Original Assignee
Otoy Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Otoy Inc filed Critical Otoy Inc
Publication of TW201324321A publication Critical patent/TW201324321A/zh
Application granted granted Critical
Publication of TWI473004B publication Critical patent/TWI473004B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Description

應用程式間的物件拖放
本發明一般係關於以即時方式,從第一應用程式將三維圖形物件匯出與匯入至第二應用程式,尤其係關於在顯現該第一和第二應用程式的視窗之間該匯出/匯入處理的使用者顯示器上之圖形呈現。
一般而言,圖形程式利用將這些物件轉換成繪畫命令,然後送入圖形API,例如OpenGL或Direct3D,來顯現2D或3D物件。在API顯像管路內,在輸出成為應用程式使用者顯示器上之2D影像之前,繪圖命令經歷許多處理,例如隱藏表面移除、Z緩衝、光柵化以及裁切。可能的話,一般從圖形程式匯出特定3D物件是一項困難的處理,需要解譯程式資料以取得OBJ檔案或其他可讀取的3D格式。類似地,將檔案匯入3D圖形程式需要將3D物件編譯成該圖形程式所需的格式,並且通常需要重新封裝整個3D物件庫才能成功匯入物件。
本發明一般係關於匯出來自一第一3D程式的一物件,以便用即時方式在一第二3D程式內顯像。在一個具體實施例內,電腦系統主控許多應用程式實例,每一應用程式實例都對應至一本機用戶端應用程式。該電腦系統運用其圖形處理單元的資源,同時顯現該應用程式實例的圖形輸出,其中該實例對應至電腦系統顯示器上個別視窗內之該等本機用戶端應用程式至少二者。使用者尋求匯出來自該第一應用程式的3D物件,從該第一視窗選擇一物件並將該物件拖曳至該第二視窗。使用者拖曳該物件時,則會依據使用者的拖曳命令顯現在該電腦顯示器上。然後使用者將該物件放入該第二視窗內顯現的該 第二應用程式中,並且該物件即時匯入該第二應用程式。
在一個具體實施例內,第一電腦系統在本機主控第一應用程式,並且在一應用程式伺服器上主控該第二應用程式。該電腦系統透過其本機硬體顯現該本機應用程式以及該遠端應用程式,並且將API顯現在該電腦系統顯示器上的兩個別視窗內。使用者尋求匯出來自該第一應用程式的3D物件,從該第一視窗選擇一物件並將該物件拖曳至該第二視窗。使用者拖曳該物件時,則會依據使用者的拖曳命令顯現在該電腦顯示器上。然後使用者將該物件放入該第二視窗內顯現的該第二應用程式中,並且將該物件即時匯入該第二應用程式。
在一個具體實施例內,第一電腦系統在本機主控第一應用程式,並且在一應用程式伺服器上主控由伺服器端顯現的該第二應用程式。該電腦系統使用自己的圖形處理器以及圖形API來顯現該本機應用程式,並且由一伺服器端圖形API顯現該遠端應用程式。使用者尋求匯出來自該第一應用程式的3D物件,從該第一視窗選擇一物件並將該物件拖曳至該第二視窗。使用者拖曳該物件時,則會依據使用者的拖曳命令顯現在該電腦顯示器上。然後使用者將該物件放入該第二視窗內顯現的該第二應用程式中,並且將該物件即時匯入該第二應用程式。
在一個具體實施例內,揭示一種將一物件匯入一第二應用程式之方法。該方法包含:由一處理器接收一第一使用者輸入;以及回應該第一使用者輸入,由該處理器選擇一物件,由一第一應用程式以及一顯像API,顯現在一顯示器的一第一視窗內。該方法另包含透過一引擎擷取來自該第一應用程式的該物件,並且由該處理器接收一第二使用者輸入。為回應第二使用者輸入,該方法包含:由該處理器在該顯示器上將該物件從該第一視窗拖曳至顯現在一第二視窗內的一第二應用程式中;以及由該處理器在該拖放期間,將該物件顯示在該第一視窗與該第二視窗之間的一中間空間內。為了回應該物件穿過該第二視窗的一焦點邊界,該方法包含將該物件匯入至該第二應 用程式。
在一個具體實施例內,根據該方法選擇一物件包含:由該處理器將該第一使用者輸入繞行至該引擎;由該處理器攔截從該第一應用程式至該顯像API的繪圖命令;以及由該處理器從該第一應用程式的該繪圖命令決定該物件。該方法另包含由該處理器根據一選擇演算法,選擇該等物件與其他物件。在一個具體實施例內,該選擇演算法設置成選擇該射線命中並連接至該第一物件的所有物件。在一個具體實施例內,該選擇演算法設置成選擇該射線命中並有與該第一物件相同物件識別碼的所有物件。在一個具體實施例內,該選擇演算法設置成選擇該射線命中並有與該第一物件相同動作向量的所有物件。在一個具體實施例內,該選擇演算法設置成選擇該射線命中並有與該第一物件相同紋理的所有物件。
在一個具體實施例內,選擇一物件的該第一使用者輸入為來自一指標裝置的一游標選擇。在一個具體實施例內,選擇一物件的該第一使用者輸入包含圍繞該物件邊界的一使用者軌跡。在一個具體實施例內,選擇一物件的該第一使用者輸入包含一選擇工具,其選擇一預定特性集合的所有連續像素。在一個具體實施例內,選擇一物件的該第一使用者輸入為一觸控介面上的一敲擊。在一個具體實施例內,選擇一物件的該第一使用者輸入為一觸控介面上的一手勢。
在一個具體實施例內,由該處理器從該繪圖命令決定該物件的該方法另包含:由該處理器指派該第一使用者輸入的座標上一場景近端平面之上的一攝影機;以及由該處理器從該攝影機將射線投射至一遠端平面,並選擇該射線命中的該第一物件。該方法也包含:由該處理器接收其他使用者輸入,來擴展或篩選該選擇;其中擴展或篩選該選擇包含:由該處理器選擇或取消選擇一場景內連接至該(等)選取物件的其他物件。
在一個具體實施例內,該擴展或篩選該選擇包含:由該處理器選擇或取消選擇一場景內具有與該(等)選取物件相同物 件識別碼的其他物件。在一個具體實施例內,擴展或篩選該選擇包含:由該處理器選擇或取消選擇一場景內具有與該(等)選取物件相同動作向量的其他物件。在一個具體實施例內,擴展或篩選該選擇包含:由該處理器選擇或取消選擇一場景內具有與該(等)選取物件相同紋理的其他物件。在一個具體實施例內,擴展或篩選該選擇包含:由該處理器選擇或取消選擇一場景內由該進一步使用者輸入所指定的其他物件。在一個具體實施例內,該指定處理包含:由該處理器接收一使用者輸入;由該處理器指派該使用者輸入的座標上該場景近端平面之上的一攝影機;以及由該處理器從該攝影機將射線投射至該遠端平面,並指定該射線命中的該第一物件。
在一個具體實施例內,由該處理器在該顯示器上拖曳該物件包含:由該處理器顯現一無邊界視窗以及該無邊界視窗內一選擇,其中該選擇包含由該使用者選擇的該(等)物件。在一個具體實施例內,為了回應接收使用者輸入將該無邊界視窗從該第一視窗拖曳至該第二視窗,該方法包含根據該使用者輸入,由該處理器將該無邊界視窗移動通過該顯示器。
在一個具體實施例內,由該處理器在該無邊界視窗內顯現該選擇的該方法包含:由該處理器從該第一應用程式複製與該選擇相關聯的該等繪圖命令;由該處理器將來自該第一應用程式的該等繪圖命令插入該顯像API管路;以及由該處理器透過該顯像API來顯現該等繪圖命令。
在一個具體實施例內,將該選擇匯入至一第二應用程式的該方法包含:由該處理器將實施的該選擇轉換至該第二應用程式內;以及由該處理器在該轉換期間於該第二視窗內透過該引擎顯現該選擇。在一個具體實施例內,轉換該選擇包含由該處理器將該等繪圖命令修改成該第二應用程式所運用的一檔案格式。在一個具體實施例內,該檔案格式為一OBJ檔案。
完成該轉換時,該方法包含由該處理器將該選擇匯入該第二應用程式。將該物件匯入該第二應用程式時,該方法另包含 由該處理器停止該引擎顯現處理;以及由該處理器從該第二應用程式內顯現該物件。
在一個具體實施例內,透過該引擎顯現該選擇的該方法包含:由該處理器將該等繪圖命令插入一顯像API管路,該等命令可操作來指揮該顯像API,以將該選擇顯現在該第二視窗內。在一個具體實施例內,該第二應用程式擁有自己的顯像API,並且從該第二應用程式內顯現該選擇包括:由該處理器使用該第二應用程式的顯像API,在該第二視窗內顯現該選擇。
在一個具體實施例內,在無邊界視窗內顯現該選擇的該方法包含:由該處理器獲得第一情況,包含來自該第一應用程式的照明與環境效果,以及獲得第二情況,包含來自該第二應用程式的照明與環境效果。該方法也包含:由該處理器根據該無邊界視窗與該第一和第二視窗的距離,逐漸套用該第一和第二情況。
在一個具體實施例內,揭示一種從一第一應用程式將一物件匯出與匯入至一第二應用程式之系統。在一個具體實施例內,該物件為三維物件。該系統包含:一圖形處理單元;一處理器;以及一儲存媒體,在其上實質儲存由該處理器執行的程式邏輯。在一個具體實施例內,該儲存媒體額外包含該第一和第二應用程式之一或多者。在該儲存媒體內該程式邏輯包含由該處理器執行的第一使用者輸入接收邏輯,來接收一第一使用者輸入。該儲存媒體內含並由該處理器所執行的選擇邏輯選擇一物件,該物件由一第一應用程式以及一顯像API回應接收的該第一使用者輸入,顯現在一顯示器的一第一視窗內。利用該儲存媒體上內含的擷取邏輯,從該第一應用程式中擷取該物件。此外,該處理器執行第二使用者輸入接收邏輯來接收一第二使用者輸入、執行拖曳邏輯將該顯示器上的該物件從該第一視窗拖曳至一第二視窗內顯現的一第二應用程式內,以回應接收該第二使用者輸入以及回應該物件通過該第二視窗的該焦點邊界、執行該儲存媒體內含並由該處理器執行的匯入邏輯, 將該物件匯入該第二應用程式。
在一個具體實施例內,由該處理器執行來選擇一物件的該選擇邏輯另包含也由該處理器執行,將來自該第一應用程式的該第一使用者輸入繞行之繞行邏輯。此外,該選擇邏輯包含:由該處理器執行的攔截邏輯,攔截從該第一應用程式至該顯像API的該等繪圖命令;由該處理器執行的決定邏輯,以從該第一使用者輸入伴隨的該等繪圖命令決定該物件;以及由該處理器執行選擇邏輯,以根據一選擇演算法選擇該三維物件與其他物件。
在一個具體實施例內,該決定邏輯另包含由該處理器執行的指派邏輯,指派該第一使用者輸入的座標上該場景近端平面之上的一攝影機。由該處理器執行該決定邏輯也包含射線投射邏輯,將射線從該攝影機投射至該遠端平面,並選擇該射線命中的該第一物件。
在一個具體實施例內,由該處理器執行的該拖曳邏輯包含:視窗顯現邏輯,用於顯現一無邊界視窗;選擇顯現邏輯,用於在該無邊界視窗內顯現一選擇,其中該選擇包含由該使用者選擇的該(等)物件;以及移動邏輯,根據該等使用者輸入移動該無邊界視窗通過該顯示器,以回應接收到的使用者輸入,以將該無邊界視窗從該第一視窗拖曳到該第二視窗。
在一個具體實施例內,由該處理器執行的該選擇顯現邏輯另包含:複製邏輯,用於複製與該選擇相關聯的該等繪圖命令;插入邏輯,將該等繪圖命令插入該顯像API管路;以及繪圖命令顯現邏輯,透過該顯像API來顯現該等繪圖命令。在一個具體實施例內,該選擇顯現邏輯另包含:第一情況獲得邏輯以及第二情況獲得邏輯,由該處理器執行來獲得第一情況,包含來自該第一應用程式的該等照明與環境效果,以及獲得第二情況,包含來自該第二應用程式的該等照明與環境效果。此外,由該處理器執行的該選擇顯現邏輯包含:情況套用邏輯,以根據該無邊界視窗與該第一和第二視窗的距離,逐漸套用該 第一和第二情況。
在一個具體實施例內,由該處理器執行的該匯入邏輯另包含:轉換邏輯,用於轉換該選擇使其實施於該第二應用程式內,如此該選擇會在該轉換處理完成時匯入該第二應用程式;顯現邏輯,用於在該轉換處理期間將該選擇顯現在該第二視窗內;以及終止邏輯,用於終止該引擎顯現處理,並且在將該物件匯入該第二應用程式時,從該第二應用程式內顯現該物件。在一個具體實施例內,由該處理器執行用於該轉換處理的該轉換邏輯另包含:修改邏輯,將該等繪圖命令修改成該第二應用程式所運用的一檔案格式。在一個具體實施例內,該檔案格式為一OBJ檔案。在一個具體實施例內,該顯現邏輯另包含:由該處理器執行的插入邏輯,將該等繪圖命令插入一顯像API管路,該等命令可操作來指揮該顯像API,將該選擇顯現在該第二視窗內。在一個具體實施例內,第二應用程式顯像API在將該物件匯入該第二應用程式後,在該第二視窗內顯現該選擇。
一電腦可讀取儲存媒體其上儲存指令,當一處理器執行該指令時,會讓該處理器接收一第一使用者輸入並且回應該第一使用者輸入,利用一第一應用程式與一顯像API選擇在一顯示器第一視窗內顯現的一物件。該等指令另導致該處理器透過一引擎從該第一應用程式中擷取該物件。此外,該儲存媒體包含用於接收一第二使用者輸入並且將該顯示器上的該物件從該第一視窗拖曳至一第二視窗內顯現的一第二應用程式之指令,回應該第二使用者輸入。該儲存媒體另包含將該物件匯入該第二應用程式的指令,回應該物件通過該第二視窗的一焦點邊界,將該物件匯入該第二應用程式。
利用參照下列詳細說明以及附圖,精通技術人士就可了解特徵可結合的這些與其他具體實施例。
底下將參考附圖更完整說明本主張標的,這形成本說明書 的一部分,並且藉由例示顯示特定範例具體實施例。不過,本主張標的可具體實施於許多不同形式,因此所涵蓋或申請主張標的的建構並不受限於本說明書所揭示的任何範例具體實施例;範例具體實施例僅為例示。同樣,本發明在於提供合理寬闊的範疇給所申請或涵蓋之主張標的。除此之外,例如主張標的可具體實施為方法、裝置、元件或系統。因此,具體實施例可採用例如硬體、軟體、韌體或這些的任意組合(已知並非軟體)之形式。因此,下列詳細說明並不設限。
在附圖中,某些特徵會誇大以顯示特定元件的細節(並且圖式內顯示的任何尺寸、材料和類似細節僅為例示並無限制)。因此,本說明書內揭示的特定結構和功能細節不可解釋為限制,而僅為教導精通技術人士了解所揭示具體實施例的呈現。
底下藉由參考方法與裝置的方塊圖以及操作例示,選擇與呈現關於指定主題的媒體,來描述本發明。吾人瞭解,藉由數位硬體與電腦程式指令可實施方塊圖的每一方塊或操作例示以及方塊圖內方塊或操作例示的組合。這些電腦程式指令可提供給一般用途電腦、特殊用途電腦、ASIC或其他可程式資料處理設備的處理器,如此由電腦或其他可程式資料處裡設備的處理器所執行之指令,實施方塊圖或操作方塊內所指定的功能/動作。許多態樣或特徵將以包括許多裝置、元件、模組等的系統來表示。吾人將瞭解,許多系統可包括額外裝置、元件、模組等,及/或不包括圖式內所討論的所有裝置、元件、模組等。在此也可使用這些方式的組合。
在某些替代實施當中,方塊內提到的功能/動作可以不依照操作例示內之順序來執行。例如:兩連續顯示的方塊實際上可同時執行,或可顛倒順序執行,這取決於所牽涉到的功能/動作。更進一步,藉由範例提供本發明內流程圖所呈現與描述的方法之具體實施例,以便提供更廣泛瞭解的技術。所揭示方法並不受限於此處所呈現的操作與邏輯流程。在此也考量已經 改變許多操作順序的替代具體實施例,其中描述為較大操作一部分的次操作可單獨執行。
針對本發明的目的,應該瞭解「伺服器」一詞代表提供處理、資料庫以及通訊設施的服務點。藉由範例並且不設限,「伺服器」一詞代表與通訊、資料儲存體以及資料庫設施相關聯的單一、實體處理器,或可代表處理器以及相關網路和儲存裝置,以及作業軟體和一或多個支援使用者所提供服務的資料庫系統以及應用軟體之網路或叢集複雜組合。
計算裝置可傳送或接收信號,例如透過有線或無線網路,或可處理或儲存信號,例如在實體記憶狀態的記憶體內,因此可當成伺服器。如此,可當成伺服器的裝置包括例如專用機櫃型伺服器、桌上型電腦、膝上行電腦、機上盒、結合許多功能的整合裝置,例如上述裝置的二或多種功能或等等。伺服器的設置或能力可非常廣泛,但是伺服器一般可包括一或多個中央處理單元與記憶體。伺服器也可包括一或多個大量儲存裝置、一或多個電源供應器、一或多個有線或無線網路介面、一或多個輸入/輸出介面或一或多個作業系統,例如Windows Server、Mac OS X、Unix、Linux、FreeBSD或等等。
整個說明書與申請專利範圍中,詞彙具有超出上下文中明確陳述意義的建議或暗示含意。同樣地,本說明書內使用的「在一個具體實施例內」片語並不必要參照相同具體實施例,並且本說明書內使用的「在其他具體實施例內」片語並不必要參照不同的具體實施例。其目的在於例如主張的標的包括全部或部分範例具體實施例的組合。一般來說,至少部分從上下文的使用當中可了解詞彙。例如:本說明書內使用的「及」、「或」或是「及/或」等詞包括許多含義,其也至少部分取決於這些用語所使用的範疇。通常「或」若用於關聯一清單,例如A、B或C,就是要表示A、B和C,這用於包括的情況,而A、B或C則用於專屬情況。此外,根據至少部分上下文,本說明書內使用的「一或多個」一詞用來描述單一型態的任何特徵、結構 或特性,或可用於描述複數型態的特徵、結構或特性的某些組合。同樣地,根據至少部分上下文,例如「一」(a、an)或「該」(the)這些詞彙同樣表示單數用法或複數用法。此外,「根據」一詞可了解並不必要表達專屬因素集合,而是根據至少部分上下文,允許存在不需明確說明的其他因素。
本發明一般係關於匯出來自一第一3D程式的一物件,以便用即時方式在一第二3D程式內顯像。在一個具體實施例內,電腦系統主控許多應用程式實例,每一應用程式實例都對應至一本機用戶端應用程式。該電腦系統運用其圖形處理單元的資源,同時顯現該應用程式實例的圖形輸出,其中該實例對應至電腦系統顯示器上個別視窗內之該等本機用戶端應用程式至少二者。使用者尋求匯出來自該第一應用程式的3D物件,從該第一視窗選擇一物件並將該物件拖曳至該第二視窗。使用者拖曳該物件時,則會依據使用者的拖曳命令顯現在該電腦顯示器上。然後使用者將該物件放入該第二視窗內顯現的該第二應用程式中,並且該物件即時匯入該第二應用程式。
顯像可考慮為從一模型產生一影像之處理,通常藉由電腦程式。該模型通常為三維(3D)物件的描述,並且可呈現在嚴格定義的語言或資料結構內。該模型可內含外型、觀點、紋理、照明、陰影、動作以及其他合適的資訊類型。該模型所顯像的影像可為數位影像或是光柵圖形影像,其可由像素集合所形成。本說明解釋顯像來產生一影像的概念,該影像呈現任何應用的任何輸出。該顯像可根據任何資料來執行,包括二維(2D)資料以及3D資料。除了根據3D模型產生影像之外,特定具體實施例可顯現代表應用程式輸出的影像,像是例如並且不受限於網路瀏覽應用程式、文字處理應用程式、試算表應用程式、多媒體應用程式、科學與醫療應用程式以及遊戲應用程式。
可能的話,修改來自一3D程式的物件通常是一項費力的作業。若使用者並沒有在例如3D Studio Max或瑪雅(Maya)這類3D圖形程式內執行修改的原始OBJ或其他格式檔案,則該使用 者必須將該第一3D程式使用的3D圖形檔案解譯。該圖形檔案可儲存在程式安裝路徑內的已知目錄內,或編譯成實際程式碼。在任何情況下,該使用者都必須執行許多步驟,才能獲得格式為3D圖形程式可讀取的物件檔案。類似地,修改該物件檔案之後,為了從該第一程式內檢視3D物件的外觀,該使用者必須重新編譯或將該物件匯入該第一程式的程式碼。此處理相當費時,並且會因使用遠端應用程式而加劇。
顯像可能是一種適合伺服器執行的作業,因為該顯像處理相當耗費資源,需要非常大量的計算,尤其是當顯現的影像為高解析度以及高品質時。在過去,舊式電腦系統可能要耗費幾小時或幾天的時間,才能將三維模型顯現成單一2D影像。隨著電腦硬體的發展與進步,尤其是專門設計用於電腦圖形應用程式(例如遊戲、多媒體、娛樂或映射)的電腦硬體,目前的電腦系統可在幾秒或幾微秒內顯現每一影像。事實上,伺服器不需動用所有資源就可將模型顯現成單一影像。如此,使用伺服器端顯像的遠端應用程式就變成更加盛行。
為了更能夠幫助從第一3D程式匯出3D物件來匯入第二3D程式,軟體引擎可回應使用者命令,藉由攔截從該第一應用程式到該3D圖形顯像管路的繪圖命令,並將命令插入來自第二應用程式的已知場景之繪圖命令內,來選擇一特定物件。在特定具體實施例內,該第二應用程式可為個別伺服器上主控的遠端應用程式。在其他具體實施例內,該第二應用程式可為伺服器端顯現的遠端應用程式。
第一圖例示執行本機第一應用程式105和本機第二應用程式106的範例計算系統101。在正常操作中,使用者例如透過操縱使用者硬體108,並且I/O介面107將來自使用者/硬體108的信號轉譯成指令給第一應用程式105或第二應用程式106,來啟動系統101。應用程式105和106都輸出繪圖命令給顯像API 104,用於顯現2D或3D場景。顯像API 104將繪圖命令傳遞通過顯像管路(未顯示),將繪圖命令轉換成圖形硬體103可執行的指 令,以便在顯示器102上顯現2D或3D場景。在一個具體實施例內,第一應用程式105顯現在顯示器102一部分上的第一視窗內,並且第二應用程式106顯現在顯示器102一不同部分上的第二視窗內。在一個具體實施例內,引擎109為在處理器(未顯示)上執行的軟體常式,該處理器包含在系統101內同時具有第一應用程式105和第二應用程式106。引擎109持續監控I/O介面107,用以指示開始該拖放處理。當在刪除這些指令時,該等指令會透過路徑110繞行至引擎109。使用者可用許多方法開始拖放處理,包括但不受限於:特殊按鍵動作、按住預定按鍵結合滑鼠或其他指標裝置輸入、觸碰一觸控輸入裝置或在觸控輸入裝置上的特定手勢。一旦該等命令已經透過路徑110繞行至引擎109,引擎109允許使用者選擇任何應用程式視窗內一個已知的物件。引擎109也監控該等繪圖命令從第一應用程式105和第二應用程式106至顯像API 104,並且使用繞行的使用者輸入110,以決定使用者要選擇場景內哪個物件。引擎109擷取對應至使用者想要選擇之物件的繪圖命令,並且將這些命令傳遞至顯像API 104使其顯現於拖曳處理期間。在放下處理期間,引擎109繼續將該(等)物件的繪圖命令傳遞至顯像API 104,用於在第二應用程式106的視窗內顯現,但是同時將繪圖命令轉換成匯入第二應用程式106的格式。完成轉換與匯入處理時,引擎109停止將繪圖命令傳送給顯像API 104,並且透過第二應用程式106專門顯現選取的物件。底下提供更詳細的抓取、拖曳以及放下處理的解釋。第一圖內只例示兩個應用程式以便簡化討論。不過在實施時可了解,根據本說明書內描述的具體實施例,計算系統101可同時執行任意數量的應用程式,顯現從一個應用程式匯出至另一個應用程式的許多物件。
第二圖例示拖放處理的高階流程。在步驟201上,該計算系統開始運行多個應用程式。在步驟202上,使用者開始抓取處理,詳細說明於第四圖內。在步驟203上,使用者將所要的物件從顯示該第一應用程式的視窗拖曳至顯示該第二物件的 視窗,此詳細說明於第五圖內。最終在步驟204上,使用者將該物件拖入第二應用程式的視窗,也稱之為重新輸入處理,此進一步詳細說明於第六圖內。
第三圖例示拖放處理期間使用者顯示器的呈現。一開始,計算系統的顯示器內含兩分開的視窗,第一視窗301內含已經顯現的第一應用程式之輸出,並且第二視窗內含已經顯現的第二應用程式304之輸出。第一視窗301內顯現的是物件303a和303b。事實上,第一視窗301和第二視窗304可內含任意數量的物件。第三圖為了討論所以限制為兩個物件。
第三圖內將第一視窗301放大顯示標為305。使用者可用多種不同的方法選擇物件303a,例如使用輸入裝置按一下或在觸控螢幕觸動一下物件303a上的單一點307、使用輸入裝置或在觸控螢幕上追蹤一路徑308通過物件303a,或用輸入裝置或在觸控裝置上畫一選擇框306圍繞物件303a。其他輸入方法包括但不受限於:手勢、選擇棒以及多邊形選擇框,此為精通技術人士就可輕易想像的。
選擇物件303a時,使用者沿著路徑302將顯示器上的物件從第一視窗301拖曳到第二視窗304。在某些具體實施例內,複製該物件,並且仍舊顯現在視窗301內,而副本303c沿著路徑302顯現在第一視窗301與第二視窗304之間延伸的中間空間內。在其他具體實施例內,實際物件303a從視窗301移動到視窗304。路徑302由使用者輸入所決定,並且可採用至或來自視窗301至視窗304的任何路徑。
在通過第二視窗304的焦點邊界時,該引擎開始重新輸入或放下處理。當使用者依所要將物件303a放入視窗304時,使用者發出命令將物件303a放入視窗304內。在該點上,該拖放處理已經完成並且該引擎將物件303a當成物件303d匯入第二應用程式,以顯現在第二視窗304內。
第四圖描述抓取處理的處理流程。在401上,該引擎接收一選擇輸入,選擇該所要的物件。本發明想像多種選擇輸入方 法,如上所述。接收到該選擇輸入時,該引擎將來自該第一應用程式目的地為該顯像API的該等繪圖命令繞行至該引擎本身。引擎可從這些繪圖指令重新建立由該第一應用程式顯現的場景。在3D場景的範疇中,該引擎此時具有已知場景內的所有3D物件,以及該第一應用程式所使用的攝影機點和視野來顯現該場景。
在一個具體實施例內,該使用者輸入為該第一視窗上該所要物件上之單一點。在步驟402上,該引擎將該輸入選擇解析為該顯現畫面內的一圖形物件。為了將此二維輸入轉譯成三維物件,因此運用傳統的3D物件選擇方法。一種方法為指派該使用者輸入位置上該3D場景的近端平面之上的攝影機,並且射線從該攝影機投射至該遠端平面,選擇該射線命中的該第一物件。在其他具體實施例內,一選擇工具選擇與該射線所命中該第一物件接觸的所有物件。在其他具體實施例內,選擇工具選擇具有與該射線所命中該第一物件相同物件識別碼,例如標籤或其他中繼資料,的所有物件。在其他具體實施例內,一選擇工具選擇具有與該射線所命中該第一物件相同紋理的所有物件。仍舊在其他具體實施例內,一選擇工具選擇具有與該射線所命中該第一物件相同動作向量的所有物件。
在步驟403上,該引擎根據使用者輸入篩選或擴充該使用者選擇。該使用者可選擇以和原始物件相同的選擇方式,或某些其他輸入方式,例如按住修改器增加選擇,或在其他物件四周畫出選擇框來選擇,以增加該選取物件。類似地,可用蹦現視窗讓使用者選擇具有相同動作向量、紋理、中繼資料等的其他物件。類似地,使用者可用類比方式從該選擇中篩選出物件。使用者可用按鍵從選擇當中扣除物件,並且按一下個別物件或在要從選擇中排除的物件四周畫出選擇框。此外,使用者可提供下拉式選單,篩選出具有相同動作向量、紋理、中繼資料標籤等的物件。本發明想像從一選擇中加入或扣除的多種方法,這些為精通技術人士所熟知。
使用者滿意之後,使用者在步驟404上輸入命令開始拖曳處理。命令可包括但不受限於:按住輸入裝置的按鈕結合移動該輸入裝置來拖曳選取的物件、觸控輸入裝置上的特定手勢、按住鍵盤上的按鍵結合移動該輸入裝置等等。本發明預想開始拖曳處理404的多種方法。
第五圖例示拖曳處理的流程。在501上,該引擎在計算系統顯示器上建立一個視窗。在一個具體實施例內,該視窗具有可見的邊界。在一個具體實施例內,該視窗無邊界。無邊界視窗僅為第二顯示器上完全透明的指定區域,該顯示器上實際顯現的物件為該無邊界視窗內含的圖形物件。在步驟502上,該引擎將該物件寫入該無邊界視窗內。該引擎利用將與該選擇相關聯的該等繪圖命令從該第一應用程式繞行至該引擎,來執行此步驟。然後該引擎將這些繪圖命令傳送至該顯像API,當成要顯現在該無邊界視窗內的物件。該顯像API正常透過該顯像管路處理該等繪圖命令,並且將該場景顯現在該邊界視窗內的畫面上。因為該無邊界視窗透明,所以只有該物件出現從該第一視窗移動至該第二視窗。如此在拖曳處理期間,該顯像API處理除了該引擎以外來自至少兩個應用程式的繪圖命令。
該引擎根據透過輸入輸出介面107從該使用者接收的無邊界視窗移動命令,傳輸與該(等)選取物件相關聯的該等繪圖命令。如所述,本發明預想多種輸入方法,讓使用者在該拖曳處理期間調整無邊界視窗的位置。
在任何時間上,該引擎不會接收使用者命令來移動該無邊界視窗,在步驟504上,該引擎輪詢一使用者輸入命令,以決定是否已經發出放下命令。在步驟505內,偵測到放下命令後將該處理傳送至該重新輸入處理。放下命令可為來自使用者輸入設備的任何指令,指出該使用者想要將該物件匯入在該第二視窗內顯現的該第二應用程式內。放下命令可包含但不受限於:放開滑鼠或其他輸入裝置上的按鈕、觸控輸入裝置上的手勢或按下輸入裝置上的其他按鍵。精通技術人士可預想放下命 令的其他使用者輸入方法。在一個具體實施例內,一旦拖曳該物件通過該第二視窗的該焦點邊界,就立刻開始重新輸入處理。
第六圖例示重新輸入處理的流程。在601上,開始該重新輸入處理。利用來自該使用者的明確放下指令,或拖曳該選擇通過該第二視窗焦點邊界之動作,就會觸發該重新輸入處理。當該重新輸入處理開始時,該引擎開始將該物件從繪圖命令轉換成在該第二應用程式內實施的格式。在3D範疇中,該引擎開始將該繪圖命令轉換成匯入該第二應用程式內的3D物件檔案。例如:使用者可在第一視窗內執行3D遊戲應用程式,並且在第二視窗內執行3D圖形編輯程式來編輯已知模型。在選擇所要物件之後,使用者將物件拖曳至第二視窗,並且重新輸入處理開始將該物件伴隨的該等繪圖命令轉換成3D物件檔案,例如OBJ檔案。
在步驟602上,該引擎利用將該物件伴隨的該等繪圖命令傳至該顯像API,繼續顯現該物件。因為該轉換處理相當耗時並且佔用處理器,所以該引擎繼續顯現該物件,同時進行該轉換。該引擎利用將繪圖命令插入來自該第二應用程式至該顯像API的該繪圖命令串流,來顯現該物件。如此在重新輸入期間,該引擎不僅只是將該物件顯現於重疊在該第二視窗頂端上的該無邊界視窗內,而是實際將該物件整合至該第二應用程式,如同由該第二應用程式匯入與顯現,包括環境效果。第七圖內提供此特徵的詳細例示。
在步驟603上,該轉換已經完成並且該物件檔案已經匯入該第二應用程式內。每一應用程式的以及每一檔案格式的匯入處理都不同。在3D圖形編輯程式的範疇內,若使用者直接從該3D圖形編輯程式開啟該檔案,則該檔案會匯入該程式的工作空間內。在步驟604上,將該物件成功匯入該第二程式之後,該引擎終止該物件的顯現,並且由該第二應用程式顯現該物件。該整個重新輸入處理都完美銜接,不會將多個顯現處理或 檔案轉換告知使用者。使用者不會察覺到該引擎在背景內的處理,並且若只將該物件從該第一視窗拖放至該第二視窗,則顯現該物件。
第七圖描述拖放處理整合環境效果的呈現。在第一視窗701內,物件702a簡單顯示為一個球體,具有來自視窗701左上角的光源703。在第二視窗704內,該3D場景的環境包括右上角的光源705。在抓取處理期間,該引擎獲得環境效果以及視窗701和704的照明,並且根據該物件與每一視窗的距離,將該環境效果與照明調整套用至該選取的物件702a。如此,拖曳物件702a朝向該第二視窗時,物件702a的陰影根據與光源703和705的距離而變,如702b、702c、702d和702e所示。該引擎利用將這些環境效果傳送至該顯像API之前,將其套用至該物件的該等繪圖命令,來顯現這些環境效果。環境效果並不受限於照明,精通技術人士可預想為霧、煙、模糊、粒子效果、反射以及其他熟知的環境效果。
第八圖描述計算系統801的具體實施例,其中兩個應用程式之一者為在應用程式伺服器809上執行的遠端應用程式810。在這種情況,引擎805的操作不會改變。該引擎攔截來自I/O介面807的指令,並在拖放處理操作期間,沿著路徑811將該指令繞行至該引擎。假設該使用者從本機應用程式806拖曳並且放入遠端應用程式810,則在該抓取處理期間,攔截並使用從本機應用程式806至顯像API 804的繪圖命令,讓該使用者選擇所要的物件。在該拖曳處理期間,引擎805利用將該選擇的該等繪圖命令繞行至顯像API 804,來處置該無邊界視窗內該物件的顯現。當該使用者將該物件放入遠端應用程式810的視窗時,引擎805開始轉換處理,同時繼續顯現該選取的物件。完成該轉換時,透過網路連結814將該已轉換的物件檔案傳輸至應用程式伺服器809,用於匯入至遠端應用程式810。匯入之後,引擎805終止傳送繪圖命令至顯像API 804,並且系統正常操作。在其他具體實施例內,該使用者將一物件從遠端應用程 式拖曳至本機主控的應用程式。該系統以此配置中大體上類似的機制來運作。
第九圖描述計算系統901的具體實施例,其中應用程式908之一者為在應用程式伺服器907上執行的遠端應用程式,具有透過其顯像API 909的伺服器端顯像。依照範例,該使用者將應用程式從本機應用程式905的視窗拖曳到遠端顯像應用程式908的視窗。系統901的運作大體上與第八圖內的相同。引擎910攔截來自I/O介面906的I/O輸入,並在拖放處理操作期間沿著路徑914繞行。在抓取處理期間,引擎910將來自本機應用程式905目的地為本機顯像API 904的該等繪圖命令繞行至該引擎。使用者選擇該物件之後,引擎910沿著路徑915將該等命令繞行至本機顯像API 904。在該拖曳處理期間,由本機顯像引擎904顯現該選取物件的已繞行繪圖命令,以便在該無邊界視窗內顯現該物件。該重新輸入處理開始時,該引擎開始將該物件檔案轉換成用於匯入遠端應用程式908的物件檔案。當該檔案已經轉換時,該檔案透過路徑916匯入遠端應用程式908。然後該引擎停止透過本機顯像API 904顯現該物件,並且該物件專門透過遠端顯像API 909來顯現。
該具體實施例存在特殊情況,其中使用者想要選擇來自遠端應用程式,例如應用程式908,具有伺服器端顯現的物件。在這種具體實施例內,該引擎必須在遠端應用程式908的輸出進入遠端顯像API 909之前存取該輸出。這必須是需要遠端應用程式伺服器907上所有軟體的特殊實施,或最少伺服器907允許引擎910監控遠端應用程式908與顯像API 909間之路徑。在這種情況下,來自應用程式908的該等繪圖命令繞過網路連線913到達引擎910。只有從具有伺服器端顯像的遠端應用程式抓取物件時,才會發生此特殊情況。
本發明預想多種配置,例如從一個遠端應用程式拖曳至另一個,或將來自一個應用程式的物件複製/貼上至其他多個應用程式。精通此技術的人士可迅速考慮這種具體實施例。雖然 本發明描述從第一應用程式拖放至第二應用程式的單一實例,精通技術人士可預想從第一應用程式拖曳至第二應用程式、編輯該物件然後將編輯過的物件拖曳至第一應用程式,即時檢視變更。
特定具體實施例可實施為硬體、軟體或這兩者的組合。例如並且不受限制,一或多個電腦系統可執行特定邏輯或軟體,來執行本說明書所描述或例示的一或多個處理中之一或多個步驟。適當情況下,一或多個電腦系統可為單體或分散式、跨多部電腦系統或多個資料中心。本發明考慮任何合適電腦系統。在特定具體實施例內,執行本說明書內所描述或例示的一或多個處理之一或多個步驟並不受限於一或多個特定地理位置,並且不必具有時間上的限制。適當情況下,如範例並且不設限,一或多個電腦系統可用「即時」、「離線」方式在「批次模式」內,或是上述合適的組合內執行其功能。適當情況下,一或多個電腦系統可在不同時間、不同地點上,使用不同處理來執行一或多個功能。適當情況下,其中邏輯的參考可包含軟體,反之亦然。適當情況下,軟體的參考可包含一或多個電腦程式,反之亦然。適當情況下,軟體的參考可包含資料、指令或這兩者,反之亦然。適當情況下,類似地,資料的參考可包含指令,反之亦然。
一或多個電腦可讀取儲存媒體可儲存或者具體實施軟體,來實施特定具體實施例。適當情況下,電腦可讀取媒體可為任何媒體,可執行、通訊、內含、維持、維護、傳播、保存、儲存、傳輸、運輸或具體實施軟體。適當情況下,電腦可讀取媒體可為生物、化學、電子、電磁、紅外線、磁性、光學、量子或其他合適的媒體或二或多個這些媒體的組合。電腦可讀取媒體可包括一或多個奈米等級元件,或具體實施奈米等級的設計或製造。範例電腦可讀取儲存媒體包括但不受限於光碟(compact disc,CD)、場可程式閘陣列(field-programmable gate array,FPGA)、軟碟、光磁磁碟、硬碟、全息圖儲存裝置、積 體電路(integrated circuit,IC)(例如應用專屬積體電路(application-specific integrated circuit,ASIC))、磁帶、快取、可程式邏輯裝置(programmable logic device,PLD)、隨機存取記憶體(random-access memory,RAM)裝置、唯讀記憶體(read-only memory,ROM)裝置、半導體記憶體裝置以及其他合適的電腦可讀取儲存媒體。
在適當情況下,軟體實施特定具體實施例可用任何合適的程式語言(可為程序或物件導向)或程式語言的組合來撰寫。在適當情況下,任何合適的電腦系統類型(例如單或多處理器電腦系統)都可執行軟體實施特定具體實施例。在適當情況下,一般用途電腦系統可執行軟體實施特定具體實施例。
例如:第十圖例示適合用於實施特定具體實施例中一或多個部分的範例電腦系統1000。雖然本發明描述與例示一種在特定組態內具有特定元件的特定電腦系統1000,不過本發明考慮在任何合適組態內具有任何合適元件的任何合適電腦系統。再者,電腦系統1000可採用任何合適的實體形式,像是例如一或多個積體電路(IC)、一或多個印刷電路板(printed circuit board,PCB)、一或多個手持式或其他裝置(例如行動電話或PDA)、一或多部個人電腦或一或多部超級電腦。
系統匯流排1010將電腦系統1000的子系統彼此耦合。其中參考匯流排包含一或多個共用的數位信號線路。本發明考慮任何合適的系統匯流排1010,包括具有任何合適匯流排架構的任何合適匯流排結構(例如一或多個記憶體匯流排、一或多個周邊匯流排、一或多個區域匯流排或上述的組合)。範例匯流排架構包括但不受限於工業標準架構(Industry Standard Architecture,ISA)匯流排、增強型ISA(Enhanced ISA,EISA)匯流排、微通道架構((Micro Channel Architecture,MCA)匯流排、視訊電子標準協會區域(VLB)匯流排、周邊組件互連(Peripheral Component Interconnect,PCI)匯流排、PCI-Express匯流排(PCI-X)以及加速圖形連接埠(Accelerated Graphics Port,AGP)匯流排。
電腦系統1000包括一或多個處理器1020(或中央處理單元(CPU))。處理器1020可包含用於指令、資料或電腦位址本機暫時儲存的快取1022。處理器1020耦合至一或多個儲存裝置,包括記憶體1030。記憶體1030可包括隨機存取記憶體(RAM)1032以及唯讀記憶體(ROM)1034。資料與指令可在處理器1020與RAM 1032之間雙向傳輸。資料與指令可從ROM 1034單向傳輸至處理器1020。RAM 1032與ROM 1034可包括任何合適的電腦可讀取儲存媒體。
電腦系統1000包括固接式儲存裝置1040,雙向耦合至處理器1020。固接式儲存裝置1040可透過儲存控制單元10102耦合至處理器1020。固接式儲存裝置1040可提供額外資料儲存容量,並且可包括任何合適的電腦可讀取儲存媒體。固接式儲存裝置1040可儲存作業系統(operating system,OS)1042、一或多個可執行檔1044、一或多個應用程式或程式1046、資料1048等等。固接式儲存裝置1040一般為一次要儲存媒體(例如硬碟),速度比主要儲存裝置慢。在適當情況下,固接式儲存裝置1040儲存的資訊可當成虛擬記憶體併入記憶體1030。
處理器1020可耦合至許多介面,像是例如圖形控制器10104、視訊介面10108、輸入介面1060、輸出介面1062以及儲存介面1064,其可依序分別耦合至適當裝置。範例輸入或輸出裝置包括但不受限於視訊顯示器、軌跡球、滑鼠、鍵盤、麥克風、觸控顯示器、傳感器讀卡機、磁帶或紙帶讀取器、平板、觸控筆、語音或手寫辨識器、生物識別讀取器或電腦系統。網路介面10106可將處理器1020耦合至其他電腦系統或網路1080。在具備網路介面10106時,處理器1020可在特定具體實施例執行步驟期間從網路1080接收資訊或傳送資訊至網路1080。特定具體實施例可單獨在處理器1020上執行。特定具體實施例可在處理器1020上執行,以及在一或多個一起操作的遠端處理器上執行。
在網路環境內,其中電腦系統1000連線至網路1080,電腦系統1000可與連線至網路1080的其他裝置通訊。電腦系統1000可透過網路介面10106與網路1080通訊,例如:電腦系統1000可在網路介面10106上,以一或多個傳入封包的形式,從網路1080接收資訊(例如來自其他裝置的要求或回應),並且記憶體1030可儲存傳入的封包供後續處理。電腦系統1000可從網路介面10106以一或多個傳出封包的形式,將資訊(例如對其他裝置的要求或回應)傳送至網路1080,而這些封包在傳送之前已經儲存在記憶體1030內。根據特定需求,處理器1020可存取記憶體1030內傳入或傳出的封包來處理這些封包。
電腦系統1000可具有一或多個輸入裝置1066(可包括數字鍵盤、鍵盤、滑鼠、觸控筆等)、一或多個輸出裝置1068(可包括一或多個顯示器、一或多個喇叭、一或多個印表機等)、一或多個儲存裝置1070以及一或多個儲存媒體1072。輸入裝置1066可在電腦系統1000之外或之內。輸出裝置1068可在電腦系統1000之外或之內。儲存裝置1070可在電腦系統1000之外或之內。儲存媒體1072可在電腦系統1000之外或之內。
特定具體實施例牽涉到一或多個電腦儲存產品,包括一或多個電腦可讀取儲存媒體,具體實施軟體來執行本說明書內所描述或例示的一或多個處理中之一或多個步驟。在特定具體實施例內,媒體、軟體或兩者的一或多個部分可經過特別設計與製造,來執行本說明書內所描述或例示的一或多個處理中之一或多個步驟。此外或另外,在特定具體實施例內,一般可用媒體、軟體或兩者的一或多個部分,並不用針對本說明書內所描述或例示的一或多個處理來設計與製造。範例電腦可讀取儲存媒體包括但不受限於CD(例如CD-ROM)、FPGA、軟碟、光磁磁碟、硬碟、全息圖儲存裝置、IC(例如ASIC)、磁帶、快取、PLD、RAM裝置、ROM裝置、半導體記憶體裝置以及其他合適的電腦可讀取儲存媒體。在特定具體實施例內,軟體可為編譯器可產生的機械碼,或者內含電腦使用解譯器可執行的較高 階程式碼之一或多個檔案。
針對範例並且不受限制,記憶體1030可包括一或多個電腦可讀取儲存媒體,其具體實施軟體,並且在處理器1020執行該軟體之後,電腦系統1000可提供本說明書內描述或例示的特定功能性。記憶體1030可儲存並且處理器1020可執行該軟體。記憶體1030可從具體實施該軟體的大量儲存裝置1030內之電腦可讀取儲存媒體中讀取該軟體,或透過網路介面10106從一或多個其他來源讀取該軟體。當執行該軟體時,處理器1020可執行本說明書內所描述或例示的一或多個處理中之一或多個步驟,這可包括根據特定需求,定義一或多個資料結構用於記憶體1030內的儲存裝置,以及修改一或多個資料結構,如該軟體的一或多個部分所指示。此外或另外,電腦系統1000可提供本說明書內所描述或例示,邏輯在電路內硬連線或具體實施所造成的特定功能性,其可取代或與該軟體一起操作,來執行本說明書內所描述或例示的一或多個處理中之一或多個步驟。根據特定需求,本發明包含任何合適的硬體與軟體組合。
在特定具體實施例內,電腦系統1000可包括一或多個圖形處理單元(Graphics Processing Unit,GPU)1024。在特定具體實施例內,GPU 1024可包含一或多個積體電路及/或處理核心,共用於圖形顯像內的數學運算。在某些具體實施例內,GPU 1024可使用特殊圖形單元指令集,而在其他實施當中,該GPU可使用一CPU類(例如改良的x86)指令集。圖形處理單元1024可實施一些圖形圖元運算,例如位圖傳輸、紋理映射、像素陰影、畫面緩衝等等。在特定具體實施例內,GPU 1024可為一圖形加速器、一般用途GPU(General Purpose GPU,GPGPU)或任何其他合適的處理單元。
在特定具體實施例內,GPU 1024可具體實施於圖形或顯示卡內,其透過卡插槽固定至硬體系統架構。在其他實施中,GPU 1024可整合在電腦系統架構的主機板上。合適的圖形處理單元包括Advanced Micro Devices(r)AMD R7XX型GPU裝置 (Radeon(r)HD 4XXX)、AMD R8XX型GPU裝置(Radeon(r)HD 10XXX)、Intel(r)Larabee型GPU裝置(尚未上市)、nVidia(r)8系列GPU、nVidia(r)9系列GPU、nVidia(r)100系列GPU、nVidia(r)200系列GPU以及任何其他支援DX11的GPU。
雖然本發明描述或例示以特定順序發生的特定操作,不過本發明考慮以任何合適順序發生的任何合適操作。再者,本發明考慮以任何合適順序重複一或多次的任何合適操作。雖然本發明描述或例示依序發生的特定操作,不過在適當情況下,本發明考慮大體上同時發生的任何合適操作。在適合的情況下,本說明書所描述或例示的任何合適操作或操作順序都可中斷、暫停或由其他處理控制,例如作業系統或核心系統。該等動作可在作業系統環境內操作,或當成佔用全部或重要系統處理部分的單機常式。
精通技術人士將會了解本發明包含對於本說明書內範例具體實施例的所有變更、替換、改變、交替以及修改。同樣的,在適當的情況下,精通技術人士將會了解申請專利範圍包含對於本說明書內範例具體實施例的所有變更、替換、改變、交替以及修改。
針對本發明目的,電腦可讀取媒體儲存電腦資料,其資料可包括機器可讀取形式之電腦可執行的電腦程式碼。藉由範例並且不受限於此,電腦可讀取媒體可包含電腦可讀取儲存媒體,用於實質或固定資料儲存裝置,或通訊媒體,用於傳輸含程式碼信號的解析。本說明書內所使用的電腦可讀取儲存媒體稱為物理或實體儲存裝置(相對於信號),並且包括但不限制為在任何方法或技術內實施的揮發與非揮發性、可移除與不可移除媒體,用於例如電腦可讀取指令、資料結構、程式模組或其他資料這類資訊的實質儲存裝置。電腦可讀取儲存媒體包括但不受限於RAM、ROM、EPROM、EEPROM、快閃記憶體或其他固態記憶體技術、CD-ROM、DVD或其他光學儲存裝置、磁帶、磁匣、磁片儲存裝置或其他磁性儲存裝置,或其他任何 可用於實質儲存所要資訊、資料或指令並且可由電腦或處理器存取的實體或資料媒體。
101‧‧‧計算系統
102‧‧‧顯示器
103‧‧‧圖形硬體
104‧‧‧顯像API
105‧‧‧第一應用程式
106‧‧‧第二應用程式
107‧‧‧I/O介面
108‧‧‧使用者硬體
109‧‧‧引擎
110‧‧‧路徑
301‧‧‧第一視窗
302‧‧‧路徑
303a‧‧‧物件
303b‧‧‧物件
303c‧‧‧副本
303d‧‧‧物件
304‧‧‧第二視窗
305‧‧‧放大圖
306‧‧‧選擇框
307‧‧‧單一點
308‧‧‧路徑
701‧‧‧第一視窗
702a‧‧‧物件
702b‧‧‧物件
702c‧‧‧物件
702d‧‧‧物件
702e‧‧‧物件
703‧‧‧光源
704‧‧‧第二視窗
705‧‧‧光源
801‧‧‧計算系統
802‧‧‧顯示器
803‧‧‧圖形硬體
804‧‧‧顯像API
805‧‧‧引擎
806‧‧‧本機應用程式
807‧‧‧I/O介面
808‧‧‧使用者硬體
809‧‧‧應用程式伺服器
810‧‧‧遠端應用程式
811‧‧‧路徑
814‧‧‧網路連結
901‧‧‧計算系統
902‧‧‧顯示器
903‧‧‧圖形硬體
904‧‧‧本機顯像API
905‧‧‧本機應用程式
906‧‧‧I/O介面
907‧‧‧應用程式伺服器
908‧‧‧應用程式
909‧‧‧顯像API
910‧‧‧引擎
913‧‧‧網路連線
914‧‧‧路徑
915‧‧‧路徑
916‧‧‧路徑
1000‧‧‧電腦系統
1010‧‧‧系統匯流排
1020‧‧‧處理器
1022‧‧‧快取
1024‧‧‧圖形處理單元
1030‧‧‧記憶體
1032‧‧‧隨機存取記憶體
1034‧‧‧唯讀記憶體
1040‧‧‧固接式儲存裝置
1042‧‧‧作業系統
1044‧‧‧可執行檔
1046‧‧‧程式
1048‧‧‧資料
1052‧‧‧儲存控制單元
1054‧‧‧圖形控制器
1056‧‧‧網路介面
1058‧‧‧視訊介面
1060‧‧‧輸入介面
1062‧‧‧輸出介面
1064‧‧‧儲存介面
1066‧‧‧輸入裝置
1068‧‧‧輸出裝置
1070‧‧‧儲存裝置
1072‧‧‧儲存媒體
1080‧‧‧網路
下列圖式中並未依照比例,並且多張圖式中相同的參考號碼代表相同的元件:第一圖例示主控兩本機應用程式,並且自第一應用程式匯出3D物件以匯入第二應用程式之電腦系統範例;第二圖例示由從該第一應用程式抓取該物件、將該物件從該第一應用程式拖曳至第二應用程式以及將該物件放入該第二應用程式來顯現,所構成的匯出與匯入處理之完整流程;第三圖例示抓取處理的流程;第四圖例示拖曳處理的流程;第五圖例示放下處理的流程;第六圖例示重新輸入處理的流程;第七圖例示執行該處理整合環境效果顯現的電腦系統顯示器之呈現;第八圖例示主控本機應用程式的電腦系統以及主控遠端第二應用程式的應用程式伺服器之範例;第九圖例示主控本機應用程式的電腦系統以及具有伺服器端顯現主控遠端第二應用程式的應用程式伺服器之範例;第十圖例示適合用於實施特定具體實施例中一或多個部分的範例電腦系統1000。
702a‧‧‧物件
702b‧‧‧物件
702c‧‧‧物件
702d‧‧‧物件
702e‧‧‧物件
703‧‧‧光源
704‧‧‧第二視窗
705‧‧‧光源

Claims (20)

  1. 一種應用程式間的物件拖放方法,包含:一處理器接收一第一使用者輸入;回應該第一使用者輸入,該處理器選擇一物件,其中該物件藉由一第一應用程式以及一顯像API(應用程式介面)顯現在一顯示器的一第一視窗內;透過一引擎監控已接收的使用者輸入,由該處理器擷取來自該第一應用程式的該物件;該處理器接收一第二使用者輸入;回應第二使用者輸入,由該處理器將該顯示器上的該物件從該第一視窗拖曳至顯現在一第二視窗內的一第二應用程式;以及回應該物件穿過該第二視窗的一焦點邊界,由該處理器藉由將該物件轉換成由在該第二應用程式內實施的一格式,將該物件匯入該第二應用程式。
  2. 如申請專利範圍第1項之方法,其中選擇一物件包含:該處理器將該第一使用者輸入繞行至該引擎;該處理器攔截從該第一應用程式至該顯像API的繪圖命令;該處理器從該繪圖命令決定該物件;以及該處理器根據一選擇演算法選擇該物件與其他物件。
  3. 如申請專利範圍第2項之方法,其中由該處理器決定該物件包含:該處理器指派一攝影機於該第一使用者輸入的座標上一場景之近端平面之上;以及該處理器從該攝影機將射線投射至一遠端平面,以及該處理器選擇該射線命中的該第一物件。
  4. 如申請專利範圍第3項之方法,另包含:該處理器接收使用者之進一步輸入,來擴展或篩選該選擇。
  5. 如申請專利範圍第4項之方法,其中擴展或篩選該選擇包含:該處理器選擇或取消選擇一場景內連接至該選取物件的其他物件。
  6. 如申請專利範圍第4項之方法,其中擴展或篩選該選擇包含:該處理器選擇或取消選擇一場景內由使用者之該進一步輸入所指定的其他物件,其中該指定處理包含:該處理器接收一使用者輸入;該處理器指派一攝影機於該使用者輸入的座標上該場景之近端平面之上;以及該處理器從該攝影機將射線投射至該遠端平面,並指定該射線命中的該第一物件。
  7. 如申請專利範圍第1項之方法,其中拖曳該物件包含:該處理器顯現一無邊界視窗;該處理器在一無邊界視窗顯現一選擇,其中該選擇包含由該使用者選擇的該物件;回應接收使用者輸入將該無邊界視窗從該第一視窗拖曳至該第二視窗,依照該使用者輸入,由該處理器將該無邊界視窗移動通過該顯示器。
  8. 如申請專利範圍第7項之方法,其中由該處理器在該無邊界視窗內顯現該選擇包含:該處理器從該第一應用程式複製與該選擇相關聯的該等繪圖命令;該處理器將來自該第一應用程式的該等繪圖命令插入該顯像API的一管路(pipeline);該處理器透過該顯像API來顯現該等繪圖命令。
  9. 如申請專利範圍第7項之方法,其中在該無邊界視窗內顯現該選擇包含:該處理器獲得第一情況,包含來自該第一應用程式的 照明與環境效果;該處理器獲得第二情況,包含來自該第二應用程式的照明與環境效果;該處理器根據該無邊界視窗與該第一和第二視窗的距離,逐漸套用該第一和第二情況。
  10. 如申請專利範圍第1項之方法,其中將該選擇匯入一第二應用程式包含:該處理器將用以實施的該選擇轉換至該第二應用程式內;該處理器在該轉換期間於該第二視窗內透過該引擎顯現該選擇;完成該轉換時,由該處理器將該選擇匯入該第二應用程式;以及將該物件匯入該第二應用程式時,由該處理器終止該引擎顯現處理,並且由該處理器在該第二應用程式內顯現該物件。
  11. 如申請專利範圍第10項之方法,其中轉換該選擇包含:該處理器將該等繪圖命令修改成該第二應用程式所運用的一檔案格式。
  12. 如申請專利範圍第10項之方法,其中透過該引擎顯現該選擇包含:該處理器將該等繪圖命令插入一顯像API管路,該等繪圖命令可操作來指揮該顯像API,以將該選擇顯現在該第二視窗內。
  13. 如申請專利範圍第11項之方法,其中該第二應用程式擁有自己的顯像API,並且從該第二應用程式內顯現該選擇包含:由該處理器使用該第二應用程式的顯像API,在該第二視窗內顯現該選擇。
  14. 一種應用程式間的物件拖放系統,包含:一圖形處理單元; 一處理器;以及一儲存媒體,在其上實質儲存由該處理器執行的程式邏輯,該程式邏輯包含:第一使用者輸入接收邏輯,由該處理器執行,用於接收一第一使用者輸入;選擇邏輯,由該處理器執行,選擇由一第一應用程式以及一顯像API回應接收該第一使用者輸入,顯現在一顯示器的一第一視窗內之一物件;擷取邏輯,由該處理器執行,透過一引擎監控已接收的使用者輸入,擷取來自該第一應用程式的該物件;第二使用者輸入接收邏輯,由該處理器執行,用於接收一第二使用者輸入;拖曳邏輯,由該處理器執行,將該顯示器上的該物件從該第一視窗拖曳至顯現在一第二視窗內的一第二應用程式,做為接收該第二使用者輸入之回應;以及匯入邏輯,由該處理器執行,回應該物件穿過該第二視窗的該焦點邊界,由該處理器藉由將該物件轉換成由在該第二應用程式內實施的一格式,將該物件匯入該第二應用程式。
  15. 如申請專利範圍第14項之系統,其中由該處理器執行的該選擇邏輯來選擇一物件包含:繞行邏輯,由該處理器執行,用於將來自該第一應用程式的該第一使用者輸入繞行;攔截邏輯,由該處理器執行,攔截從該第一應用程式至該顯像API的該等繪圖命令;決定邏輯,由該處理器執行,從該第一使用者輸入伴隨的該等繪圖命令決定該物件;以及選擇邏輯,由該處理器執行,根據一選擇演算法選擇該三維物件與其他物件。
  16. 如申請專利範圍第14項之系統,其中由該處理器決定該物 件包含:指派邏輯,由該處理器執行,用於指派一攝影機於該第一使用者輸入的該座標上該場景之近端平面之上;以及射線投射邏輯,由該處理器執行,用於將射線從該攝影機投射至該遠端平面,並選擇該射線命中的該第一物件。
  17. 如申請專利範圍第14項之系統,其中該拖曳邏輯包含:視窗顯現邏輯,由一處理器執行,用於顯現一無邊界視窗;選擇顯現邏輯,由一處理器執行,用於在該無邊界視窗內顯現一選擇,其中該選擇包含由該使用者選擇的該物件;移動邏輯,由該處理器執行,用於根據該等使用者輸入,移動該無邊界視窗通過該顯示器,以回應接收到的使用者輸入,將該無邊界視窗從該第一視窗拖曳到該第二視窗。
  18. 如申請專利範圍第14項之系統,其中該匯入邏輯另包含:轉換邏輯,由該處理器執行,用於轉換該選擇使其實施於該第二應用程式內,如此該選擇會在該轉換處理完成時匯入該第二應用程式;顯現邏輯,由該處理器執行,用於在該轉換處理之期間將該選擇顯現在該第二視窗內;以及終止邏輯,由該處理器執行,用於終止該引擎顯現處理,並且在將該物件匯入該第二應用程式時,從該第二應用程式內顯現該物件。
  19. 如申請專利範圍第17項之系統,其中該選擇顯現邏輯另包含:第一情況獲得邏輯,由該處理器執行,用於獲得第一情況,包含來自該第一應用程式的該等照明與環境效果;第二情況獲得邏輯,由該處理器執行,用於獲得第二情況,包含來自該第二應用程式的該等照明與環境效果; 情況套用邏輯,由該處理器執行,用於根據該無邊界視窗與該第一和第二視窗的該距離,逐漸套用該第一和第二情況。
  20. 一種儲存指令於其上的電腦可讀取儲存媒體,當由一處理器執行這些指令時導致該處理器:接收一第一使用者輸入;回應該第一使用者輸入,選擇一物件,其中該物件藉由一第一應用程式以及一顯像API顯現在一顯示器的一第一視窗內;透過一引擎從該第一應用程式中擷取該物件;接收一第二使用者輸入;回應該第二使用者輸入,將該顯示器上的該物件從該第一視窗拖曳至顯現在一第二視窗內的一第二應用程式;回應該物件穿過該第二視窗的一焦點邊界,由該處理器藉由將該物件轉換成由在該第二應用程式內實施的一格式,將該物件匯入該第二應用程式。
TW101128926A 2011-08-12 2012-08-10 應用程式間的物件拖放 TWI473004B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161523142P 2011-08-12 2011-08-12
US13/571,182 US10162491B2 (en) 2011-08-12 2012-08-09 Drag and drop of objects between applications

Publications (2)

Publication Number Publication Date
TW201324321A TW201324321A (zh) 2013-06-16
TWI473004B true TWI473004B (zh) 2015-02-11

Family

ID=47678353

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101128926A TWI473004B (zh) 2011-08-12 2012-08-10 應用程式間的物件拖放

Country Status (9)

Country Link
US (1) US10162491B2 (zh)
EP (1) EP2742415B1 (zh)
JP (2) JP5770938B2 (zh)
KR (1) KR101660134B1 (zh)
CN (1) CN103733170B (zh)
AU (1) AU2012295303B2 (zh)
CA (1) CA2844451C (zh)
TW (1) TWI473004B (zh)
WO (1) WO2013025521A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI828167B (zh) * 2022-04-18 2024-01-01 大陸商鼎捷軟件股份有限公司 自動服務編排和執行系統及其方法

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
JP5488622B2 (ja) * 2012-01-16 2014-05-14 コニカミノルタ株式会社 画像形成装置
US20150242086A1 (en) * 2014-02-21 2015-08-27 Markport Limited Drag and drop event system and method
US20150244747A1 (en) * 2014-02-26 2015-08-27 United Video Properties, Inc. Methods and systems for sharing holographic content
CN105095164B (zh) * 2014-04-28 2018-03-09 富泰华工业(深圳)有限公司 具有内容插入功能的电子装置及其内容插入方法
CN105094789A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 一种数据流转方法及装置
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US9678640B2 (en) * 2014-09-24 2017-06-13 Microsoft Technology Licensing, Llc View management architecture
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10417247B2 (en) 2014-09-25 2019-09-17 Oracle International Corporation Techniques for semantic searching
US10516980B2 (en) 2015-10-24 2019-12-24 Oracle International Corporation Automatic redisplay of a user interface including a visualization
US10664488B2 (en) 2014-09-25 2020-05-26 Oracle International Corporation Semantic searches in a business intelligence system
CN105426242B (zh) * 2015-11-17 2020-04-21 腾讯科技(深圳)有限公司 数据传递方法和装置
US10771508B2 (en) 2016-01-19 2020-09-08 Nadejda Sarmova Systems and methods for establishing a virtual shared experience for media playback
US10120635B2 (en) * 2016-03-09 2018-11-06 Samsung Electronics Co., Ltd. Configuration and operation of display devices including device management
CN106055202B (zh) * 2016-05-27 2019-08-20 维沃移动通信有限公司 一种复制粘贴方法及移动终端
US10884604B2 (en) 2017-05-16 2021-01-05 Apple Inc. Drag and drop for touchscreen devices
US10956237B2 (en) * 2017-06-02 2021-03-23 Oracle International Corporation Inter-application sharing of business intelligence data
US10917587B2 (en) 2017-06-02 2021-02-09 Oracle International Corporation Importing and presenting data
US11614857B2 (en) 2017-06-02 2023-03-28 Oracle International Corporation Importing, interpreting, and presenting data
JP2021517302A (ja) * 2018-03-16 2021-07-15 リ マゴ リミテッド ネットワーク化された共同ワークスペースにおけるウェブ・ソケット接続を介したファイルの送信のための方法、装置、及びコンピュータ可読媒体
US11782881B2 (en) * 2018-12-05 2023-10-10 Vmware, Inc. Recommending remotely executed applications for opening files
US11880422B2 (en) 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
CN110221759A (zh) * 2019-05-31 2019-09-10 广州视源电子科技股份有限公司 一种元素拖拽方法、装置、存储介质及交互智能平板
CN110908552B (zh) * 2019-10-11 2021-08-10 广州视源电子科技股份有限公司 多窗口操作控制方法、装置、设备及存储介质
US11301125B2 (en) * 2020-04-24 2022-04-12 Adobe Inc. Vector object interaction
US11461374B2 (en) 2020-08-06 2022-10-04 UiPath, Inc. Entity engine of a computing platform
CN112634412B (zh) * 2020-12-16 2023-06-30 广州橙行智动汽车科技有限公司 一种数据处理的方法和装置
US11379110B1 (en) 2021-04-12 2022-07-05 International Business Machines Corporation Artificial intelligence-based operating system for drag and drop operations
CN114416270A (zh) * 2022-01-28 2022-04-29 北京太琦图形科技有限公司 页面显示方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1896943A (zh) * 2005-06-29 2007-01-17 三星电子株式会社 图像选择方法和设备
US20090106680A1 (en) * 2007-10-17 2009-04-23 International Business Machines Corporation Drag and drop object attribute assignment for objects in a graphical user interface (gui)
TW201104494A (en) * 2009-07-20 2011-02-01 J Touch Corp Stereoscopic image interactive system
TW201106251A (en) * 2009-04-24 2011-02-16 Ibm Editing apparatus, editing method and program

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268677A (en) 1988-08-04 1993-12-07 The Grass Valley Group, Inc. Reduced viewport for graphics display
AU640281B2 (en) * 1990-10-31 1993-08-19 Hewlett-Packard Company Three dimensional graphic interface
JP3594309B2 (ja) 1993-09-28 2004-11-24 株式会社ナムコ パイプライン処理装置,クリッピング処理装置,3次元シミュレータ装置及びパイプライン処理方法
AU1407595A (en) 1993-12-30 1995-07-17 Apple Computer, Inc. Frame structure which provides an interface between parts of a compound document
US5874960A (en) 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
JP2980008B2 (ja) * 1995-09-08 1999-11-22 日本電気株式会社 3次元オブジェクト選択装置
US5872572A (en) * 1995-12-08 1999-02-16 International Business Machines Corporation Method and apparatus for generating non-uniform resolution image data
US6697088B1 (en) 1998-04-27 2004-02-24 Jacada, Inc. Graphical presentation system
US7107548B2 (en) 1998-10-28 2006-09-12 Yahoo! Inc. Method of controlling an internet browser interface and a controllable browser interface
US20020049852A1 (en) 1999-12-06 2002-04-25 Yen-Jen Lee Global messaging with distributed adaptive streaming control
US6654784B1 (en) 2000-01-14 2003-11-25 Nexaweb Technologies, Inc Computing architecture
US6734873B1 (en) 2000-07-21 2004-05-11 Viewpoint Corporation Method and system for displaying a composited image
JP2002189544A (ja) 2000-12-20 2002-07-05 Hitachi Software Eng Co Ltd 表示オブジェクトに対するユーザ操作環境の制御方法
US20040027398A1 (en) * 2001-02-15 2004-02-12 Denny Jaeger Intuitive graphic user interface with universal tools
JP2002341843A (ja) 2001-05-11 2002-11-29 Nanao Corp ディスプレイ装置及び画像表示システム
US6968507B2 (en) 2001-11-27 2005-11-22 Claria Corporation Method and apparatus for defeating a mechanism that blocks windows
US7768522B2 (en) * 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
EP1509841A2 (en) 2002-05-17 2005-03-02 Koninklijke Philips Electronics N.V. Rendering a first media type content on a browser
US7739604B1 (en) 2002-09-25 2010-06-15 Apple Inc. Method and apparatus for managing windows
JP3785537B2 (ja) 2002-09-30 2006-06-14 カシオ計算機株式会社 図形表示制御装置及び図形表示制御プログラム
EP2453345B1 (en) 2002-09-30 2016-03-23 Casio Computer Co., Ltd. Graphic display control apparatus and program
US8230359B2 (en) 2003-02-25 2012-07-24 Microsoft Corporation System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery
US7277572B2 (en) 2003-10-10 2007-10-02 Macpearl Design Llc Three-dimensional interior design system
US7170526B1 (en) 2004-01-26 2007-01-30 Sun Microsystems, Inc. Method and apparatus for redirecting the output of direct rendering graphics calls
US7950026B1 (en) 2004-06-24 2011-05-24 Julian Michael Urbach Virtual application execution system and method
US20110157196A1 (en) * 2005-08-16 2011-06-30 Exent Technologies, Ltd. Remote gaming features
JP3961545B2 (ja) * 2005-11-29 2007-08-22 株式会社コナミデジタルエンタテインメント オブジェクト選択装置、オブジェクト選択方法、ならびに、プログラム
JP2007226417A (ja) * 2006-02-22 2007-09-06 Katsuhide Tsushima コンテンツ出力装置、およびプログラム
US7868893B2 (en) * 2006-03-07 2011-01-11 Graphics Properties Holdings, Inc. Integration of graphical application content into the graphical scene of another application
US8675022B2 (en) 2006-05-16 2014-03-18 Edda Technology, Inc. Joy-stick like graphical user interface to adjust 3D cross sectional plane in 3D volume
JP5184036B2 (ja) * 2007-10-05 2013-04-17 任天堂株式会社 ゲームプログラムおよびゲーム装置
US8739120B2 (en) * 2007-12-03 2014-05-27 Adobe Systems Incorporated System and method for stage rendering in a software authoring tool
US8471858B2 (en) 2009-06-02 2013-06-25 Qualcomm Incorporated Displaying a visual representation of performance metrics for rendered graphics elements
US20110066971A1 (en) 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
US8171154B2 (en) * 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
US9740507B2 (en) * 2010-04-01 2017-08-22 Citrix Systems, Inc. Interacting with remote applications displayed within a virtual desktop of a tablet computing device
EP2569916B1 (en) * 2010-05-09 2016-01-20 Citrix Systems Inc. Systems and methods for allocation of classes of service to network connections corresponding to virtual channels

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1896943A (zh) * 2005-06-29 2007-01-17 三星电子株式会社 图像选择方法和设备
US20090106680A1 (en) * 2007-10-17 2009-04-23 International Business Machines Corporation Drag and drop object attribute assignment for objects in a graphical user interface (gui)
TW201106251A (en) * 2009-04-24 2011-02-16 Ibm Editing apparatus, editing method and program
TW201104494A (en) * 2009-07-20 2011-02-01 J Touch Corp Stereoscopic image interactive system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI828167B (zh) * 2022-04-18 2024-01-01 大陸商鼎捷軟件股份有限公司 自動服務編排和執行系統及其方法

Also Published As

Publication number Publication date
US20130042259A1 (en) 2013-02-14
JP6012027B2 (ja) 2016-10-25
JP5770938B2 (ja) 2015-08-26
JP2016006649A (ja) 2016-01-14
EP2742415B1 (en) 2019-10-09
CN103733170A (zh) 2014-04-16
US10162491B2 (en) 2018-12-25
AU2012295303B2 (en) 2014-11-06
TW201324321A (zh) 2013-06-16
NZ709107A (en) 2016-01-29
WO2013025521A3 (en) 2013-05-10
EP2742415A4 (en) 2015-08-12
CA2844451C (en) 2019-02-12
JP2014524612A (ja) 2014-09-22
CN103733170B (zh) 2018-01-23
AU2012295303A1 (en) 2014-01-30
CA2844451A1 (en) 2013-02-21
KR101660134B1 (ko) 2016-09-26
EP2742415A2 (en) 2014-06-18
WO2013025521A2 (en) 2013-02-21
KR20140051335A (ko) 2014-04-30
NZ619935A (en) 2015-07-31

Similar Documents

Publication Publication Date Title
TWI473004B (zh) 應用程式間的物件拖放
US11379105B2 (en) Displaying a three dimensional user interface
JP6659644B2 (ja) 応用素子の代替的グラフィック表示の事前の生成による入力に対する低レイテンシの視覚的応答およびグラフィック処理ユニットの入力処理
KR102646977B1 (ko) 증강 현실에 기반한 디스플레이 방법 및 장치, 및 저장 매체
EP2814000B1 (en) Image processing apparatus, image processing method, and program
O'leary et al. Enhancements to VTK enabling scientific visualization in immersive environments
EP3104333A1 (en) Method and system for generating a user-customized computer-generated animation
JP7125983B2 (ja) 実物体の相互作用的な3d表現を作成および表示するためのシステムおよび方法
US20140225886A1 (en) Mapping a vision system output to a digital graphics system input
AU2015200570B2 (en) Drag and drop of objects between applications
CN111176427B (zh) 基于手持式智能设备的三维空间绘画方法和手持式智能设备
Liu et al. A physics-based augmented reality jenga stacking game
US20230008224A1 (en) Visualization of complex data
US12002165B1 (en) Light probe placement for displaying objects in 3D environments on electronic devices
CN114049857B (zh) 一种应用于文博展示的裸眼3d电子文物展示架
US20240015263A1 (en) Methods and apparatus to provide remote telepresence communication
NZ709107B2 (en) Drag and drop of objects between applications
Gorny Cinder Creative Coding Cookbook
NZ619935B2 (en) Drag and drop of objects between applications
Vanoni et al. Intuitive visualization of reflectance transformation imaging for interactive analysis of cultural artifacts
Febretti A Multi-View Software Infrastructure for Hybrid Immersive Environments
Geymayer et al. Visual links to hidden content