| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The Android Open Source Project | 2 * Copyright 2012 The Android Open Source Project |
| 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 "SkLightingImageFilter.h" | 8 #include "SkLightingImageFilter.h" |
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
| 10 #include "SkColorPriv.h" | 10 #include "SkColorPriv.h" |
| (...skipping 1579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1590 GrProcessorKeyBuilder* b) const
{ | 1590 GrProcessorKeyBuilder* b) const
{ |
| 1591 GrGLDiffuseLightingEffect::GenKey(*this, caps, b); | 1591 GrGLDiffuseLightingEffect::GenKey(*this, caps, b); |
| 1592 } | 1592 } |
| 1593 | 1593 |
| 1594 GrGLFragmentProcessor* GrDiffuseLightingEffect::createGLInstance() const { | 1594 GrGLFragmentProcessor* GrDiffuseLightingEffect::createGLInstance() const { |
| 1595 return SkNEW_ARGS(GrGLDiffuseLightingEffect, (*this)); | 1595 return SkNEW_ARGS(GrGLDiffuseLightingEffect, (*this)); |
| 1596 } | 1596 } |
| 1597 | 1597 |
| 1598 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrDiffuseLightingEffect); | 1598 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrDiffuseLightingEffect); |
| 1599 | 1599 |
| 1600 GrFragmentProcessor* GrDiffuseLightingEffect::TestCreate(SkRandom* random, | 1600 GrFragmentProcessor* GrDiffuseLightingEffect::TestCreate(GrProcessorTestData* d)
{ |
| 1601 GrContext* context, | 1601 SkScalar surfaceScale = d->fRandom->nextSScalar1(); |
| 1602 const GrCaps&, | 1602 SkScalar kd = d->fRandom->nextUScalar1(); |
| 1603 GrTexture* textures[]) { | 1603 SkAutoTUnref<SkLight> light(create_random_light(d->fRandom)); |
| 1604 SkScalar surfaceScale = random->nextSScalar1(); | |
| 1605 SkScalar kd = random->nextUScalar1(); | |
| 1606 SkAutoTUnref<SkLight> light(create_random_light(random)); | |
| 1607 SkMatrix matrix; | 1604 SkMatrix matrix; |
| 1608 for (int i = 0; i < 9; i++) { | 1605 for (int i = 0; i < 9; i++) { |
| 1609 matrix[i] = random->nextUScalar1(); | 1606 matrix[i] = d->fRandom->nextUScalar1(); |
| 1610 } | 1607 } |
| 1611 BoundaryMode mode = static_cast<BoundaryMode>(random->nextU() % kBoundaryMod
eCount); | 1608 BoundaryMode mode = static_cast<BoundaryMode>(d->fRandom->nextU() % kBoundar
yModeCount); |
| 1612 return GrDiffuseLightingEffect::Create(textures[GrProcessorUnitTest::kAlphaT
extureIdx], | 1609 return GrDiffuseLightingEffect::Create(d->fTextures[GrProcessorUnitTest::kAl
phaTextureIdx], |
| 1613 light, surfaceScale, matrix, kd, mode
); | 1610 light, surfaceScale, matrix, kd, mode
); |
| 1614 } | 1611 } |
| 1615 | 1612 |
| 1616 | 1613 |
| 1617 /////////////////////////////////////////////////////////////////////////////// | 1614 /////////////////////////////////////////////////////////////////////////////// |
| 1618 | 1615 |
| 1619 GrGLLightingEffect::GrGLLightingEffect(const GrProcessor& fp) { | 1616 GrGLLightingEffect::GrGLLightingEffect(const GrProcessor& fp) { |
| 1620 const GrLightingEffect& m = fp.cast<GrLightingEffect>(); | 1617 const GrLightingEffect& m = fp.cast<GrLightingEffect>(); |
| 1621 fLight = m.light()->createGLLight(); | 1618 fLight = m.light()->createGLLight(); |
| 1622 fBoundaryMode = m.boundaryMode(); | 1619 fBoundaryMode = m.boundaryMode(); |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1798 GrProcessorKeyBuilder* b) const
{ | 1795 GrProcessorKeyBuilder* b) const
{ |
| 1799 GrGLSpecularLightingEffect::GenKey(*this, caps, b); | 1796 GrGLSpecularLightingEffect::GenKey(*this, caps, b); |
| 1800 } | 1797 } |
| 1801 | 1798 |
| 1802 GrGLFragmentProcessor* GrSpecularLightingEffect::createGLInstance() const { | 1799 GrGLFragmentProcessor* GrSpecularLightingEffect::createGLInstance() const { |
| 1803 return SkNEW_ARGS(GrGLSpecularLightingEffect, (*this)); | 1800 return SkNEW_ARGS(GrGLSpecularLightingEffect, (*this)); |
| 1804 } | 1801 } |
| 1805 | 1802 |
| 1806 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSpecularLightingEffect); | 1803 GR_DEFINE_FRAGMENT_PROCESSOR_TEST(GrSpecularLightingEffect); |
| 1807 | 1804 |
| 1808 GrFragmentProcessor* GrSpecularLightingEffect::TestCreate(SkRandom* random, | 1805 GrFragmentProcessor* GrSpecularLightingEffect::TestCreate(GrProcessorTestData* d
) { |
| 1809 GrContext* context, | 1806 SkScalar surfaceScale = d->fRandom->nextSScalar1(); |
| 1810 const GrCaps&, | 1807 SkScalar ks = d->fRandom->nextUScalar1(); |
| 1811 GrTexture* textures[])
{ | 1808 SkScalar shininess = d->fRandom->nextUScalar1(); |
| 1812 SkScalar surfaceScale = random->nextSScalar1(); | 1809 SkAutoTUnref<SkLight> light(create_random_light(d->fRandom)); |
| 1813 SkScalar ks = random->nextUScalar1(); | |
| 1814 SkScalar shininess = random->nextUScalar1(); | |
| 1815 SkAutoTUnref<SkLight> light(create_random_light(random)); | |
| 1816 SkMatrix matrix; | 1810 SkMatrix matrix; |
| 1817 for (int i = 0; i < 9; i++) { | 1811 for (int i = 0; i < 9; i++) { |
| 1818 matrix[i] = random->nextUScalar1(); | 1812 matrix[i] = d->fRandom->nextUScalar1(); |
| 1819 } | 1813 } |
| 1820 BoundaryMode mode = static_cast<BoundaryMode>(random->nextU() % kBoundaryMod
eCount); | 1814 BoundaryMode mode = static_cast<BoundaryMode>(d->fRandom->nextU() % kBoundar
yModeCount); |
| 1821 return GrSpecularLightingEffect::Create(textures[GrProcessorUnitTest::kAlpha
TextureIdx], | 1815 return GrSpecularLightingEffect::Create(d->fTextures[GrProcessorUnitTest::kA
lphaTextureIdx], |
| 1822 light, surfaceScale, matrix, ks, shi
niness, mode); | 1816 light, surfaceScale, matrix, ks, shi
niness, mode); |
| 1823 } | 1817 } |
| 1824 | 1818 |
| 1825 /////////////////////////////////////////////////////////////////////////////// | 1819 /////////////////////////////////////////////////////////////////////////////// |
| 1826 | 1820 |
| 1827 GrGLSpecularLightingEffect::GrGLSpecularLightingEffect(const GrProcessor& proc) | 1821 GrGLSpecularLightingEffect::GrGLSpecularLightingEffect(const GrProcessor& proc) |
| 1828 : INHERITED(proc) { | 1822 : INHERITED(proc) { |
| 1829 } | 1823 } |
| 1830 | 1824 |
| 1831 void GrGLSpecularLightingEffect::emitLightFunc(GrGLFPBuilder* builder, SkString*
funcName) { | 1825 void GrGLSpecularLightingEffect::emitLightFunc(GrGLFPBuilder* builder, SkString*
funcName) { |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1996 | 1990 |
| 1997 fsBuilder->codeAppendf("%s(%s)", fLightColorFunc.c_str(), surfaceToLight); | 1991 fsBuilder->codeAppendf("%s(%s)", fLightColorFunc.c_str(), surfaceToLight); |
| 1998 } | 1992 } |
| 1999 | 1993 |
| 2000 #endif | 1994 #endif |
| 2001 | 1995 |
| 2002 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingImageFilter) | 1996 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkLightingImageFilter) |
| 2003 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiffuseLightingImageFilter) | 1997 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkDiffuseLightingImageFilter) |
| 2004 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSpecularLightingImageFilter) | 1998 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSpecularLightingImageFilter) |
| 2005 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 1999 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |