Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Side by Side Diff: tests/SerializationTest.cpp

Issue 2063793002: API change to allow for NormalSource selection at the user level. (Closed) Base URL: https://skia.googlesource.com/skia@dvonbeck-normal-factor-out
Patch Set: Fixed CPU behavior when normal.Z=-1 Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« src/core/SkNormalSource.cpp ('K') | « src/core/SkNormalSource.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "Resources.h" 8 #include "Resources.h"
9 #include "SkAnnotationKeys.h" 9 #include "SkAnnotationKeys.h"
10 #include "SkBitmapProcShader.h"
10 #include "SkCanvas.h" 11 #include "SkCanvas.h"
11 #include "SkFixed.h" 12 #include "SkFixed.h"
12 #include "SkFontDescriptor.h" 13 #include "SkFontDescriptor.h"
13 #include "SkImage.h" 14 #include "SkImage.h"
14 #include "SkImageSource.h" 15 #include "SkImageSource.h"
15 #include "SkLightingShader.h" 16 #include "SkLightingShader.h"
16 #include "SkMallocPixelRef.h" 17 #include "SkMallocPixelRef.h"
18 #include "SkNormalSource.h"
17 #include "SkOSFile.h" 19 #include "SkOSFile.h"
18 #include "SkPictureRecorder.h" 20 #include "SkPictureRecorder.h"
19 #include "SkTableColorFilter.h" 21 #include "SkTableColorFilter.h"
20 #include "SkTemplates.h" 22 #include "SkTemplates.h"
21 #include "SkTypeface.h" 23 #include "SkTypeface.h"
22 #include "SkWriteBuffer.h" 24 #include "SkWriteBuffer.h"
23 #include "SkValidatingReadBuffer.h" 25 #include "SkValidatingReadBuffer.h"
24 #include "SkXfermodeImageFilter.h" 26 #include "SkXfermodeImageFilter.h"
25 #include "sk_tool_utils.h" 27 #include "sk_tool_utils.h"
26 #include "Test.h" 28 #include "Test.h"
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 sk_tool_utils::color_to_565(0x0), 568 sk_tool_utils::color_to_565(0x0),
567 sk_tool_utils::color_to_565(0xFF804020), 569 sk_tool_utils::color_to_565(0xFF804020),
568 8); 570 8);
569 571
570 SkRect bitmapBounds = SkRect::MakeIWH(diffuse.width(), diffuse.height()) ; 572 SkRect bitmapBounds = SkRect::MakeIWH(diffuse.width(), diffuse.height()) ;
571 573
572 SkMatrix matrix; 574 SkMatrix matrix;
573 SkRect r = SkRect::MakeWH(SkIntToScalar(kTexSize), SkIntToScalar(kTexSiz e)); 575 SkRect r = SkRect::MakeWH(SkIntToScalar(kTexSize), SkIntToScalar(kTexSiz e));
574 matrix.setRectToRect(bitmapBounds, r, SkMatrix::kFill_ScaleToFit); 576 matrix.setRectToRect(bitmapBounds, r, SkMatrix::kFill_ScaleToFit);
575 577
576 SkVector invNormRotation = { SkScalarSqrt(0.3f), SkScalarSqrt(0.7f) }; 578 SkMatrix ctm;
579 ctm.setRotate(45);
577 SkBitmap normals; 580 SkBitmap normals;
578 normals.allocN32Pixels(kTexSize, kTexSize); 581 normals.allocN32Pixels(kTexSize, kTexSize);
579 582
580 sk_tool_utils::create_frustum_normal_map(&normals, SkIRect::MakeWH(kTexS ize, kTexSize)); 583 sk_tool_utils::create_frustum_normal_map(&normals, SkIRect::MakeWH(kTexS ize, kTexSize));
581 sk_sp<SkShader> lightingShader = SkLightingShader::Make(diffuse, normals , fLights, 584 sk_sp<SkShader> normalMap = SkMakeBitmapShader(normals, SkShader::kClamp _TileMode,
582 invNormRotation, &matrix, &matrix); 585 SkShader::kClamp_TileMode , &matrix, nullptr);
586 sk_sp<SkNormalSource> normalSource = SkNormalSource::MakeFromNormalMap(s td::move(normalMap),
587 c tm);
588 sk_sp<SkShader> lightingShader = SkLightingShader::Make(diffuse, fLights , &matrix,
589 std::move(normal Source));
583 590
584 SkAutoTUnref<SkShader>(TestFlattenableSerialization(lightingShader.get() , true, reporter)); 591 SkAutoTUnref<SkShader>(TestFlattenableSerialization(lightingShader.get() , true, reporter));
585 // TODO test equality? 592 // TODO test equality?
586 593
587 } 594 }
588 } 595 }
589 596
590 //////////////////////////////////////////////////////////////////////////////// /////////////////// 597 //////////////////////////////////////////////////////////////////////////////// ///////////////////
591 #include "SkAnnotation.h" 598 #include "SkAnnotation.h"
592 599
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 { r1, SkAnnotationKeys::Define_Named_Dest_Key(), d1 }, 667 { r1, SkAnnotationKeys::Define_Named_Dest_Key(), d1 },
661 { r2, SkAnnotationKeys::Link_Named_Dest_Key(), d2 }, 668 { r2, SkAnnotationKeys::Link_Named_Dest_Key(), d2 },
662 }; 669 };
663 670
664 sk_sp<SkPicture> pict0(recorder.finishRecordingAsPicture()); 671 sk_sp<SkPicture> pict0(recorder.finishRecordingAsPicture());
665 sk_sp<SkPicture> pict1(copy_picture_via_serialization(pict0.get())); 672 sk_sp<SkPicture> pict1(copy_picture_via_serialization(pict0.get()));
666 673
667 TestAnnotationCanvas canvas(reporter, recs, SK_ARRAY_COUNT(recs)); 674 TestAnnotationCanvas canvas(reporter, recs, SK_ARRAY_COUNT(recs));
668 canvas.drawPicture(pict1); 675 canvas.drawPicture(pict1);
669 } 676 }
OLDNEW
« src/core/SkNormalSource.cpp ('K') | « src/core/SkNormalSource.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698