QGoochMaterial

The QGoochMaterial provides a material that implements the Gooch shading model, popular in CAD and CAM applications. More

Inheritance diagram of PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial

Synopsis

Functions

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.

class PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial([parent=None])
Parameters

parentPySide6.Qt3DCore.Qt3DCore.QNode

Constructs a new QGoochMaterial instance with parent object parent.

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.alpha()
Return type

float

See also

setAlpha()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.alphaChanged(alpha)
Parameters

alpha – float

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.beta()
Return type

float

See also

setBeta()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.betaChanged(beta)
Parameters

beta – float

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.cool()
Return type

PySide6.QtGui.QColor

See also

setCool()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.coolChanged(cool)
Parameters

coolPySide6.QtGui.QColor

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.diffuse()
Return type

PySide6.QtGui.QColor

See also

setDiffuse()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.diffuseChanged(diffuse)
Parameters

diffusePySide6.QtGui.QColor

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setAlpha(alpha)
Parameters

alpha – float

See also

alpha()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setBeta(beta)
Parameters

beta – float

See also

beta()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setCool(cool)
Parameters

coolPySide6.QtGui.QColor

See also

cool()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setDiffuse(diffuse)
Parameters

diffusePySide6.QtGui.QColor

See also

diffuse()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setShininess(shininess)
Parameters

shininess – float

See also

shininess()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setSpecular(specular)
Parameters

specularPySide6.QtGui.QColor

See also

specular()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.setWarm(warm)
Parameters

warmPySide6.QtGui.QColor

See also

warm()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.shininess()
Return type

float

See also

setShininess()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.shininessChanged(shininess)
Parameters

shininess – float

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.specular()
Return type

PySide6.QtGui.QColor

See also

setSpecular()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.specularChanged(specular)
Parameters

specularPySide6.QtGui.QColor

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.warm()
Return type

PySide6.QtGui.QColor

See also

setWarm()

PySide6.Qt3DExtras.Qt3DExtras.QGoochMaterial.warmChanged(warm)
Parameters

warmPySide6.QtGui.QColor