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

Add a 3D antialiasing demo #743

Merged
merged 1 commit into from
Jul 11, 2022

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented May 18, 2022

This demo showcases the various 3D antialiasing techniques supported by Godot. Many potentially problematic cases for TAA such as godotengine/godot#69493 are also included, so this will be used as a testing project for the purpose of improving Godot's TAA implementation.

Preview

2022-05-18_23 53 35

TODO (in future PRs)

  • Add animated skinned mesh (skeleton) test case.
  • Add animated skinned mesh (blend shape) test case.
  • Add SoftBody test case.
  • Add complex model test case to check for specular aliasing.

@clayjohn
Copy link
Member

We should keep our eyes open for a cc0 licenced model with a more complex profile. Something thin like a powerline is important to show how well different AA techniques preserve shape.

@Calinou Calinou force-pushed the add-3d-antialiasing-demo branch from ac6d6fb to b521095 Compare May 24, 2022 14:53
@Calinou Calinou marked this pull request as ready for review June 9, 2022 13:50
@Calinou
Copy link
Member Author

Calinou commented Jun 14, 2022

Rebased with TAA support. This should now be ready to be merged.

@clayjohn
Copy link
Member

Before merging we really need to use a better model. Cubes are not sufficient to clearly show the differences between AA methods. Consider using something like this https://polyhaven.com/a/dutch_ship_medium which has a good amount of thin geometry.

@Calinou Calinou force-pushed the add-3d-antialiasing-demo branch from b521095 to 89c2d94 Compare June 14, 2022 16:34
@Calinou
Copy link
Member Author

Calinou commented Jun 14, 2022

Before merging we really need to use a better model. Cubes are not sufficient to clearly show the differences between AA methods. Consider using something like this polyhaven.com/a/dutch_ship_medium which has a good amount of thin geometry.

Done, I added this model in the test scene (with 1K textures to keep file sizes low). Textures are blurry when up close in 2560×1440, but it still demonstrates the effect of antialiasing well.

Copy link
Member

@clayjohn clayjohn left a comment

Choose a reason for hiding this comment

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

Looks great to me! It was lots of fun to step through and it does a nice job of covering a wide range of edge cases.

I will leave it up to someone with more knowledge about the demos to approve with respect to organization/code quality.

@aaronfranke aaronfranke added this to the 4.0 milestone Jul 10, 2022
@aaronfranke aaronfranke force-pushed the add-3d-antialiasing-demo branch from 462a76d to 8598453 Compare July 11, 2022 01:04
@aaronfranke aaronfranke force-pushed the add-3d-antialiasing-demo branch from 8598453 to 9dbd05a Compare July 11, 2022 01:49
Copy link
Member

@aaronfranke aaronfranke left a comment

Choose a reason for hiding this comment

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

Nice! Thank you, this demo is super polished.

I pushed some updates, including some minor changes to the camera script and default camera angle, an updated screenshot, renaming the scene and script, moving textures to a subfolder, and optimizing PNG files using oxipng.

@aaronfranke aaronfranke merged commit 044afe7 into godotengine:4.0-dev Jul 11, 2022
@Calinou Calinou deleted the add-3d-antialiasing-demo branch July 11, 2022 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants