Skip to content

added new shading type, updated existing, updated effects (show shadows)#11066

Open
hefniraera wants to merge 5 commits into
qgis:masterfrom
hefniraera:3d-material
Open

added new shading type, updated existing, updated effects (show shadows)#11066
hefniraera wants to merge 5 commits into
qgis:masterfrom
hefniraera:3d-material

Conversation

@hefniraera

Copy link
Copy Markdown
Collaborator

fixes #11047
fixes #11039
fixes #11017
fixes #11013
fixes #10982
fixes #10970
fixes #10953
refs #11027

This PR introduces an update and addition to shading type documentation. I'm convinced there are probably more things related to this still under development. Let's focus on these while waiting for new ones?

Note: I noticed an update on Effects (apart from qgis/QGIS#66337), but failed to find a related ticket, or maybe I overlooked it, yet still I've done them here.

  • Backport to LTR documentation is requested

@hefniraera hefniraera force-pushed the 3d-material branch 3 times, most recently from 8b7c617 to 55b717c Compare June 12, 2026 13:31

@DelazJ DelazJ left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @hefniraera
I must admit that I'm unfamiliar with most of the concepts in this PR. So I'll trust your explanations on the properties 😉.
There still are some other required changes such as mentioning "materials" as a tab in the Style manager (no issue report exists afaict), thus updating style manager screenshot to show "Materials" tab, and list that entry in the page.

* :guilabel:`Embedded Textures` with 3D models shape
* :guilabel:`Physically Based`: renders materials that respond naturally to light, making objects look
like real-world materials. Options are available:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* :guilabel:`Physically Based`: renders materials that respond naturally to light,
making objects look like real-world materials. Following options are available:

or Available options are

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This dialog isn't the right one for this tool. It should be taken from adding new item from the Style Manager --> Materials tab. To show only the material, same as symbols.


.. _shading_texture:

Shading the texture

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previously, shading material was a group of properties within the 3D symbols properties. But now it has its own dedicated entry in the Style Manager dialog, at the same level as 3D symbols. So we need to adjust the introduction here and refer to creation through style manager. We then might want to change this section's title.

Maybe the title of the page itself should also become "Creating 3D Symbols and Materials"?

* :guilabel:`Roughness`: controls how rough or smooth the surface is.
* :guilabel:`Reflectance`: controls how much light the surface reflects.
* :guilabel:`Anisotropy`: creates directional reflections that align with
the direction specified in :guilabel:`Anisotropy direction`.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fail to understand how the user knows the anisotropy direction they set. The widget is a simple slider with no values. @nyalldawson should there not be a numerical value? I assume, an angle.

The image can be a file on disk, a remote URL or :ref:`embedded in the project
<embedded_file_selector>`.
The :guilabel:`Texture scale` and :guilabel:`Texture rotation` are required.
The :guilabel:`Texture scale`, :guilabel:`Texture rotation` and :guilabel:`Texture offset` are required,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the "required" we used here was correct. I'd go with something like what you suggested line 231.

given:

* a :guilabel:`Directional light`
* a :guilabel:`Light source`

@DelazJ DelazJ Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention that it can be a directional or sun light (though the latter seems to be a sub-item of the former - see qgis/QGIS#66460)

<embedded_file_selector>`.
The :guilabel:`Texture scale` and :guilabel:`Texture rotation` are required.
The :guilabel:`Texture scale`, :guilabel:`Texture rotation` and :guilabel:`Texture offset` are required,
Adjust the values manually or use |dataDefine| for dynamic control.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is an issue ticket for data defined control on texture options (legacy texture phong) and it's addressed in this line, but does that mean that we need to document data defined control for all other shading types and their options (eg. physically based - base color)?

:width: 50%

Physically based (with textures) configuration.
* :guilabel:`Embedded Textures` with 3D models shape.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still exists? I have (qgis/QGIS@2ac3c2f190d) an undocumented unlit (single color) item in my drop down but not this one. How do you trigger it ?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry this was a mistake. I'll remove it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment