Krita Source Code Documentation
Loading...
Searching...
No Matches
phong_pixel_processor.h
Go to the documentation of this file.
1/*
2* SPDX-FileCopyrightText: 2010-2011 José Luis Vergara <pentalis@gmail.com>
3*
4* SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#ifndef PHONG_PIXEL_PROCESSOR_H
8#define PHONG_PIXEL_PROCESSOR_H
9
10#include <QVector3D>
11#include <QTime>
12#include <QColor>
13#include <QList>
14#include <QMap>
15
18
24
26{
27
28public:
29 PhongPixelProcessor(quint32 pixelArea, const KisPropertiesConfigurationSP config);
31
34
36 QVector3D normal_vector;
37 QVector3D x_vector;
38 QVector3D y_vector;
39 QVector3D light_vector;
40 QVector3D vision_vector;
41
43
45 qreal Ka;
46
48 qreal Kd;
49
51 qreal Ks;
52
54 qreal shiny_exp;
55
57 qreal Ia;
58
60 qreal Id;
61
63 qreal Is;
64
65 QVector<quint16> IlluminatePixelFromHeightmap(quint32 posup, quint32 posdown, quint32 posleft, quint32 posright);
67 QVector<quint16> IlluminatePixelFromNormalmap(qreal r, qreal g, qreal b);
68
69 void setLightVector(QVector3D light_vector);
70
73
75 quint8 size;
76
79
82
83private:
84 quint32 m_pixelArea;
85};
86
87
88#endif
qreal Kd
Diffuse light coefficient.
void setLightVector(QVector3D light_vector)
qreal Ks
Specular light coefficient.
qreal shiny_exp
Shinyness exponent.
qreal Is
Total specular light.
QVector< quint16 > IlluminatePixelFromHeightmap(quint32 posup, quint32 posdown, quint32 posleft, quint32 posright)
qreal Ia
Total ambient light.
qreal Id
Total diffuse light.
qreal Ka
Ambient light coefficient.
QVector< quint16 > IlluminatePixel()
PhongPixelProcessor(quint32 pixelArea, const KisPropertiesConfigurationSP config)
QVector< double > realheightmap
void initialize(const KisPropertiesConfigurationSP config)
quint8 size
Size of this stuff.
QVector< quint16 > IlluminatePixelFromNormalmap(qreal r, qreal g, qreal b)
QList< Illuminant > lightSources
Light sources to use (those disabled in the GUI are not present here)
QList< qreal > RGBvalue