mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	* terrain: Use PhongMaterialSettings material for the non texture case There is no functional change. With this change, the terrain uses a material defined by QGIS instead of a default Qt3D. This will make it easier to customize the shader in the future. * qgsphongmaterialsettings: Fix setShininess signature `mShininess` is a double. * qgsphongtexturedmaterialsettings: Use a double to store shininess This is already waht QgsPhongTexturedMaterialSettings does. The reason for this change is to avoid the user-set values changing for them when saving/restoring projects. * qgsphongtexturedmaterialsettings: Use a double to store opacity This is already waht QgsPhongTexturedMaterialSettings does. The reason for this change is to avoid the user-set values changing for them when saving/restoring projects. * qgsphongtexturedmaterialsettings: Do proper opacity cast in toMaterial * qgsphongtexturedmaterialsettings: Factor out material creation This introduces a new class `QgsPhongTexturedMaterial` which is similar to Qt3D `QDiffuseSpecularMaterial`. `QgsPhongTexturedMaterial::toMaterial()` now calls `QgsPhongTexturedMaterial` to create the material. This has no functional change. This will make it possible to directly use `QgsPhongTexturedMaterial` for the terrain in the next commit. Indeed, the texture case needs to use a `QTexture2D` which cannot be stored in a settings class. This issue is avoided by directly creating the material instead of using `QgsPhongTexturedMaterial::toMaterial()`. * qgsterraintileloader: Fix typo * terrain: Use QgsPhongTexturedMaterial for shading texture There is no functional change. With this change, the terrain uses a material defined by QGIS instead of a default Qt3D. This will make it easier to customize the shader in the future. * 3d/material: Introduce QgsTextureMaterial This is the same material as the qt3d one: `Qt3DExtras::QTextureMaterial`. It will also be used in the following commit by the terrain. * terrain: Use QgsTextureMaterial for non shading texture There is no functional change. With this change, the terrain uses a material defined by QGIS instead of a default Qt3D. This will make it easier to customize the shader in the future.
		
			
				
	
	
		
			195 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			195 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/3d/materials/qgsphongmaterialsettings.h                          *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsPhongMaterialSettings : QgsAbstractMaterialSettings
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
Basic shading material used for rendering based on the Phong shading model
 | 
						|
with three color components: ambient, diffuse and specular.
 | 
						|
 | 
						|
.. warning::
 | 
						|
 | 
						|
   This is not considered stable API, and may change in future QGIS releases. It is
 | 
						|
   exposed to the Python bindings as a tech preview only.
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsphongmaterialsettings.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    QgsPhongMaterialSettings();
 | 
						|
 | 
						|
    virtual QString type() const;
 | 
						|
 | 
						|
 | 
						|
    static bool supportsTechnique( QgsMaterialSettingsRenderingTechnique technique );
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the specified ``technique`` is supported by the Phong material.
 | 
						|
%End
 | 
						|
 | 
						|
    static QgsAbstractMaterialSettings *create() /Factory/;
 | 
						|
%Docstring
 | 
						|
Returns a new instance of QgsPhongMaterialSettings.
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QgsPhongMaterialSettings *clone() const /Factory/;
 | 
						|
 | 
						|
 | 
						|
    QColor ambient() const;
 | 
						|
%Docstring
 | 
						|
Returns ambient color component
 | 
						|
%End
 | 
						|
    QColor diffuse() const;
 | 
						|
%Docstring
 | 
						|
Returns diffuse color component
 | 
						|
%End
 | 
						|
    QColor specular() const;
 | 
						|
%Docstring
 | 
						|
Returns specular color component
 | 
						|
%End
 | 
						|
    double shininess() const;
 | 
						|
%Docstring
 | 
						|
Returns shininess of the surface
 | 
						|
%End
 | 
						|
 | 
						|
    double opacity() const;
 | 
						|
%Docstring
 | 
						|
Returns the opacity of the surface
 | 
						|
 | 
						|
.. versionadded:: 3.26
 | 
						|
%End
 | 
						|
 | 
						|
    double ambientCoefficient() const;
 | 
						|
