畫筆與液體模擬的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明的各實(shí)施方式總體上設(shè)及計(jì)算機(jī)領(lǐng)域,具體地設(shè)及畫筆與液體模擬。
【背景技術(shù)】
[0002] 用計(jì)算機(jī)進(jìn)行繪畫的常規(guī)技術(shù)通常使用兩種方法:程序方法和模擬方法中的至少 一種來實(shí)現(xiàn)。程序方法的計(jì)算速度快,但是限制可被模擬的逼真的繪畫效果。程序方法通 常包含固定的二維(2D)圖像的內(nèi)插,運(yùn)被稱為"壓印"。然而,壓印可能無法模仿虛擬畫筆 與虛擬顏料之間逼真的相互作用。
[0003] 相比之下,模擬方法可W被描述為將畫布上的液體模擬為2D高度場(chǎng),或者被描述 為模擬虛擬顏料滲入、滲透W及分散在虛擬畫布中的行為。然而,大多數(shù)模擬方法簡(jiǎn)單地將 液體注入到畫布中,并使用固定的畫筆形狀來攬拌液體。由于運(yùn)些限制,用于模擬虛擬畫 筆、虛擬顏料W及虛擬畫布之間的相互作用的常規(guī)技術(shù)可能不按現(xiàn)實(shí)的方式那樣做。
【發(fā)明內(nèi)容】
[0004] 此處描述了畫筆與液體模擬技術(shù)。在一個(gè)或更多個(gè)實(shí)施方式中,接收輸入W用虛 擬畫筆在虛擬畫布上執(zhí)行一個(gè)或更多個(gè)畫筆筆劃。針對(duì)所述虛擬畫布上的虛擬顏料,模擬 逼真繪畫質(zhì)量。然而,僅針對(duì)所述畫布的區(qū)域內(nèi)的虛擬顏料,模擬所述逼真繪畫質(zhì)量。針對(duì) 位于所述區(qū)域外的虛擬顏料,不模擬所述逼真繪畫質(zhì)量。舉例而言,被模擬的所述逼真繪畫 質(zhì)量可W包括所述虛擬顏料的表現(xiàn)、所述虛擬顏料在所述虛擬畫布與所述虛擬畫筆之間的 流動(dòng)W及所述虛擬顏料的速度。 陽〇化]作為模擬所述虛擬顏料、所述虛擬畫筆與所述虛擬畫布之間的相互作用的一部 分,所述模擬的各個(gè)部分可W由不同的處理單元來執(zhí)行。例如,可W在諸如中央處理單元 (CPU)的第一處理設(shè)備處模擬所述虛擬畫筆的刷毛。結(jié)合模擬所述刷毛,可W計(jì)算出刷毛密 度圖。然后,所述刷毛密度圖可W被傳遞至諸如圖形處理單元(GPU)的第二處理單元。所 述第二處理單元可W用于模擬所述虛擬顏料的逼真效果。結(jié)合運(yùn)樣做,可W計(jì)算出流體表 面圖。所述流體表面圖可被傳遞至所述第一處理單元并且可被用于模擬所述虛擬畫筆的刷 毛。另外,流體表面圖可被用于擅染所述虛擬顏料的體積W進(jìn)行顯示。W運(yùn)種方式,在虛擬 畫筆的附近,所述虛擬畫筆與虛擬顏料W及虛擬畫布之間的相互作用可W表現(xiàn)得逼真。
[0006] 本
【發(fā)明內(nèi)容】
W簡(jiǎn)化的形式介紹了各個(gè)概念的選擇,在下文【具體實(shí)施方式】中對(duì)所述 概念進(jìn)行進(jìn)一步描述。因此,本
【發(fā)明內(nèi)容】
并不旨在區(qū)分所要求保護(hù)的主題的基本特征,也不 旨在用于幫助確定所要求保護(hù)的主題的范圍。
【附圖說明】
[0007] 參考附圖來描述【具體實(shí)施方式】。在附圖中,附圖標(biāo)記最左邊的數(shù)字標(biāo)識(shí)該附圖標(biāo) 記首次出現(xiàn)所在的圖。在說明書和附圖中,在不同的情況下使用同一附圖標(biāo)記可W表示類 似或相同的項(xiàng)目。圖中所表示的實(shí)體可W表示一個(gè)或更多個(gè)實(shí)體,于是可W在論述中可交 換地參考單數(shù)或復(fù)數(shù)個(gè)實(shí)體。
[0008] 圖1是在可操作地采用本文所述技術(shù)的示例實(shí)施方式中的環(huán)境的圖示。
[0009] 圖2在圖1的環(huán)境的基礎(chǔ)上圖示了計(jì)算設(shè)備,該計(jì)算設(shè)備具有虛擬畫筆與液體模 擬模塊W及其可W采用W實(shí)現(xiàn)更詳細(xì)的模擬的多個(gè)處理單元。
[0010] 圖3圖示了使用虛擬畫筆將虛擬顏料涂敷至虛擬畫布上的示例并且圖示了在其 中執(zhí)行相互作用的模擬的區(qū)域的示例。
[0011] 圖4圖示了將虛擬顏料、畫筆與畫布之間相互作用的模擬分割到多個(gè)不同的處理 單元之間的示例。
[0012] 圖5圖示了在一個(gè)處理單元處計(jì)算出的畫筆刷毛數(shù)據(jù)的示例W及可W在另一個(gè) 處理單元處計(jì)算出的已平滑的畫筆刷毛數(shù)據(jù)的對(duì)應(yīng)部分。
[001引圖6是描繪了示例實(shí)施方式中的步驟的流程圖,其中針對(duì)畫布的區(qū)域模擬了虛擬 畫筆、顏料與該畫布之間的相互作用。
[0014] 圖7是描繪了示例實(shí)施方式中的步驟的流程圖,其中結(jié)合畫筆與液體模擬所執(zhí)行 的動(dòng)作被分割到第一和第二處理單元之間。
[0015] 圖8圖示了包括示例設(shè)備的各種組件的示例系統(tǒng),所述各種組件可W被用于本文 所述的畫筆與液體模擬技術(shù)的一個(gè)或更多個(gè)實(shí)施方式。
【具體實(shí)施方式】
[0016] 歷
[0017] 用于模擬與繪畫應(yīng)用相關(guān)聯(lián)的虛擬顏料、虛擬畫筆W及虛擬畫布之間相互作用的 常規(guī)技術(shù)可能不按現(xiàn)實(shí)的方式那樣做。例如,一些計(jì)算速度快的常規(guī)技術(shù)可能不能W逼真 的方式模擬虛擬顏料的質(zhì)量。其他常規(guī)技術(shù)可W使用具有固定形狀的虛擬畫筆。然而,固定 形狀不反映畫筆在物理世界繪畫中進(jìn)行響應(yīng)的方式。雖然一些常規(guī)技術(shù)使用柔性畫筆,但 運(yùn)些技術(shù)W-種受限制的方式那樣做。例如,運(yùn)些常規(guī)方法中的一些將虛擬畫筆建模為具 有表面網(wǎng)格的框架。然而,通過運(yùn)樣做,會(huì)缺失由各個(gè)畫筆刷毛的相互作用而產(chǎn)生的效果。 使用柔性畫筆的用于虛擬繪畫的其他常規(guī)技術(shù)存在多種其他的缺陷。因此,用戶可W發(fā)現(xiàn) 根據(jù)常規(guī)技術(shù)進(jìn)行模擬的計(jì)算機(jī)繪畫是不現(xiàn)實(shí)的。
[0018] 本發(fā)明描述了畫筆與液體模擬技術(shù)。在一個(gè)或更多個(gè)實(shí)施方式中,逼真的質(zhì)量被 模擬用于虛擬顏料、虛擬畫筆與虛擬畫布之間的相互作用。不同于常規(guī)技術(shù),針對(duì)虛擬畫布 的有限區(qū)域模擬所述逼真的質(zhì)量。具體地,在虛擬畫筆附近的區(qū)域內(nèi)模擬逼真的質(zhì)量。當(dāng) 虛擬畫筆在虛擬畫布上移動(dòng)時(shí)(例如,根據(jù)新的畫筆筆劃),逼真質(zhì)量被模擬的區(qū)域跟隨著 虛擬畫筆。針對(duì)不在所述區(qū)域內(nèi)的虛擬顏料(例如,超出所述區(qū)域的邊界的虛擬顏料),不 模擬所述逼真的質(zhì)量。
[0019] 當(dāng)所述區(qū)域被更新W跟隨虛擬畫筆時(shí),針對(duì)那些不再位于要被模擬的區(qū)域中的虛 擬畫布的部分,可W停止模擬所述逼真的質(zhì)量。通過將所述逼真質(zhì)量的模擬僅僅限制到該 區(qū)域,計(jì)算資源能夠W高度的細(xì)節(jié)模擬其中的虛擬顏料的質(zhì)量。此外,將所述逼真質(zhì)量的模 擬僅僅限制到所述區(qū)域使得可W使用比常規(guī)技術(shù)更大的畫布。
[0020] 不僅將逼真質(zhì)量的模擬限制到畫布的虛擬畫筆附近的區(qū)域,用于執(zhí)行模擬的工作 量可W被分散到多個(gè)不同的處理單元之間。舉例而言,工作量可W被分割到中央處理單元 (CPU)與圖形處理單元(GPU)之間。例如,CPU可w對(duì)虛擬畫筆的刷毛執(zhí)行刷毛模擬。然 后,表示該模擬的信息可W被傳遞給GPU。GPU使用該信息,可W對(duì)虛擬顏料執(zhí)行流體模擬。 然后,表示該流體模擬的信息可W被傳遞回至GPU,W用于執(zhí)行刷毛模擬。CPU和GPU可W 在整個(gè)模擬中執(zhí)行運(yùn)些任務(wù)。由CPU和GPU計(jì)算出的信息可用于擅染虛擬顏料與虛擬畫筆 W及虛擬畫布之間的相互作用,W用于顯示。
[0021] 在W下討論中,首先描述了可W采用本文所述技術(shù)的示例環(huán)境。然后描述了可W 在示例環(huán)境W及其他環(huán)境中執(zhí)行的示例實(shí)施方式的細(xì)節(jié)和步驟。因此,示例步驟的執(zhí)行并 不限制于示例環(huán)境,而所述示例環(huán)境并不限制于所述示例步驟的執(zhí)行。
[0022] 示例環(huán)培
[0023] 圖1是可操作地采用本文所述技術(shù)的示例實(shí)施方式中的環(huán)境100的圖示。圖示的 環(huán)境100包括計(jì)算設(shè)備102,計(jì)算設(shè)備102具有處理系統(tǒng)104和一個(gè)或更多個(gè)計(jì)算機(jī)可讀存 儲(chǔ)介質(zhì)106,處理系統(tǒng)104可W包括一個(gè)或更多個(gè)處理設(shè)備(例如,處理器)。圖示的環(huán)境 100還包括數(shù)字繪畫108 W及畫筆與液體模擬模塊110 (PB化模擬模塊110),它們嵌入在計(jì) 算機(jī)可讀存儲(chǔ)介質(zhì)106上并且經(jīng)由處理系統(tǒng)104操作可W實(shí)現(xiàn)本文所述的對(duì)應(yīng)功能。在至 少一些實(shí)施方式中,計(jì)算設(shè)備102可W包括訪問各種基于web的資源(內(nèi)容和服務(wù))、與在 線供應(yīng)商進(jìn)行相互作用的功能,W及如下文進(jìn)一步詳述的功能等。
[0024] 計(jì)算設(shè)備102可被配置成任何合適類型的計(jì)算設(shè)備。例如,計(jì)算設(shè)備102可被配 置成服務(wù)器、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)設(shè)備(例如,假設(shè)為手持配置,諸如平板電腦 或移動(dòng)電話)、配置為接收手勢(shì)輸入的設(shè)備、配置為接收Ξ維(3D)手勢(shì)作為輸入的設(shè)備、配 置為接收語音輸入的設(shè)備、配置為接收基于觸筆的輸入的設(shè)備、配置為接收那些輸入的組 合的設(shè)備等。于是,計(jì)算設(shè)備102的范圍可W從具有基本的存儲(chǔ)器和處理器資源的全資源 設(shè)備(例如,服務(wù)器、個(gè)人計(jì)算機(jī)、游戲控制臺(tái)),到具有有限的存儲(chǔ)和/或處理資源的低資 源設(shè)備(例如,移動(dòng)設(shè)備)。另外,雖然示出了單個(gè)的計(jì)算設(shè)備102,但是該計(jì)算設(shè)備102可 W代表多個(gè)不同的設(shè)備W執(zhí)行關(guān)于圖8所進(jìn)一步描述的"云上"操作。
[00巧]環(huán)境100還描繪了一個(gè)或更多個(gè)服務(wù)供應(yīng)商112,服務(wù)供應(yīng)商112被配置為通 過網(wǎng)絡(luò)114(諸如因特網(wǎng))與計(jì)算設(shè)備102進(jìn)行通信,W提供"基于云"的計(jì)算環(huán)境。一 般而言,服務(wù)供應(yīng)商112被配置為通過網(wǎng)絡(luò)114向客戶提供各種可用的資源116。在一 些情況下,用戶可W注冊(cè)賬號(hào),所述賬號(hào)被用于訪問來自供應(yīng)商的相應(yīng)資源。在授權(quán)訪問 賬號(hào)和相應(yīng)資源116之前,供應(yīng)商可W驗(yàn)證用戶的憑證(例如,用戶名和密碼)。其他資 源116可W被免費(fèi)提供(例如,不需要基于驗(yàn)證或賬號(hào)的訪問)。資源116可W包括通 常由一個(gè)或更多個(gè)供應(yīng)商通過網(wǎng)絡(luò)提供的服務(wù)和/或內(nèi)容的任何合適的組合。服務(wù)的一 些示例包括但不限于提供繪畫與繪圖應(yīng)用(例如,化esh Paint⑩、化eative Cloud⑩· 等)的內(nèi)容創(chuàng)建服務(wù)、繪圖與繪畫存儲(chǔ)和/或共享服務(wù)、社交網(wǎng)絡(luò)服務(wù)(例如, ^泣6泌0〇1神)、了加1:怯愧)、虹細(xì)注呂樹111廢、11>'口針1&口56@等)等。
[0026] 運(yùn)些來源可W用作大量的圖像內(nèi)容。運(yùn)種數(shù)字繪畫可W按多種圖像格式中的任何 一種進(jìn)行格式化,所述多種圖像格式包括但不限于JPEG、TIFF、RAW、GIF、BMP、PNG等。通過 所述服務(wù)提供的數(shù)字繪畫可W由具有那些服務(wù)的賬號(hào)的用戶發(fā)布。例如,具有繪畫存儲(chǔ)和/ 或共享服務(wù)的賬號(hào)的用戶可W上傳繪畫,諸如上傳那些用繪畫應(yīng)用創(chuàng)建的繪畫或者那些經(jīng) 由電子手段發(fā)送至用戶的繪畫。繪畫存儲(chǔ)和/或共享服務(wù)的用戶然后可w諸如通過提供鏈 接至用戶的繪畫集或者個(gè)人資料,W與其他人共享他們上傳的繪畫。
[0027] PB化模擬模塊110所代表的功能可W實(shí)現(xiàn)如本文所述的畫筆與液體模擬技術(shù)。例 如,ro化模擬模塊110可W按各種方式被配置為對(duì)設(shè)及虛擬顏料的相互作用模擬逼真的質(zhì) 量,所述虛擬顏料被虛擬畫筆涂敷到虛擬畫布上。例如,PB化模擬模塊110可被配置為模 擬逼真的質(zhì)量,逼真的質(zhì)量諸如虛擬顏料的表現(xiàn)、虛擬顏料在虛擬畫布上的流動(dòng)、虛擬顏料 在虛擬畫筆與虛擬畫布之間的流動(dòng)等。
[0028] 在物理世界中,顏料在離開畫筆的區(qū)域處可W繼續(xù)流動(dòng)并滲入到畫布中。然而,顏 料在那些區(qū)域處的變化量(例如,由于流動(dòng)、滲入等)通常遠(yuǎn)小于顏料在畫筆附近的變化量 (例如,剛被涂敷的畫筆筆劃的結(jié)果等)?;谶\(yùn)個(gè)觀察結(jié)果,ro化模擬模塊110可W針對(duì) 設(shè)及在虛擬畫布的虛擬畫筆周圍的區(qū)域內(nèi)的虛擬顏料的相互作用模擬逼真的質(zhì)量。然而, 在一個(gè)或更多個(gè)實(shí)施方式中,針對(duì)位于所述區(qū)域之外的虛擬顏料,PB化模擬模塊110不模 擬逼真的質(zhì)量