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

Side by Side Diff: src/core/SkShadowShader.cpp

Issue 2237493002: Added PointLights to SkLights::Light (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: changed a vec3 to a point3 Created 4 years, 4 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/SkLightingShader.cpp ('K') | « src/core/SkLightingShader.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 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
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
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
OLDNEW
« src/core/SkLightingShader.cpp ('K') | « src/core/SkLightingShader.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698