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

[Documentation]: Add documentation to the Effect classes #8276

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

Maniekko
Copy link
Contributor

@Maniekko Maniekko commented Apr 12, 2024

This PR adds the documentation for the following classes in the Graphics namespace:

  • Effect
  • EffectPass
  • EffectAnnotation
  • EffectParameter
  • EffectTechnique
  • EffectMaterial
  • IEffectMatrices (interface) (added 1 hour later)

Notes

One of the doclines in EffectMaterial refers to EffectMaterialContent class, which is only available on DirectX.

Reference:

Feature Request: Resolve Missing XML For Public Type Warnings

@SimonDarksideJ
Copy link
Contributor

Made a few corrections directly to speed up the review.

@Maniekko I've accepted this, but can we please avoid the "monkey see monkey do" style of notation in the future, for example:

/// <summary>
/// Gets the row count of this effect annotation.
/// </summary>
public int RowCount {get; private set;}

To a lay person, what would this even mean, what is a row and why is the count important? There were a few of these. And the style guide has a specific note against just spelling out the name of a parameter



/// <summary>
/// Creates a clone of the <see cref="Effect"/>.
Copy link
Contributor

Choose a reason for hiding this comment

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

Would it be helpful to know what kind of clone? A shallow one (just the Effect properties) or does it do a deep clone? That might be too much info.

/// <remarks>
/// For most purposes, this type can be ignored, and treated exactly like a regular effect.
/// When an EffectMaterial type is loaded from .xnb format, its parameter values and textures
/// are also loaded and automatically set on the effect, in addition to the HLSL shader code.
Copy link
Contributor

Choose a reason for hiding this comment

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

We might want to remove the reference to HLSL here. by the time the Effect is being used the onderlying shader will be platform specific , e.g GLSL HLSL, metal etc.

Copy link
Contributor

@dellis1972 dellis1972 left a comment

Choose a reason for hiding this comment

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

Some minor questions which can probably be fixed up later if need be.

Great work.

@SimonDarksideJ
Copy link
Contributor

@Maniekko can you look to see if you can address @dellis1972 comments above, looking to get all these merged this week

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

Successfully merging this pull request may close these issues.

None yet

3 participants