-
Notifications
You must be signed in to change notification settings - Fork 38
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
Pokemon Snap; Object detection & CPU rendering #75
Comments
It's a known depth hack n64 devs use in Pokemon Snap to extract informations from what's on screen: |
Thanks! Interesting read. However I think this is working with at least enough accuracy to support the picture analysis by Dr. Oak at the end of a trial. From what I can gather the default values in the ini file set With everything on default in the v2.5 bundle except resolution (using 1332x999 windowed) and switching to this video plugin there are the following issues:
The second issue is what I'm trying to resolve now. Because it breaks several game mechanics. One of which is that some pokemon respond to having their pictures taken. Which now they do not. |
Reporting what I've found so far. Oak's evaluation requires the following things. To render the pictures correctly,
To evaluate the pictures and detect pokemon in them, For this all, RDRAM access to the aux framebuffers is required by the CPU. Meaning Course camera requires the following things. Displaying the red dot, pokemon information, etc. requires the CPU to draw on RDRAM framebuffers and writing those back to the GPU. I'm guessing this is To get the red dot's detection working during the course, aux framebuffers need to be available in RDRAM for the CPU at the right time per frame. That is, both the colour buffers and the depth buffers. It looks as though the legacy Glide64 design is unlikely to pull this off correctly when reading http://gliden64.blogspot.nl/2013/11/frame-buffer-emulation-part-i.html |
I found the same issues from this thread gonetz/GLideN64#380 apply to this plugin. However I wasn't able to fully grasp what is going on here, so I got stuck debugging this.
Anyone more familiar with these mechanisms who can point in the right direction?
The text was updated successfully, but these errors were encountered: