OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 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 | 8 |
9 #include "SkLights.h" | 9 #include "SkLights.h" |
10 #include "SkReadBuffer.h" | 10 #include "SkReadBuffer.h" |
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
596 | 596 |
597 SkLights::Builder builder; | 597 SkLights::Builder builder; |
598 | 598 |
599 for (int l = 0; l < numLights; ++l) { | 599 for (int l = 0; l < numLights; ++l) { |
600 bool isAmbient = buf.readBool(); | 600 bool isAmbient = buf.readBool(); |
601 | 601 |
602 SkColor3f color; | 602 SkColor3f color; |
603 if (!buf.readScalarArray(&color.fX, 3)) { | 603 if (!buf.readScalarArray(&color.fX, 3)) { |
604 return nullptr; | 604 return nullptr; |
605 } | 605 } |
606 | 606 |
robertphillips
2016/08/10 17:48:39
What about serialization of point lights here ?
vjiaoblack
2016/08/11 14:27:23
Done.
| |
607 if (isAmbient) { | 607 if (isAmbient) { |
608 builder.add(SkLights::Light(color)); | 608 builder.add(SkLights::Light::MakeAmbient(color)); |
609 } else { | 609 } else { |
610 SkVector3 dir; | 610 SkVector3 dir; |
611 if (!buf.readScalarArray(&dir.fX, 3)) { | 611 if (!buf.readScalarArray(&dir.fX, 3)) { |
612 return nullptr; | 612 return nullptr; |
613 } | 613 } |
614 | 614 |
615 sk_sp<SkImage> depthMap; | 615 sk_sp<SkImage> depthMap; |
616 if (!(depthMap = sk_ref_sp<SkImage>(buf.readImage()))) { | 616 if (!(depthMap = sk_ref_sp<SkImage>(buf.readImage()))) { |
617 return nullptr; | 617 return nullptr; |
618 } | 618 } |
619 | 619 |
620 SkLights::Light light = SkLights::Light(color, dir); | 620 SkLights::Light light = SkLights::Light::MakeDirectional(color, dir) ; |
621 light.setShadowMap(depthMap); | 621 light.setShadowMap(depthMap); |
622 | 622 |
623 builder.add(light); | 623 builder.add(light); |
624 } | 624 } |
625 } | 625 } |
626 | 626 |
627 sk_sp<SkLights> lights(builder.finish()); | 627 sk_sp<SkLights> lights(builder.finish()); |
628 | 628 |
629 int diffuseWidth = buf.readInt(); | 629 int diffuseWidth = buf.readInt(); |
630 int diffuseHeight = buf.readInt(); | 630 int diffuseHeight = buf.readInt(); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
717 | 717 |
718 /////////////////////////////////////////////////////////////////////////////// | 718 /////////////////////////////////////////////////////////////////////////////// |
719 | 719 |
720 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkShadowShader) | 720 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkShadowShader) |
721 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkShadowShaderImpl) | 721 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkShadowShaderImpl) |
722 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 722 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
723 | 723 |
724 /////////////////////////////////////////////////////////////////////////////// | 724 /////////////////////////////////////////////////////////////////////////////// |
725 | 725 |
726 #endif | 726 #endif |
OLD | NEW |