File indexing completed on 2024-06-16 04:16:42
0001 /* 0002 * SPDX-FileCopyrightText: 2010 Dmitry Kazakov <dimula73@gmail.com> 0003 * SPDX-FileCopyrightText: 2010-2011 José Luis Vergara <pentalis@gmail.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef KIS_PHONG_BUMPMAP_FILTER_H 0009 #define KIS_PHONG_BUMPMAP_FILTER_H 0010 0011 #include <kis_types.h> 0012 #include <filter/kis_filter.h> 0013 0014 /** 0015 * This class is an implementation of the phong illumination model. 0016 * It uses a heightmap as an input mesh (normally taken from 1 0017 * channel of a colorspace) to achieve a bumpmapping effect with 0018 * multiple illumination sources. 0019 */ 0020 class KisFilterPhongBumpmap : public KisFilter 0021 { 0022 public: 0023 KisFilterPhongBumpmap(); 0024 0025 public: 0026 0027 void processImpl(KisPaintDeviceSP device, 0028 const QRect& applyRect, 0029 const KisFilterConfigurationSP config, 0030 KoUpdater *progressUpdater 0031 ) const override; 0032 0033 QRect neededRect(const QRect &rect, const KisFilterConfigurationSP config, int lod) const override; 0034 QRect changedRect(const QRect &rect, const KisFilterConfigurationSP config, int lod) const override; 0035 0036 KisConfigWidget *createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override; 0037 KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override; 0038 private: 0039 //bool m_usenormalmap; 0040 }; 0041 0042 #endif //KIS_PHONG_BUMPMAP_FILTER_H