%Docstring
 | 
						|
Returns the coefficient for the ambient color contribution (ie strength factor of the ambient color).
 | 
						|
 | 
						|
.. seealso:: :py:func:`setAmbientCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`diffuseCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`specularCoefficient`
 | 
						|
 | 
						|
.. versionadded:: 3.36
 | 
						|
%End
 | 
						|
 | 
						|
    double diffuseCoefficient() const;
 | 
						|
%Docstring
 | 
						|
Returns the coefficient for the diffuse color contribution (ie strength factor of the diffuse color).
 | 
						|
 | 
						|
.. seealso:: :py:func:`setDiffuseCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`ambientCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`specularCoefficient`
 | 
						|
 | 
						|
.. versionadded:: 3.36
 | 
						|
%End
 | 
						|
 | 
						|
    double specularCoefficient() const;
 | 
						|
%Docstring
 | 
						|
Returns the coefficient for the specular color contribution (ie strength factor of the specular color).
 | 
						|
 | 
						|
.. seealso:: :py:func:`setSpecularCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`diffuseCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`ambientCoefficient`
 | 
						|
 | 
						|
.. versionadded:: 3.36
 | 
						|
%End
 | 
						|
 | 
						|
    virtual QMap<QString, QString> toExportParameters() const;
 | 
						|
 | 
						|
 | 
						|
    void setAmbient( const QColor &ambient );
 | 
						|
%Docstring
 | 
						|
Sets ambient color component
 | 
						|
%End
 | 
						|
    void setDiffuse( const QColor &diffuse );
 | 
						|
%Docstring
 | 
						|
Sets diffuse color component
 | 
						|
%End
 | 
						|
    void setSpecular( const QColor &specular );
 | 
						|
%Docstring
 | 
						|
Sets specular color component
 | 
						|
%End
 | 
						|
    void setShininess( double shininess );
 | 
						|
%Docstring
 | 
						|
Sets shininess of the surface
 | 
						|
%End
 | 
						|
 | 
						|
    void setOpacity( double opacity );
 | 
						|
%Docstring
 | 
						|
Sets opacity of the surface
 | 
						|
 | 
						|
.. versionadded:: 3.26
 | 
						|
%End
 | 
						|
 | 
						|
    void setAmbientCoefficient( double coefficient );
 | 
						|
%Docstring
 | 
						|
Sets the ``coefficient`` for the ambient color contribution (ie strength factor of the ambient color).
 | 
						|
 | 
						|
.. seealso:: :py:func:`ambientCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`setDiffuseCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`setSpecularCoefficient`
 | 
						|
 | 
						|
.. versionadded:: 3.36
 | 
						|
%End
 | 
						|
 | 
						|
    void setDiffuseCoefficient( double coefficient );
 | 
						|
%Docstring
 | 
						|
Sets the ``coefficient`` for the diffuse color contribution (ie strength factor of the diffuse color).
 | 
						|
 | 
						|
.. seealso:: :py:func:`diffuseCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`setAmbientCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`setSpecularCoefficient`
 | 
						|
 | 
						|
.. versionadded:: 3.36
 | 
						|
%End
 | 
						|
 | 
						|
    void setSpecularCoefficient( double coefficient );
 | 
						|
%Docstring
 | 
						|
Sets the ``coefficient`` for the specular color contribution (ie strength factor of the specular color).
 | 
						|
 | 
						|
.. seealso:: :py:func:`specularCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`setDiffuseCoefficient`
 | 
						|
 | 
						|
.. seealso:: :py:func:`setAmbientCoefficient`
 | 
						|
 | 
						|
.. versionadded:: 3.36
 | 
						|
%End
 | 
						|
 | 
						|
    virtual void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
 | 
						|
 | 
						|
    virtual void writeXml( QDomElement &elem, const QgsReadWriteContext &context ) const;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    bool operator==( const QgsPhongMaterialSettings &other ) const;
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/3d/materials/qgsphongmaterialsettings.h                          *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 | 
						|
 ************************************************************************/
 |