Comments (7)
from gliden64.
I know. Angrylion's solution need to be implemented.
from gliden64.
Angrylion: I solved the problem, in a very logical way. The thing is, if texel1 is used in the 2nd cycle of the combiner, it is in fact texel0 (what Ziggy called 'texel swapping'), BUT for the next pixel (s + ds, t + dt), not for the current pixel.
Can I get any confirmation that this is how it should work?
- If it is cycle 0
- If combiner uses Texel 0, use tile described by PrimTile.
- If combiner uses Texel 1, use tile described by PrimTile + 1.
- If it is cycle 1
- If combiner uses Texel 0, use tile described by PrimTile +1.
- If combiner uses Texel 1, use tile described by PrimTile, but texture coordinates of the next pixel.
@gonetz How does the texel swapping happen currently?
from gliden64.
I wrote some proof of concept code on how this can be implemented. However, I believe that combiner code could be modified so that this idea fits in more naturally, but I'm not sure how.
from gliden64.
Can I get any confirmation that this is how it should work?
Correct.
How does the texel swapping happen currently?
- If it is cycle 1
- If combiner uses Texel 0, use tile described by PrimTile +1.
- If combiner uses Texel 1, use tile described by PrimTile, without texture coordinates modification
from gliden64.
I wrote some proof of concept code on how this can be implemented. However, I believe that combiner code could be modified so that this idea fits in more naturally, but I'm not sure how.
Interesting approach. It works, but only in native resolution. And the title screen with copyrights text has issues with texture mapping even in native res.
I also took several attempts in the past to implement that bias to texel one, but result was the same: it either works for title screen or for in-game text and only in native res.
from gliden64.
Interesting approach. It works, but only in native resolution. And the title screen with copyrights text has issues with texture mapping even in native res.
You're right, non native resolutions still have artifacts and even native resolution has artifacts in certain places.
I added a hack to the use_screen_coords branch to check the behaviour there and got correct picture in both menus and in-game text (but only in native). So I'm guessing there are actually two issues with this game: a general bias also present in other games (like the one in Ogre Battle) and the texel swapping bias described in this issue.
from gliden64.
Related Issues (20)
- Mario Kart 64 - 0.95 F3DEX - Wrong gsSPCullDisplayList binary
- frame duplication with threaded renderer HOT 2
- Depth compare Android issues
- Frame buffer and depth compare issues Android. HOT 2
- Improvement: Add crt post filter for better native res image quality HOT 2
- Regression HOT 3
- Very weird graphics bug in paper mario that stops if I exit and re enter fullscreen HOT 1
- Gliden64 issues in mupen64 fz android
- OOT/Paper Mario Pause Menu without hack? HOT 4
- Goldeneye ammo display bug HOT 4
- The Invisible Cap effect of the Spuer Mario 64 is not displayed normally HOT 1
- Public Release 5 HOT 2
- Disabling Bilinear Filtering in Newer Builds HOT 13
- GlideN64 NEW ADD HOT 9
- corrupted textures
- Banjo-Kazooie: Some textures from texture pack not loading in Mupen64Plus HOT 6
- [QUESTION] How does the performance hack called "Disable Framebuffer" work? HOT 5
- Super Mario 64: Can't read text HOT 1
- GLideN64 works fine with frontend, but crashes UI console HOT 1
- Non-zero default framebuffer is completely overridden at certain points
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gliden64.