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

Implement glAccum() #73

Merged
merged 3 commits into from
Oct 6, 2024
Merged

Implement glAccum() #73

merged 3 commits into from
Oct 6, 2024

Conversation

mardy
Copy link
Collaborator

@mardy mardy commented Oct 1, 2024

Generate the accumulation buffer by capturing the EFB contents, then use the appropriate blending modes to render the accumulation buffer on the scene.

Tested with the accanti.c and accum.c sample programs found online:

We don't really know if double buffering is used, since it's a decision
that the integration library takes.

We limit the implementation to a check whether the correct value is
being set; we don't really allow changing the read or the write buffer,
since reading or writing from the XFB would be troublesome (it's in YUV
format).
This can help avoid unnecessary switches (which are quite expensive). Do
not assume that after drawing to the stencil we what to draw to the
scene again, let's wait until a drawing command is effectively issued.
Generate the accumulation buffer by capturing the EFB contents, then use
the appropriate blending modes to render the accumulation buffer on the
scene.

Tested with the accanti.c and accum.c sample programs found online:
- https://openglut.sourceforge.net/accanti_8c.html
- https://fossies.org/linux/mesa-demos/src/samples/accum.c
@WinterMute WinterMute merged commit 3f25f61 into devkitPro:master Oct 6, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants