Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature][Mesh][3D] new 3D mesh layer renderer #33837

Merged
merged 3 commits into from Jan 16, 2020

Conversation

vcloarec
Copy link
Member

@vcloarec vcloarec commented Jan 16, 2020

This PR change the 3D mesh renderer approach
The new approach is based on OpenGL shader. By this way, the GPU handles rendering wireframe and color ramp shading.

canyoning

There are two entries to render the mesh layer in the 3D view :

  • choose the mesh as terrain in the config widget
  • activate the 3D view in the layer properties.

The user can choose those settings

  • enable/disable smooth triangles
  • enable/disable wireframe
  • choose the line width and the line color of the wireframe
  • change the verticale scale
  • choose the style of the rendering : unique color or color ramp shading
  • settings the color ramp shading as for raster layer

For now, the mesh can be rendered as a TIN but rendering dataset is not supported. However the infrastructure is adapted for a future PR.
mesh_3d_settings

  • Commit messages are descriptive and explain the rationale for changes
  • Commits which fix bugs include Fixes #11111 at the bottom of the commit message
  • I have read the QGIS Coding Standards and this PR complies with them
  • New unit tests have been added for core changes
  • I have run the scripts/prepare-commit.sh script before each commit
  • I have evaluated whether it is appropriate for this PR to be backported, backport requests are left as label or comment

@github-actions github-actions bot added this to the 3.12.0 milestone Jan 16, 2020
@NathanW2
Copy link
Member

NathanW2 commented Jan 16, 2020 via email

@vcloarec vcloarec changed the title new 3D mesh renderer [Feature][Mesh][3D] new 3D mesh layer renderer Jan 16, 2020
src/3d/mesh/qgsmeshterraingenerator.cpp Outdated Show resolved Hide resolved
src/3d/symbols/qgsmesh3dsymbol.h Outdated Show resolved Hide resolved
@nyalldawson
Copy link
Collaborator

Looks awesome!

Copy link
Member

@wonder-sk wonder-sk left a comment

Choose a reason for hiding this comment

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

Looking great!

(Note: I have done a couple of review iterations with Vincent earlier this week and in the current state it is good to get merged for 3.12 in my opinion.)

src/3d/mesh/qgsmeshterraingenerator.cpp Show resolved Hide resolved
src/3d/qgs3dmapsettings.h Outdated Show resolved Hide resolved
src/3d/mesh/qgsmesh3dentity_p.cpp Outdated Show resolved Hide resolved
src/3d/mesh/qgsmesh3dentity_p.cpp Outdated Show resolved Hide resolved
@nyalldawson
Copy link
Collaborator

I looked over the code and couldn't see any issues, but I'm familiar neither with the 3d code nor the mesh provider, so it was only a very general review. If @wonder-sk is happy, then merge away!

@Saijin-Naib
Copy link

Incredible!

@wonder-sk wonder-sk merged commit 5cb8997 into qgis:master Jan 16, 2020
@vcloarec vcloarec deleted the 3D_back_simple branch January 17, 2020 11:56
@DelazJ
Copy link
Contributor

DelazJ commented Jan 18, 2020

If there's anything new in the GUI or worth documenting, can someone label this PR appropriately so that we get the PR description in docs repo? The current issue report description is rather... Thanks

@PeterPetrik PeterPetrik added the Needs Documentation When merging a labeled PR, an issue will be created in the Doc repo. label Jan 20, 2020
@qgis-bot
Copy link
Collaborator

@vcloarec
This pull request has been tagged as requiring documentation.

A documentation ticket will be opened at https://github.com/qgis/QGIS-Documentation when this PR is merged.

Please update the description (not the comments) with helpful description and screenshot to help the work from documentors.
Also, any commit having [needs-doc] or [Needs Documentation] in will see its message pushed to the issue, so please be as verbose as you can.

Thank you!

@qgis-bot
Copy link
Collaborator

@vcloarec
A documentation ticket has been opened at qgis/QGIS-Documentation#4806
It is your responsibility to visit this ticket and add as much detail as possible for the documentation team to correctly document this change.
Thank you!

@timlinux timlinux added the Changelog Items that are queued to appear in the visual changelog - remove after harvesting label Feb 17, 2020
@qgis-bot
Copy link
Collaborator

@vcloarec
This pull request has been tagged as requiring documentation.

A documentation ticket will be opened at https://github.com/qgis/QGIS-Documentation when this PR is merged.

Please update the description (not the comments) with helpful description and screenshot to help the work from documentors.
Also, any commit having [needs-doc] or [Needs Documentation] in will see its message pushed to the issue, so please be as verbose as you can.

Thank you!

@qgis-bot
Copy link
Collaborator

@vcloarec
A documentation ticket has been opened at qgis/QGIS-Documentation#4909
It is your responsibility to visit this ticket and add as much detail as possible for the documentation team to correctly document this change.
Thank you!

@timlinux timlinux removed the Changelog Items that are queued to appear in the visual changelog - remove after harvesting label May 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Documentation When merging a labeled PR, an issue will be created in the Doc repo.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants