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

Adding Raytracing/RTX support to sm64coopdx by using the RT64 Rendering API #283

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

iZePlayzYT
Copy link
Contributor

This pull request aims to integrate RT64, a ray-tracing rendering API, into the sm64coopdx project. Unlike previous attempts, this integration has been restarted from scratch, based on the latest code from the sm64rt/master branch. (Repository link: https://github.com/DarioSamo/sm64rt)

Current State of Implementation:
The development is now progressing exclusively in the main branch of my sm64coopdx fork. Earlier branches from previous integration attempts are now outdated and no longer in use. An exception is the changes branches (changes_dynos and changes_normal) within my sm64coopdx repository, which remain helpful for comparisons and debugging. (Repository link: https://github.com/iZePlayzYT/sm64coopdx)

Current Problems and Issues:

  • Assertion Errors: During development, the game crashes due to two specific assertions in the gfx_rt64_rapi_process_mesh function. These assertions relate to calculations concerning the vertex structure and the number of vertices. To diagnose these errors, I added additional debug output in both my repository and the original repository (tester_rt64alpha in Render96ex, where RT64 was successfully implemented). This allowed for a comparison of variable values before the assertions. A screenshot marking the two problematic assertions is attached.

    Additionally, I created a video that presents a direct comparison of the debug outputs between the main branch of my repo and the tester_rt64alpha branch. This video highlights the differences and similarities in variable values before the assertions, which could help identify the causes of the crashes. This comparison provides valuable insights into the different behaviors of the two versions and aids in troubleshooting. More details and a thorough analysis of the errors can be found in the video: https://youtu.be/70Vvn9bWi_s.

  • Rendering Issues: If the aforementioned assertions are commented out, another issue arises: While the game does not crash, the graphics are not rendered correctly. Instead, the game starts with severely flawed graphics, where most visual elements are not displayed properly. However, the ImGui F1 menu remains functional. A screenshot documenting this faulty graphic output is attached.

Old Compilation Video:
At an earlier stage of the development process, I uploaded a video showing the compilation and startup process of my initial integration attempts. Although this video is now outdated, it still provides valuable insights into the issues encountered during the early phases. The video can be viewed here: https://youtu.be/VempTQbSfQ0.

Thank you in advance for your support in resolving these issues and fully integrating RT64 into sm64coopdx. Your collaboration is greatly appreciated.

image

image

@Isaac0-dev
Copy link
Collaborator

I think this pr should be labeled as a draft until its finished. Feel free to undo this later when you finish.

@Isaac0-dev Isaac0-dev marked this pull request as draft September 10, 2024 13:41
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