Paintbrush and liquid simulation
US-9600907-B2 · Mar 21, 2017 · US
US10489937B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489937-B2 |
| Application number | US-201715459042-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 15, 2017 |
| Priority date | Nov 25, 2014 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Paintbrush and liquid simulation techniques are described. In one or more implementations, input is received to perform brush strokes with a virtual paintbrush on a virtual canvas. For virtual paint on the virtual canvas, lifelike paint qualities are simulated. However, the lifelike paint qualities are simulated solely for the virtual paint that is within a region of the canvas. The lifelike paint qualities are not simulated for virtual paint located outside the region. As part of simulating the interaction between the virtual paint, the virtual paintbrush, and the virtual canvas, various parts of the simulation may be performed by different processing units. For example, bristles of the virtual paintbrush may be simulated utilizing a first processing device such as a central processing unit (CPU). A second processing unit, such as a graphics processing unit (GPU), may be employed to simulate the lifelike effects of the virtual paint.
Opening claim text (preview).
What is claimed is: 1. In a virtual paint environment to simulate lifelike qualities of paint for virtual paint, a method implemented by a computing device, the method comprising: receiving, by the computing device, an input describing one or more brush strokes of a virtual paintbrush on a virtual canvas; computing, by a central processing unit (CPU), a bristle density map describing bristles of the virtual paintbrush based at least in part on the input; communicating, by the CPU, the bristle density map to a graphics processing unit (GPU) of the computing device; computing, by the GPU, a fluid surface map representing a topography of the virtual paint on the virtual canvas based at least in part on the input; communicating, by the GPU, the fluid surface map to the CPU; simulating, by the CPU, bristles of the virtual paintbrush based at least in part on the fluid surface map; and simulating, by the GPU, one or more lifelike paint qualities based at least in part on the bristle density map for virtual paint on the virtual canvas within a region following a location of the virtual paintbrush. 2. A method as described in claim 1 , wherein the following of the location of the virtual paintbrush further comprising: updating the region to follow the virtual paintbrush; and ceasing simulation of the one or more lifelike paint qualities for a portion of the virtual canvas that is no longer in the region based at least in part on the updating. 3. A method as described in claim 1 , wherein the region follows the virtual paint brush based at least in part on a velocity of the virtual paint brush. 4. A method as described in claim 1 , wherein the region follows the virtual paint brush based at least in part on a rate of bending change of the virtual paint brush. 5. A method as described in claim 1 , wherein the region follows the virtual paint brush based at least in part on a change in velocity of the virtual paint brush. 6. A method as described in claim 1 , wherein the simulating to the one or more lifelike paint qualities includes simulating one or more of flow of the virtual paint on the virtual canvas or flow of the virtual paint between the virtual paintbrush and the virtual canvas. 7. A method as described in claim 1 , wherein the simulating of the one or more lifelike paint qualities includes computing a volume of the virtual paint by allocating a volumetric uniform grid by the GPU that covers the virtual canvas. 8. A method as described in claim 1 , wherein the computing of the bristle density map by the CPU includes simulating mass-spring simulation for bristles of the virtual paintbrush; and generating the bristle density map as a voxelization indicative of a position of the bristles of the virtual paintbrush in a three-dimensional volume. 9. A method as described in claim 8 , wherein the simulating of the one or more lifelike paint qualities by the GPU includes smoothing the voxelization of the bristle density map to generate a smoothed bristle density map. 10. A method as described in claim 9 , wherein the generation of a smoothed bristle density map includes the use of a Gaussian filter by the GPU. 11. A method as described in claim 9 , wherein the generation of a smoothed bristle density map includes the use of a variety of filters other than a Gaussian filter by the GPU. 12. A method as described in claim 8 , wherein the simulating of the one or more lifelike paint qualities by the GPU includes stirring liquids of the virtual paint and resolving bristle-to-bristle collision based on the bristle density map. 13. A computing device comprising: a processing system including a first processing unit and a second processing unit; and a computer readable storage medium having stored thereon instructions that implement a platform of the computing device that, responsive to execution by the processing system, causes the processing system to perform operations comprising: receiving an input describing one or more brush strokes of a virtual paintbrush on a virtual canvas; computing, by the first processing unit, a bristle density map describing bristles of the virtual paintbrush based at least in part on the input; computing, by the second processing unit, a fluid surface map representing a topography of the virtual paint on the virtual canvas based at least in part on the input; communicating the bristle density map from the first processing unit to the second processing unit; communicating the fluid surface map from the second processing unit to the first processing unit; simulating, by the first processing unit, bristles of the virtual paintbrush based at least in part on the fluid surface map; and simulating, by the second processing unit, one or more lifelike paint qualities for the virtual paint on the virtual canvas based at least in part on the bristle density map within a region of the virtual canvas as following a location of the virtual paintbrush. 14. A computing device as described in claim 13 , the operations of following the location of the virtual paintbrush further comprising: updating the region to follow the virtual paintbrush; and ceasing simulation of the one or more lifelike paint qualities for a portion of the virtual canvas that is no longer in the region based at least in part on the updating. 15. A computing device as described in claim 14 , wherein the updating is based at least in part on a velocity of the virtual paintbrush. 16. A computing device as described in claim 14 , wherein the updating is based at least in part on a rate of bending and curvature change of the virtual paint brush. 17. A computing device as described in claim 14 , wherein the ceasing simulation of the one or more lifelike painting qualities includes ceasing simulation of fluid qualities of the virtual paint, including: flow of the virtual paint on the virtual canvas; and seeping of the virtual paint into the virtual canvas. 18. A computing device as described in claim 14 , wherein the updating is based at least in part on a path taken by the virtual paintbrush such that a portion of the path that was recently laid remains in the updated region. 19. In a virtual paint environment to simulate lifelike qualities of paint for virtual paint, a method implemented by a computing device, the method comprising: steps for receiving input describing one or more brush strokes of a virtual paintbrush on a virtual canvas; steps for computing, by a central processing unit (CPU), a bristle density map describing bristles of the virtual paintbrush based at least in part on the input; steps for computing, by a graphics processing unit (GPU), a fluid surface map representing a topography of the virtual paint on the virtual canvas based at least in part on the input; steps for communicating, by the CPU, the bristle density map to the GPU; steps for communicating, by the GPU, the fluid surface map to the CPU; steps for simulating, by the CPU, bristles of the virtual paintbrush based at least in part on the fluid surface map; steps for simulating, by the CPU, one or more lifelike paint qualities for the virtual paint based at least in part on the bristle density map within a region of the virtual canvas. 20. A method as described in claim 19 , wherein the computing of the fluid surface map is based at least in part on information indicative of fluid velocity for the virtual paint, the fluid surface map and the information indicative of the fluid velocity being usable to simulate bristles of the virtual paintbr
Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77) · CPC title
Arrangements for converting the position or the displacement of a member into a coded form · CPC title
Color image · CPC title
Fluid dynamics · CPC title
Filling planar surfaces by adding surface attributes, e.g. adding colours or textures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.