- class QGoochMaterial#
The
QGoochMaterial
provides a material that implements the Gooch shading model, popular in CAD and CAM applications. More…Synopsis#
Properties#
Methods#
def
__init__()
def
alpha()
def
beta()
def
cool()
def
diffuse()
def
shininess()
def
specular()
def
warm()
Slots#
def
setAlpha()
def
setBeta()
def
setCool()
def
setDiffuse()
def
setShininess()
def
setSpecular()
def
setWarm()
Signals#
def
alphaChanged()
def
betaChanged()
def
coolChanged()
def
diffuseChanged()
def
warmChanged()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
The Gooch lighting model uses both color and brightness to help show the curvature of 3D surfaces. This is often better than models such as Phong that rely purely upon changes in brightness. In situations such as in CAD and CAM applications where photorealism is not a goal, the Gooch shading model in conjunction with some kind of silhouette edge inking is a popular solution.
The Gooch lighting model is explained fully in the original Gooch paper . The Gooch model mixes a diffuse object color with a user-provided cool color and warm color to produce the end points of a color ramp that is used to shade the object based upon the cosine of the angle between the vector from the fragment to the light source and the fragment’s normal vector. Optionally, a specular highlight can be added on top. The relative contributions to the cool and warm colors by the diffuse color are controlled by the alpha and beta properties respecitvely.
This material uses an effect with a single render pass approach and performs per fragment lighting. Techniques are provided for OpenGL 2, OpenGL 3 or above as well as OpenGL ES 2.
Note
Properties can be used directly when
from __feature__ import true_property
is used or via accessor functions otherwise.- property alphaᅟ: float#
Holds the current alpha value. The start point of the color ramp used by the Gooch shader is calculated as {c = cool + alpha * diffuse}.
- Access functions:
Signal
alphaChanged()
- property betaᅟ: float#
Holds the current beta value. The start point of the color ramp used by the Gooch shader is calculated as {c = warm + beta * diffuse}.
- Access functions:
Signal
betaChanged()
Holds the current cool color.
- Access functions:
Signal
coolChanged()
Holds the current diffuse color.
- Access functions:
- property shininessᅟ: float#
Holds the current shininess value. Higher values of shininess result in a smaller and brighter highlight.
- Access functions:
Holds the current specular color.
- Access functions:
Holds the current warm color.
- Access functions:
Signal
warmChanged()
- __init__([parent=None])#
- Parameters:
parent –
QNode
Constructs a new
QGoochMaterial
instance with parent objectparent
.- alpha()#
- Return type:
float
See also
setAlpha()
Getter of property
alphaᅟ
.- alphaChanged(alpha)#
- Parameters:
alpha – float
Notification signal of property
alphaᅟ
.- beta()#
- Return type:
float
See also
setBeta()
Getter of property
betaᅟ
.- betaChanged(beta)#
- Parameters:
beta – float
Notification signal of property
betaᅟ
.Getter of property
coolᅟ
.Notification signal of property
coolᅟ
.Getter of property
diffuseᅟ
.Notification signal of property
diffuseᅟ
.- setAlpha(alpha)#
- Parameters:
alpha – float
See also
alpha()
Setter of property
alphaᅟ
.- setBeta(beta)#
- Parameters:
beta – float
See also
beta()
Setter of property
betaᅟ
.Setter of property
coolᅟ
.Setter of property
diffuseᅟ
.- setShininess(shininess)#
- Parameters:
shininess – float
See also
shininess()
Setter of property
shininessᅟ
.Setter of property
specularᅟ
.Setter of property
warmᅟ
.- shininess()#
- Return type:
float
See also
setShininess()
Getter of property
shininessᅟ
.- shininessChanged(shininess)#
- Parameters:
shininess – float
Notification signal of property
shininessᅟ
.Getter of property
specularᅟ
.Notification signal of property
specularᅟ
.Getter of property
warmᅟ
.Notification signal of property
warmᅟ
.