aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/perlinnoise.cpp
Commit message (Collapse)AuthorAge
* Fix tiled perlin noise.Gravatar senorblanco2014-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | It turns out that the perlin implementation we inherited from WebKit does not actually generate tileable noise (see Chromium bug http://crbug.com/383495). The main problem is that when generating coordinates for gradient interpolation, it was attempting to wrap both x and (x + 1) simultaneously at the tile boundary (that is, either both or neither are wrapped). This obviously won't work, since along the tile seams, (x + 1) should be wrapped, but x should not. The same is true in y. This patch fixes both the CPU and GPU paths, renames some variables to more closely match the spec, and modifies the perlin noise GM to actually test tiling. (Note that the clipping the GM was doing was removed, since it's superfluous: it used to be necessary for image filters, but isn't anymore, and this isn't an image filter GM anyway.) R=sugoi@google.com, sugoi TBR=senorblanco Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/332523006
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-05-13
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14705 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-land hide get/setLocalMatrixGravatar commit-bot@chromium.org2014-05-12
| | | | | | | | | | | | This reverts commit b1d702a43b07934f5b001b1b09db2c57ede909a1. TBR=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/279903002 git-svn-id: http://skia.googlecode.com/svn/trunk@14702 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new perlin noise gm to test localmatrixGravatar reed@google.com2014-05-12
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/283533002 git-svn-id: http://skia.googlecode.com/svn/trunk@14698 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkPerlinNoiseShader::CreateTubulenceNoise() is misspelledGravatar commit-bot@chromium.org2014-04-01
| | | | | | | | | | | | | Add missing 'r'. BUG=skia:2329 R=bsalomon@google.com, hcm@google.com, sugoi@chromium.org Author: siglesias@igalia.com Review URL: https://codereview.chromium.org/207543008 git-svn-id: http://skia.googlecode.com/svn/trunk@14008 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkFloatToScalar macroGravatar commit-bot@chromium.org2013-11-25
| | | | | | | | | | | BUG= R=reed@google.com, djsollen@google.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/85463005 git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
* Perlin issue fixedGravatar commit-bot@chromium.org2013-11-06
| | | | | | | | | | | BUG=skia:1799 R=sugoi@chromium.org, sugoi@google.com, senorblanco@chromium.org Author: bsalomon@google.com Review URL: https://codereview.chromium.org/59173005 git-svn-id: http://skia.googlecode.com/svn/trunk@12150 2bbb7eff-a529-9590-31e7-b0007b416f81
* *** Perlin noise GM needs to be rebaselined ***Gravatar commit-bot@chromium.org2013-06-17
| | | | | | | | | | | | | | | | | | | | | | | Enabling Perlin Noise on Android I enabled the Perlin Noise shader on Android after doing some minor modifications to the shader, specifically for Android (and #ifdefed for Android, to make sure none of this affects other platforms). For Tegra devices (Nexus 7, Xoom), a precision issue related to the color values read from textures caused the noise to read the wrong indices and produce bad noise. I fixed this by adding a founding of the values read by simply doing the equivalent of "colorValue = floor(colorValue * 255.0) / 255.0" to make sure we retrieve the colors that were written in the texture originally. For non-Tegra devices (Nexus 10), dealing with values in the order of 4096.0 was problematic without using the "highp" precision setting. To solve this, a few variables were given the high precision setting. Since both fixes don't seem to do considerable harm to the platforms that are not being targetted, I left both fixes on all android devices for now. I also reduced the Perlin noise gm so that it takes less time to test it on the Xoom (Original time was about 20 seconds, this shold take less than 10, hopefully) BUG= R=senorblanco@google.com, bsalomon@google.com, sugoi@google.com, senorblanco@chromium.org Author: sugoi@chromium.org Review URL: https://chromiumcodereview.appspot.com/16818013 git-svn-id: http://skia.googlecode.com/svn/trunk@9637 2bbb7eff-a529-9590-31e7-b0007b416f81
* Perlin noise adjustmentsGravatar sugoi@google.com2013-04-17
| | | | | | | | | | | 1 ) Added GPU simplex noise as a comparison to GPU Perlin noise. It can be enabled simply by using a #define (SK_USE_SIMPLEX_NOISE) 2 ) Enabled GPU Perlin noise tests 3 ) Added a small benchmark for noise 4 ) Disabled GPU Perlin noise on Android based on benchmarks Review URL: https://codereview.chromium.org/14087002 git-svn-id: http://skia.googlecode.com/svn/trunk@8719 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-04-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8548 2bbb7eff-a529-9590-31e7-b0007b416f81
* New SVG turbulence in SkiaGravatar sugoi@google.com2013-04-05
| | | | | | | | | This cl contains the code for CPU generation of noise. TEST:Added 'perlinnoise' gm Review URL: https://codereview.chromium.org/13094003 git-svn-id: http://skia.googlecode.com/svn/trunk@8541 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r8376, r8373 and r8371 due to Android shader compilation failuresGravatar robertphillips@google.com2013-03-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8378 2bbb7eff-a529-9590-31e7-b0007b416f81
* Unreviewed build fixGravatar sugoi@google.com2013-03-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8376 2bbb7eff-a529-9590-31e7-b0007b416f81
* New SVG turbulence in SkiaGravatar sugoi@google.com2013-03-25
| | | | | | | | | | This cl contains the code for both CPU and GPU generation of noise. Both codepaths yield equivalent results. TEST:Added 'perlinnoise' gm Review URL: https://codereview.chromium.org/13047005 git-svn-id: http://skia.googlecode.com/svn/trunk@8371 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting 8313 (SVG turbulence) due to Ubuntu failuresGravatar robertphillips@google.com2013-03-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8316 2bbb7eff-a529-9590-31e7-b0007b416f81
* New SVG turbulence in SkiaGravatar sugoi@google.com2013-03-21
This cl contains the code for both CPU and GPU generation of noise. Both codepaths yield equivalent results. TEST:Added 'perlinnoise' gm Review URL: https://codereview.appspot.com/7322060 git-svn-id: http://skia.googlecode.com/svn/trunk@8313 2bbb7eff-a529-9590-31e7-b0007b416f81