fd35c742bf
rcp(rsqrt(x)) doesn't have enough precision when x is a coordinate. (It's fine when x is a color, like in the softlight blend mode.) Adds a GM to test this. It used to look quite ugly. Change-Id: Icec295c2e2f50ae7a5e3e33c62270f632a58f65c Reviewed-on: https://skia-review.googlesource.com/16914 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
23 lines
709 B
C++
23 lines
709 B
C++
/*
|
|
* Copyright 2017 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#include "gm.h"
|
|
#include "SkGradientShader.h"
|
|
|
|
// All we're looking for here is that we see a smooth gradient.
|
|
DEF_SIMPLE_GM(radial_gradient_precision, canvas, 200, 200) {
|
|
SkPoint center = {100000, 100000};
|
|
SkScalar radius = 40;
|
|
SkColor colors[] = {SK_ColorBLACK, SK_ColorWHITE};
|
|
|
|
SkPaint p;
|
|
p.setShader(SkGradientShader::MakeRadial(center, radius,
|
|
colors, nullptr, SK_ARRAY_COUNT(colors),
|
|
SkShader::kRepeat_TileMode));
|
|
canvas->drawPaint(p);
|
|
}
|