3D Migoto FPS drop

Post Reply
mistersvin21
One Eyed Hopeful
Posts: 18
Joined: Mon Sep 16, 2019 3:06 am

3D Migoto FPS drop

Post by mistersvin21 »

mb everyone knows, except for me, why 3dmigoto eats so much performace ? from game to game it could be smth like 30-50% fps drop, i'd just like to know why, a small lecture would be nice, ty

User avatar
Necropants
Binocular Vision CONFIRMED!
Posts: 271
Joined: Tue Sep 17, 2019 11:05 pm
Which stereoscopic 3D solution do you primarily use?: S-3D desktop monitor

Re: 3D Migoto FPS drop

Post by Necropants »

Do you mean in addition to just running in stereo? I think it's because it needs to do the shader corrections in real-time. So it depends on the game and such.
Someone else can probably give the lecture. =)

User avatar
DJ-RK
Binocular Vision CONFIRMED!
Posts: 272
Joined: Thu Sep 19, 2019 8:13 pm

Re: 3D Migoto FPS drop

Post by DJ-RK »

My objective answer:

In my understanding 3DMigoto itself, in it's base state, doesn't add a lot to the overhead. If anything it's just a little CPU overhead, which usually doesn't impact much (although, in some cases where we are CPU bottlenecked, then that will result in a significant loss of performance).

Now, when we are editing shaders to fix them, we are almost always adding additional instructions and resources to those shaders, and each instruction adds to the amount of processing it will take to complete each frame (the GPU's overhead), therefore lowering FPS.
  • Sometimes we're just adding a simple stereo correction, which is only 2 or 3 instructions (which is nothing), but other times we will need to take a coordinate (that is not in the correct "space", or what can otherwise be thought of as a format type) and need to convert it to the correct space (around 6-10 instructions, which usually happens on a 4 point coordinate, so I'm not certain of it but that may mean thats 6-10 x 4 instructions), do a stereo correction (again, 3-5 instructions usually), and then convert back to the original space the coordinate was in (same amount of instructions as the first conversion).
  • Sometimes in order to change a coordinate to the correct space, we actually need to do 2 separate conversions each way.
  • Sometimes we might not even have all the matrices needed to convert both ways, and we might only have what we need to go one way, but not back (or vice versa). In these cases, we can usually do a matrix inversion calculation to get the opposite direction, and according to an explanation DSS gave to me once, depending on which method we use that itself can add anywhere from 20+ to 100+ instructions.
  • Sometimes, a single shader may actually require all this not just once, but multiple times within a shader.
  • Games used to only have about 40-60 VS/PS shader pairings active in any single frame. Nowadays we have engines (like the horrid Frostbyte 3) that have around 250-500 shader pairings (and then about another 100 compute shaders on top, and some GS/HS shaders as well) all running in a single frame.
  • Also, using regex can add a lot as well. Not so much from fixing proper shaders, but now with regex it will apply a fix to any shader that matches the specific criteria that we shaderhackers designate. If we're specific enough with our designations, then that generally means we're only fixing the shaders we need to, but in some cases (or if we're not specific enough with our regexes) it could now start adding a bunch of fixes to shaders that don't need them (pissing away performance unnecessarily).
  • Then there's the fancier stuff, like the autodepth crosshair/HUD elements and autoconvergence which add in our own custom shaders to each and every frame. Some of these add to the CPU instead of GPU, which can spell disaster if CPU bottlenecked
If you start doing the math you can see how some cases will add an exponential amount of overhead. Anyways, that starts to give you an idea of what we're dealing with.


Now for my subjective answer:

Dafuq does it matter? If you want to play in 3D, then that's the price you gotta pay, so bloody well deal with it! Most, if not all of us shader hackers (and the 3DMigoto dev team) care about performance as much as you do, and would never intentionally make a fix tank performance. As such, it WILL piss me off to a great extent if someone comes into one of my threads and piss and moan about performance. Even if said politely, like "Nice fix, but poor performance so I'll pass/play in 2D/CM" my immediate thought to those are still going to be, "IDGAF. You're a whiny little b!tch so GTFO" and you've earned a place on my sh!t list where I probably won't care to support you in the future if you have a valid concern. I get that they are just trying to give feedback and not complain, but still, it honestly pisses me off.

Same thing goes when it comes to complaining about some of my "artistic liberties" when it comes to things like convergence presets and using autodepth on HUD elements, etc. As far as I'm concerned, if you don't like it, then it's YOUR responsibility to learn to understand how to edit the configuration files and change to settings you like. Don't come crying to me about it and asking for me to advise you on how to do it (or ask in the thread/discord and get someone else to help... or if you see someone asking/complaining in my threads, do me a favor and answer it or set them straight for me, plz & ty). I've already spent enough time making MY fix and sharing it (don't underestimate the time and effort that part takes), it's not up to me to spend more time to tailor it to your liking. Some of this sh!t takes dozens of hours to figure out and correctly implement (nevermind the thoughtfullness and consideration that went into doing so), so for someone to then come and say "I don't like how some of the auto-depth HUD stuff sometimes stretches/warps them in some cases, so how do I turn it off?" can sometimes feel like a slap to the face... it's fine if you don't like it, but don't f'n bother me about it and try to figure out how to disable that sh!t yourself (or at least make an effort and THEN come ask, and I'll be more receptive). I've learned over time to make most of those things as toggleable options now (lesson learned from the headaches some of you all have given me), and I've actually come up with a new system where I'm keeping all of my own recommended settings/presets in a separate included configuration file, so a person can more easily disable them (but then they will lose ALL of my settings... but that's their issue/responsibility to deal with, not mine) and still keep the fix fully intact. This will be in all my future fixes and updates.

I'll openly admit that, yes, I know I'm a bit of a d!ck for my attitude and thinking this way, but I work 44-60 hours a week in construction (heavy manual labor) and my spare time and energy is F'N PRICELESS, and yet some of you STILL are ungrateful and waste my time! Anyone who wants to play in 3D needs to accept that there's a learning curve and take responsibility to enable themselves as much as possible, and yes, that also means learning to make simple changes to settings in 3DMigoto. The fact that we're currently down to 3 major contributors for fixes (and thankfully a few new people doing what they are able) should be a clear indication that the time for hand-holding, spoon-feeding, and training wheels are officially long gone and we either need new fixers to step up, or to at least bring up the level of basic knowledge in the community. Fixes take a LOT of time, and time spent on answering needless questions/requests adds to that and takes away from our time spent elsewhere and more constructively. Just as an example: it's taken me over an hour to write this entire response. Has having me explain WHY there is a performance cost to 3D fixes changed anything for anyone (other than hopefully giving some of you an even deeper appreciation for what we do)? Those games that cost 30-50% more performance are still going to cost that, so what does knowing why change about that? I could have been working on one of my fixes instead. Not throwing shade at mistersvin21 for asking about this or saying that this time was a bother to me (I voluntarily answered here) or that the following statement applies here, but if people continuously waste my time with sh!tty questions or requests (that they could easily do for themselves) then I promise you we'll be one less contributor short in the community.

Now, the caveat of all this is that the information at the average person's disposal has always been rather limited and not easy to decipher, especially now with the old GF forums being busted AF now. Unfortunately, that does make putting this onus on the end user that much harder, but sadly, tough sh!t. Some of you have had nearly a decade to get on board with learning this stuff, and you've sat around doing nothing but taking and consuming, so now you might be S.O.L but it's time to get off your arses and do some of your own leg work for a change!

With that said, there's no question that we could certainly use some updated documentation, and a new set of beginner lessons for people to start learning some of the basics, particularly pertaining to 3DMigoto. I've been thinking a long time about doing this myself, since I honestly think I'm probably the best-equipped person to do it (well, other than DSS, but his time is even more valuable than mine) because I not only have a strong understanding of these concepts (which I've learned myself over the years, starting from nearly scratch like most of us) AND I've got previous work experience with training people and writing technical documentation (and I'm a native english speaker, so my explanations are easier to understand than those that aren't). I've got a lot of great ideas on both practical and theoretical topics but...

Problem is a) again, a lack of time and energy to do this, b) a lack of a clear motivation to do so. Let's get real here: I do not make fixes for the community, I make fixes for myself and share them. I have a personal stake in my work, and a payoff to do so; sharing with you guys is just icing on the cake. I'll never do a fix for a game I have little or no interest in, and in some cases, I refuse to do further work on some games that I did previously fix because I have no desire to play them again, because again, my time is priceless and worth way more to me than some internet points and possibly a donation or few. As such, if I apply that same mentality towards this endeavor of creating some learning materials, it's hard for me to get past the "It would be a great help to the community" stage, and to the preparation and building stages. If this is something that the community wants, then a) speak up, b) be prepared to get committed and engaged (because if I feel like I'm wasting my time and no one is actually participating then I'll drop it like it's hot), then c) I think I will have to set up a Patreon and see a certain amount of engagement from the community for me to get started. In the meantime, what I think I can handle, and will possibly do in the next day or so (I want to give this a day or two to get some feedback in here) is create a separate AMA about fixing topic thread, and provided I can keep up with that then I think that's a good place to start, and I can possibly start to compile a syllabus from that.

We'll see how that goes, but getting some feedback and support from the community here will be a good place to start.
Last edited by DJ-RK on Sun Feb 16, 2020 5:10 pm, edited 1 time in total.

User avatar
RAGEdemon
Sharp Eyed Eagle!
Posts: 472
Joined: Thu Mar 01, 2007 1:34 pm
Which stereoscopic 3D solution do you primarily use?: S-3D Projector Setup

Re: 3D Migoto FPS drop

Post by RAGEdemon »

Thank you for the insightful post DJ-RK, it was eye opening. You are right, of course - Most of us consume without attempting to give anything back, which has to change if we as a community are to have any kind of future.

This topic heading is perhaps not the best place for this vital discussion: New Shaderhacking documentation would be the life-blood the community needs - perhaps a topic on its own might be more suitable started by yourself?

You are right - everyone has to contribute in all things, including the documentation in my humble opinion...

...Instead of a one man show, how would you feel about hosting some kind of community editable Wiki? We all contribute to it and keep it updated with various examples and crosslinks to different sections? We could have comments at the bottom of each page for people to openly discuss issues, e.g. cascading comments on a reddit post? If possible, we could use wikipedia itself with multiple pages under the shaderhacking umbrella - just a possible suggestion.

Aside from outdated and scattered documentation, one of our biggest strengths is also another of our biggest weaknesses: When a popular game is released, a thread is started / Sages immediately start work on fixes - Newbies never really have the opportunity or the need to start shaderhacking because by the time it comes for most people to pick the game up on a sale etc, a Sage made 'professional' fix is already available. And if not, well then the perception is that "there is an almost unending list of games already fixed to play on Helixmod".

In my humble opinion, you Sages including DSS, bo3b, Losti, Helifax et al, might wish to put game-specific shader hacking on the back burner, and instead concentrate efforts on documentation/framework so that the community can pick up the game specific stuff - it is time for us all to stop being selfish and step up with what we can - if there are no new fixes, then 'Necessity would be the mother of inventions' by the community. Of course, that might also backfire and prematurely kill the community altogether - I cannot tell the future.

Summing up, in my humble opinion, there needs to be 2 critical pieces to an environment which engages the wider community into shaderhacking.

1. Clear, concise documentation with lots of examples.

2. A Vacuum of new fixes shared by Sages, which gives rise to the opportunity for forcing others to learn.

I appreciate that both these things are impractical from the current reality of where we presently stand, and I have no solution for that - only suggestions on how we might begin...
Last edited by RAGEdemon on Sun Feb 16, 2020 7:43 pm, edited 1 time in total.
Edit: Clarity | Windows 10 64-Bit | 7700K @ 5.1GHz | 2080 Ti OC | 32GB 3956MHz CL16 RAM | Optane PCIe SSD | Sound Blaster ZxR | 2x 2000W ButtKicker LFE | nVidia 3D Vision | 3D Projector @ DSR 1600p | Oculus Rift CV1

User avatar
DJ-RK
Binocular Vision CONFIRMED!
Posts: 272
Joined: Thu Sep 19, 2019 8:13 pm

Re: 3D Migoto FPS drop

Post by DJ-RK »

RAGEdemon wrote:This topic heading is perhaps not the best place for this vital discussion: New Shaderhacking documentation would be the life-blood the community needs - perhaps a topic on its own might be more suitable started by yourself?
Agreed. As I stated, I'll create another topic in the next day or so for this and ongoing discussion. I've already spent enough time on this today. ;)
You are right - everyone has to contribute in all things, including the documentation in my humble opinion...

...Instead of a one man show, how would you feel about hosting some kind of community editable Wiki? We all contribute to it and keep it updated with various examples and crosslinks to different sections? If possible, we could use wikipedia itself with multiple pages under the shaderhacking umbrella - just a possible suggestion.
That is a welcome and excellent suggestion. I hadn't put a lot of thought into the format and hosting of the information yet, so hadn't thought of the wiki route, but would certainly be great to allow for others knowledgable to contribute, especially with providing specific examples on effects they've fixed, etc.
Aside from outdated and scattered documentation, one of our biggest strengths is also another of our biggest weaknesses: When a popular game is released, a thread is started / Sages immediately start work on fixes - Newbies never really have the opportunity or the need to start shaderhacking because by the time it comes for most people to pick the game up on a sale etc, a Sage made 'professional' fix is already available. And if not, well then the perception is that "there is an almost unending list of games already fixed to play on Helixmod".
I both agree and disagree.

I agree because I, too, can speak from experience over the years of having interest in fixing lots of games, but because I wasn't willing to pay the launch price (or resort to piracy) it would already get picked up by someone else right away and the opportunity lost. An extension of that (and more of my own personal angst towards it) I feel that certain individuals were able to gain a fair bit of notoriety around here as being everyone's "shaderhacking gods" more because of their eagerness to work on the latest and greatest games (and put out rather average, or in some cases, inferior fixes), meanwhile I was also an active contributor (and providing just as good, if not more complete and competent fixes on major releases), and yet no one ever seemed to acknowledge that I existed when giving shoutouts of their favourite contributors (and some people would even include the likes of Flugan, or attribute some of my work to DHR instead). Yes, it's a petty grudge to hold, and a large contributor to my attitude around here, but I still hold it because:

Image

On the other hand, I somewhat disagree because I don't think it's a good idea for someone new to be taking on the likes of the latest and greatest games. The fixing landscape has changed a lot over the years... and despite the tools we use getting much better, it's gotten a LOT harder, especially would be for someone trying to learn. Nowadays there are more shaders, more types of effects that need to be fixed, more complex shaders with thousands of lines of code, and worst of all almost all new games do not have any shader headers which provide actual descriptive names for resources used throughout the shaders, like ViewProjectionMatrix, fScreenSize, tDepthMap, or tShadowMap, which are infinitely easier to understand than cb0[4], cb1[28], or t0 and t3 (respectively). If someone wants to learn to fix nowadays, and has already gotten a basic understanding of things, then I think they should take an older DX11 game that has already been fixed, and then refix it, using the original fix as a reference.

mistersvin21
One Eyed Hopeful
Posts: 18
Joined: Mon Sep 16, 2019 3:06 am

Re: 3D Migoto FPS drop

Post by mistersvin21 »

Thanks, DJ-RK for your answers :-) that was not a small lecture, appreciate it
concerning your subjective answer... well, this is not new. BTW I was one of those people who was telling all of you years ago to monetize your fixes, since this is the only way, answers were like "we are doing it for free... just be patient" etc. So dont blame me, I'm always rdy to PAY for your hard work, but I, like others, just "consume" fixes because they are still FREE on helixmod, correct me if I'm wrong
p.s. I just wanted to know what happens when you impelment 3d migoto. My english is quite poor, so i'm sorry, if i somehow confused you

User avatar
DJ-RK
Binocular Vision CONFIRMED!
Posts: 272
Joined: Thu Sep 19, 2019 8:13 pm

Re: 3D Migoto FPS drop

Post by DJ-RK »

I'm sorry if my "subjective response" felt like it was specifically directed towards you and your question. It wasn't. It was meant to be more of a general response to the community regarding the unrealistic expectations and overall complacency that is the norm, and the over-reliance most people have on us content providers and how it takes it's toll. Basically, some people around here expect us to cater to them. I'd give specific (and recent) examples, but I don't think we need more negativity and I think I've beaten my point across quite enough already.

I'm also not really as pissed off as I probably sound like I am, that's just how I talk! I color or emphasize my words a certain way, and I imagine it probably comes across as me being angry and ranting. I guess technically it is (without the anger), but that's just how I drive a point home sometimes. Makes things more interesting, at least :mrgreen:

mistersvin21
One Eyed Hopeful
Posts: 18
Joined: Mon Sep 16, 2019 3:06 am

Re: 3D Migoto FPS drop

Post by mistersvin21 »

:D I didnt even think you could be angry! Everything is fine ;)

User avatar
masterotaku
Cross Eyed!
Posts: 119
Joined: Sun Sep 22, 2019 4:43 am
Which stereoscopic 3D solution do you primarily use?: S-3D desktop monitor

Re: 3D Migoto FPS drop

Post by masterotaku »

About the topic question: 3Dmigoto by itself adds a bit of CPU usage, but not much.

In fact, two and a half years ago I spoke with DSS about CPU usage and that motivated him to optimize it (and I tested builds with Grim Dawn and reported performance). In theory it can't be much better than it is right now.

The rest of what can affect performance was answered by DJ-RK. For example, the fix I made for the native 3D in Rise of the Tomb Raider reduces fps (CPU bottleneck) because the game has lots and lots of shaders that are modified by some regexes. I have almost never seen a game with so many shaders going on at the same time. Maybe Batman Arkham Knight.

RAGEdemon wrote: In my humble opinion, you Sages including DSS, bo3b, Losti, Helifax et al, might wish to put game-specific shader hacking on the back burner, and instead concentrate efforts on documentation/framework so that the community can pick up the game specific stuff - it is time for us all to stop being selfish and step up with what we can - if there are no new fixes, then 'Necessity would be the mother of inventions' by the community. Of course, that might also backfire and prematurely kill the community altogether - I cannot tell the future.
On one hand, no one wanting to fix Dark Souls II SOTFS is what motivated me to start fixing games, with that one being the first PC game I fixed. But with the current state of 3D Vision it's a bad idea in my opinion. We are like 5-7 active fixers at most currently, and that's counting some people that don't release fixes frequently. This isn't like 5 years ago, sadly.

Also, my logic is that I fix what I want to play at that moment if there isn't any existing fix (or if the fix is incomplete), and I don't want to keep a fix all for myself while I wait for someone to give fixing a try (if that person even exists). I'm sure more people act this way, fixing what is interesting to play or see.


I could say more stuff about DJ-RK's comment (agreements and additions, so it would sound redundant. Surely with a softer tone, lol), but I need to sleep :p.

User avatar
Necropants
Binocular Vision CONFIRMED!
Posts: 271
Joined: Tue Sep 17, 2019 11:05 pm
Which stereoscopic 3D solution do you primarily use?: S-3D desktop monitor

Re: 3D Migoto FPS drop

Post by Necropants »

Good discussion.

There is also the issue of a lot of the old fixes just not working anymore, or upon the blog in such a poor state that is not really playable, to the point, it seems they were never really tested. Sometimes this is a case of developers pushing out patches that break things, in other cases it seems like a rush was made to release a fix that's only 80 percent playable, not really played or tested, then dropped for the latest and greatest shiny new thing. I think this hurts the community as a whole. There to this day still exists a fix on the blog for total warhammer 2 that's never worked. So it can be easy to overlook a game you think is fixed but really isn't at this point. For the sake of keeping this conversation on track I won't give any other examples =)

I've tried over the years to try and pull my end of the deal and learn more but progress has been slow, and I guess I am just not that mathematically smart as many of the other successful shaderhackers and information is indeed scattered, it makes the learning process for someone like me extremely arduous and frustrating.

I think a wiki would be a fantastic idea, probably long overdue, definitely seems like this skill could be a black art that's easily lost as time goes on, so it would be a good idea to try and plan for the future somewhat.

User avatar
Losti
Diamond Eyed Freakazoid!
Posts: 741
Joined: Tue Sep 17, 2019 5:30 am

Re: 3D Migoto FPS drop

Post by Losti »

I can not read or endure all of this, on the one hand it is complained about NOT perfect fixes, on the other hand ice cream is said to take it as it is it is voluntary and grateful for what you get, even if it is not perfect. I don't want to go into the discussion any further, if you think that it is better not to publish something so quickly that is not perfect in the end, then be it. If you think that this will encourage the community to fix yourself, please. On the one hand you are accused of only working for your ego, on the other hand the same thing is written that you only do this for yourself. You can discuss a little further here and complain about unfinished and imperfect work and incomplete fixes for games that were bought and then disappointed because it is not 100% 3D ready, be it because of progress or patches.

Perhaps some should really learn that you cannot have expectations here if you have not paid for anything and that you only pay when it is cool. But even that rarely happens.

@ Skyrimer: If you ever need a game that you want to have fixed, sign up, you have something good with me. CONTACT ME VIA PM!!!!!!!!!!!

I will continue to give (NOT UNIVERSAL FIXED GAMES) support and fix things, but only when I play them myself.

If you help and the problem has been fixed, you rarely get feedback, either it works and the user doesn't respond or it doesn't and he doesn't care.

The basic idea that the community has to get more involved and that has arrived with me. Waiting for perfect fixes until a shader hacker plays it. See that you solve problems yourself without getting everything served on the silver platter.

I should now do what I chose since the beginning of the year, STOP CONTRIBUTING FIXES for games i do not actually play !!! But shader hacking is a bit of an addiction for me. The fact that this is then trampled on and expectations are displayed that contradict every reality, move me to let the whole thing rest.

Spring is coming, I want to transform my garden into a paradise, we buy a caravan and want to travel more often on weekends, my employer is currently demanding overtime from me .... The fact that I have to read this here is horrifying. I tried to keep the whole thing alive, with 3 active shader hackers there should be a little more than complaints, even if the whole thing is not perfect.

Anyway, I've learned my lesson.

I would like to thank the donations I received for the UE4-UV2. One third of everything was sent to DJ_RK and MASTEROTAKU. DSS continues to be supported by me until the end of 3D per month via pateron.

I decided to stop my work if, as I see, this is partly trampled on. Of course, everyone who appreciates them now has a disadvantage, but I can't take everyone into account.

I didn't do all this because of the donations, then I would have quit a long time ago. It was just fun, and the recognition is enough for it, if something else pops up for the household budget, it is all the better. But if this even disappears, there is no longer any reason for me to continue.

Now that not so many fixes are released, everyone will learn how to modify shaders, and soon we will be able to play every game that is released in 3D! And everyone will be perfect, because the whole thing is a piece of cake and my work was only half-worth because of my stupidity!

Create a WIKI, good luck that the common user will read more than 3 lines of it .... Why am I writing this? Because some are not even able to read and follow clear instructions listed point by point!

What more can I say? Nothing....

User avatar
ToThePoint
Two Eyed Hopeful
Posts: 52
Joined: Wed May 01, 2019 11:46 pm

Re: 3D Migoto FPS drop

Post by ToThePoint »

mistersvin21 wrote:Thanks, DJ-RK for your answers :-) that was not a small lecture, appreciate it
concerning your subjective answer... well, this is not new. BTW I was one of those people who was telling all of you years ago to monetize your fixes, since this is the only way, answers were like "we are doing it for free... just be patient" etc. So dont blame me, I'm always rdy to PAY for your hard work, but I, like others, just "consume" fixes because they are still FREE on helixmod, correct me if I'm wrong
p.s. I just wanted to know what happens when you impelment 3d migoto. My english is quite poor, so i'm sorry, if i somehow confused you
I don't wish to comment any further on this thread at this stage, until you can please clarify for me precisely what you meant by, "I'm always ready to pay". You may well pay for fixes, but it isn't quite clear from this statement. A valued member of the shaderhacker team is now on the point of leaving, so I think that it's rather important to be absolutely clear about what is understood, and what is said from here onward.

I always pay for fixes, knowing full well that 90% of consumers of these Helixmod fixes, don't actually bother to pay for them. If I don't pay for a specific fix, having used it successfully, I do endeavor to trawl back through my games over time and make a donation in retrospect.
Intel Core i7 6850k @ 3.6 Ghz (Liquid Cooled: Corsair Hydro H115i), 2x GTX 1080 Ti, HB SLI @ x16x16 (Air Cooled), GTX 1060 Dedicated PhysX, 32Gb RAM Kingston Predator
Asus X-99 Deluxe II Motherboard, Corsair Obsidian 1000D Super Tower, Win7 Pro (442.19), Win8.1 (441.66), Ubuntu, Rog Swift PG27VQ 3D (1440p), HTC Vive

User avatar
DJ-RK
Binocular Vision CONFIRMED!
Posts: 272
Joined: Thu Sep 19, 2019 8:13 pm

Re: 3D Migoto FPS drop

Post by DJ-RK »

@Losti: I'm not certain if you thought any part of any of my earlier posts in this thread were referring to you (like when I was mentioning about certain other shaderhackers gaining notoriety), but I just want to assure you that in this case I actually wasn't at all referring to you in any of it. Don't worry, I've let go of any resentment or disdain towards you since we last settled things and I'm not harboring any such thoughts or feelings still in secret, nor do I hope you still carry wounded feelings over some of my past criticisms because, as I had admitted, a lot of them were overblown by my former malice. I very much appreciate the work you're doing now, and I appreciate the decency and generosity of you sharing the donations received towards the UE4 fix with the community members that have helped shaped it to what it is.

I am, however, afraid that you are working yourself too hard with how much effort and time you put in. It's great that you are constantly improving the UE4 fix more and more, but it feels like you're spending a lot of time still on the individual games and posting them all up on the blog (like I said, don't underestimate the amount of time and effort even that requires). Again, that's great for the community, but to me it seems like a lot of work and almost defeats the purpose of all the time you've spent on improving the UE4 fix and assembling it. I'd say you should be able to sit back and enjoy the benefit of having a better working universal fix by letting the community take it from here and start working on the individual games rather than have to do the meanial work yourself.

But then that ties into the whole addiction thing, which itself is concerning to hear you speak of. I say this because I AM a (mostly) recovered drug addict, so I know very well the effect addiction has on a person. Addiction can and does take many forms, and yes, I know, both video games and fixing them can be one (or two) of them. I won't sugar coat it: addiction kills. Period. I know a lot of people that have died from overdoses, and also those that have taken their own lives because they could not cope with the pain and suffering that comes along with addiction. If you truly believe that you have a problem with addiction, then you REALLY need to start to take a good look at things and start worrying about your mental/phyiscal/spiritual health more than anything else.

Edit: I actually read this thread and wrote my response before reading any others. I now see you've started announcing you're cancelling support on your work in other threads. It sounds like you're really upset over something or just plain burnt out, as I'm sure many of us have speculated would happen. I think the best thing is, again, just take a step back and start focusing on yourself for a bit. If that means you don't end up working on fixes or updating the UE4 fix for a while then that's fine, but if you feel the need to declare you're cancelling support then I think that takes on a completely different tone and I think you might feel it's a bit unnecessary after you've gotten to relax after a little while. So anyways, rest up man and come back if/when you feel a bit better and hopefully have things (related to the matter of addiction) a more under control.

User avatar
DJ-RK
Binocular Vision CONFIRMED!
Posts: 272
Joined: Thu Sep 19, 2019 8:13 pm

Re: 3D Migoto FPS drop

Post by DJ-RK »

Necropants wrote:There is also the issue of a lot of the old fixes just not working anymore, or upon the blog in such a poor state that is not really playable, to the point, it seems they were never really tested.
DJ-RK wrote:If someone wants to learn to fix nowadays, and has already gotten a basic understanding of things, then I think they should take an older DX11 game that has already been fixed, and then refix it, using the original fix as a reference.
Seems like a great pairing and plenty of opportunities for aspiring people to be able to learn to fix games. Usually when an update breaks a game, the shaders themselves are mostly the same (but with different hashes, which can thought of as filenames or ID's), so it's usually just a matter of finding the correct corresponding new shader for an old fixed shader, and then copy the fix over. A bit easier said than done for someone getting started, but far easier than starting out on a brand new game all together. What might help facilitate this would be a forum thread where people could report fixes that don't work anymore (and also report when they've been refixed), and the OP could keep the first post up to date.

User avatar
ToThePoint
Two Eyed Hopeful
Posts: 52
Joined: Wed May 01, 2019 11:46 pm

Re: 3D Migoto FPS drop

Post by ToThePoint »

@DJ-RK

Neither yourself nor Losti, or anyone else for that matter, should have to bare their souls on this forum for the lack of sufficiently good communication beforehand. Either that, or just touching base publicly or privately far more effectively to mitigate any potential misunderstandings, which appears to have been the case in this instance, can go a long way to avoid any mishaps. I guess that's what's called being wise after the event. Besides, each of you guys are selfless enough as it is with what you provide, without having to put yourselves through any additional grief as well.

Personally speaking, if as many potential fix consumers could commit to giving regular monthly payments of a decent enough amount to the remaining active shaderhackers on an individual basis, that in essence, reciprocates the commitment given by shaderhackers to potentially receive no income at all for providing their fixes. I think the long overdue concept of personal honour should be introduced here. Not everyone is in a position to make such a commitment I suppose, but it should at least be acknowledged that those that do actually pay in this fashion, are effectively compensating for those who pay either little or nothing for fixes and are at least doing their part to sustain the market for 3D Vision fixes for longer than might have been otherwise expected.

I really do hasten to say here that, there are of course a number of non-shaderhackers who have made invaluable technical contributions in keeping 3D Vision alive against all the odds. Contributions which have nothing to do with finance at all. There's no obligation for anyone to provide finance at a higher level or in a more regular fashion, it's just that I think that that is what's required here.

I'm not entirely convinced as to how much return there would be in collating shaderhacking material in one place for the purpose of learning and reference. If brand new 3D Vision kits were still being sold, that at least would potentially bring in new people who might have a sufficient level of aptitude and a genuine curiosity to learn more about the science of shaderhacking. I'm not saying that this isn't worth a try. I guess anything's worth a try, but as you pointed out, shaderhacking appears to only be getting even more complex. That said, all power to those that are willing to at least give it a go.
Intel Core i7 6850k @ 3.6 Ghz (Liquid Cooled: Corsair Hydro H115i), 2x GTX 1080 Ti, HB SLI @ x16x16 (Air Cooled), GTX 1060 Dedicated PhysX, 32Gb RAM Kingston Predator
Asus X-99 Deluxe II Motherboard, Corsair Obsidian 1000D Super Tower, Win7 Pro (442.19), Win8.1 (441.66), Ubuntu, Rog Swift PG27VQ 3D (1440p), HTC Vive

User avatar
skyrimer
Binocular Vision CONFIRMED!
Posts: 328
Joined: Sun Sep 22, 2013 11:43 am

Re: 3D Migoto FPS drop

Post by skyrimer »

I'm always amazed how we're so few yet we always manage to shoot ourselves on the foot over and over again, and the amount of shaderhacker virtual corpses we leave behind is staggering.

In any case, Losti we can't thank you enough for the incredible amount of work you put into fixing, helping and interacting with the community, and of course the fantastic UE4 UV2, your legacy for all 3d vision fans is amazing, enjoy life, gaming and gardening, you really earned it.

Really, if there's an issue with uploading a fix of a game that's not been finished to the rolling credits, we could add a "WIP" tag or something on Helixmod and that's it, I think 99% people here prefer an incomplete fix than none at all.
ASUS PG278QR Monitor
Windows 10 1809
AMD Ryzen 5 3600 @3.60ghz
Kingston HyperX Predator DDR4 3200 PC4-25600 16GB 2x8GB CL16
MSI B450 Gaming Plus MAX
Corsair RM650 650W 80 Plus Gold
SSD M.2 2280 500GB
NVIDIA 1080 Ti MSI AERO
VR: Pimax 8k & Index controllers

Visit http://www.gamermovil.com for a ton of mobile news and more!

User avatar
Losti
Diamond Eyed Freakazoid!
Posts: 741
Joined: Tue Sep 17, 2019 5:30 am

Re: 3D Migoto FPS drop

Post by Losti »

Just because some private messages i got id like to clarify some things and let you know the following, not to spreading or let raise misunderstandings:

So THIS is what i do now:

1. not instant help if some one is crying, give the user the chance to help hinselfe or to learn to live with errors/imperfectness.

2. let the user search his faults, if there are faults because of not reading things in detail or skip things or rush through explainations and miss details that results in a fault that isnt caused by a fix or game, moreover caused by the user itselfe.

3. I will only fix or improve fixes for games i ACTUALLY play, not that i might want to play or never play, like the rest of us shader hackers. I have SO MANY GAMES in stock to play ... There has to be a release like WITCHER 4 or CYBERPUNK or MASS-EFFECT-5 that leads me to fix a NEW game because those titles id like to play INSTANTLY after release :-)

4. I will fix a not correct RegEx in the UE4-UV2 (V1.152) that was present from the begining and result in wrong water reflection because no RegEx is aplied in some games i have found (2 of 30) ... BUT than i will stop searching faults or make improvements until there are more and more games that are not working anymore with the UE4-UV2 because of game engine updates, OR i play a game with UE4-UV2 and detect Errors while gaming that can be universual beeing fixed or are present because of some wring things in the hundrets of RegEx lines.

5. I will not test UE4 games to work with UE4-UV2 or not anymore, except as told above i ACTUALLY play it.

6. Same like point 5 but for UNITY games using DSS scripts or DHRs Universal Fix.

7. I will lower my time i spend here in general and I will not write comments here into this dicussion.

User avatar
RAGEdemon
Sharp Eyed Eagle!
Posts: 472
Joined: Thu Mar 01, 2007 1:34 pm
Which stereoscopic 3D solution do you primarily use?: S-3D Projector Setup

Re: 3D Migoto FPS drop

Post by RAGEdemon »

Thank you so much for everything Losti - It doesn't need to be said that the vast majority of us deeply appreciate what you have done for the community.

You do what you feel is best for you mate. What you state above looks much more fulfilling (and sustainable in the long term as DJ-RK mentions).

I personally look forward to reading more of your posts and insights, ( but in less frequency :) )
Edit: Clarity | Windows 10 64-Bit | 7700K @ 5.1GHz | 2080 Ti OC | 32GB 3956MHz CL16 RAM | Optane PCIe SSD | Sound Blaster ZxR | 2x 2000W ButtKicker LFE | nVidia 3D Vision | 3D Projector @ DSR 1600p | Oculus Rift CV1

User avatar
ToThePoint
Two Eyed Hopeful
Posts: 52
Joined: Wed May 01, 2019 11:46 pm

Re: 3D Migoto FPS drop

Post by ToThePoint »

@Losti

Ditto at what RAGEdemon has just said. I think that sometimes it takes a near miss like this to properly review and rationalize one's own time and effort effectively, and it's good see that you're prioritising in your own best interests. I really must mention at this point though, that it's a very admirable aim to look to put others first, but other people either occasionally or indeed all too often, don't bother to reciprocate that consideration. I applaud your aim nevertheless.

With that out of the way, let's just look forward to better things ahead huh. ;)

@DJ-RK

Since Losti mentioned Cyberpunk 2077, it can only be hoped, baring confirmation to the contrary, that 2077 is released with options to run on both DirectX 11 as well as DirectX 12. But, if it's DirectX 12 only, what's your current understanding about where this leaves 3D Vision fixes generally regarding DX12? Is this an insurmountable obstacle, if indeed it is an obstacle, but if it is, just what is the estimated order of magnitude of effort in man-hours/years, required to adapt a 3D wrapper that works reliably with DX12? In DarkStarSword's absence, I thought I'd ask you the easy questions instead.

[Edit] I should point out that I'm not expecting anyone here to just create a DX12 wrapper, just to make that absolutely clear. I'm just trying to get a sense of the scale and realistic viability of even accomplishing such a task, even if someone like DarkStarSword were theoretically to be involved. It's just a rather silly and speculative question on my part. If you're really not in a position to speculate about something completely hypothetical anyway, I'm cool with that.
Last edited by ToThePoint on Thu Feb 20, 2020 5:14 pm, edited 1 time in total.
Intel Core i7 6850k @ 3.6 Ghz (Liquid Cooled: Corsair Hydro H115i), 2x GTX 1080 Ti, HB SLI @ x16x16 (Air Cooled), GTX 1060 Dedicated PhysX, 32Gb RAM Kingston Predator
Asus X-99 Deluxe II Motherboard, Corsair Obsidian 1000D Super Tower, Win7 Pro (442.19), Win8.1 (441.66), Ubuntu, Rog Swift PG27VQ 3D (1440p), HTC Vive

User avatar
Losti
Diamond Eyed Freakazoid!
Posts: 741
Joined: Tue Sep 17, 2019 5:30 am

Re: 3D Migoto FPS drop

Post by Losti »

ToThePoint wrote: Since Losti mentioned Cyberpunk 2077, it can only be hoped, baring confirmation to the contrary, that 2077 is released with options to run on both DirectX 11 as well as DirectX 12. But, if it's DirectX 12 only, what's your current understanding about where this leaves 3D Vision fixes generally regarding DX12? Is this an insurmountable obstacle, if indeed it is an obstacle, but if it is, just what is the estimated order of magnitude of effort in man-hours/years, required to adapt a 3D wrapper that works reliably with DX12? In DarkStarSword's absence, I thought I'd ask you the easy questions instead.
Sure if its not DX 11 than we cant fix it, that was only an example ^^

RAGEdemon wrote:Thank you so much for everything Losti - It doesn't need to be said that the vast majority of us deeply appreciate what you have done for the community.

You do what you feel is best for you mate. What you state above looks much more fulfilling (and sustainable in the long term as DJ-RK mentions).

I personally look forward to reading more of your posts and insights, ( but in less frequency :) )
Yes, that was my intention ^^

I was really really screwed of reading complains about unfinished or not tested fixes and such .... things .... MAY BE most of you DO SIMPLY NOT HAVE ANY IDEA about the work behind the sceenes, even for not finisehd things.... NOT? Than simply watch the RegEx for the universal fix 2 ... only to show and tell you that this is FIRST fixed and THAN hand written into a RegEx and tested ... Watch masterotakus turock fix he added hundreds of index buffers for a individual weapon convergence ... AND SO ON ....

Its easy to complain, to consume, i have often tried to show you the things how hard they are. You need a fuckung huge amount of time and free mind and a huge place in it for making perfect or not perfect fixes to assamle all the things, and what i do is a minimum of that what darkstar sword or others are dooing. ITs was hard enougth to be at the point i am, leaning by doing, as allways in shader hacking and of course stupid questions for get the main things into my mind.

OK sorry I wrote not to answer or hit into the discussing anymore ^^ So thanks for reading

UE4-UV2 RegEx Fix Code:

Just for those complaining about PERFROMANCE and IMPERFECTNESS: MAKE IT BETTER !!!

Jost for show a little thing of the work behind: Adding the complete UNIVERSAL FIX CODE here will give you this:

==> Your message contains 319018 characters. The maximum number of allowed characters is 60000.

Just to mention..... and remind you on something.....

As DJ_RK wrote, even creating post, tutorials, providing help, ANYTHING is time consuming. I dont want co count the hrs for making fixes, gethering knowledge, creating RegEx or Hud-Fixes. I have started mod HUD fixes of fixed games and learned by looking into the things and how the others was dooing this things. That was time before starting making real fixes with the example KCD. As you can se a simple HUD fix is not easy if you do no have any basic ideas of how those things are working.

AS an example and the last things (REALLY!) here, this is the HUD-Fix for Heavy Rain (that i am fuckung proude of!!!!!! :-) ) ==> What you see from this is only a perfect HUD, nothing more. Looks perfect, cool, but you have no idea about the work behind to make it! And even a incomplete fix can consume much work to make it incomplete but create a playable state.

This HUD fix is based on texture hash filtering, if ANY update will result in changed texture hashes, all the work will be GONE!! And neither me wants to redo this and trach down the new hashes!! Than to read something seems not to be really or ever tested because its NOW not working is a slip into the face for who was creating the fix!

I have often written that you have to think about some things .... but may be it wasnt clear enougth ....

Reading things like written above HURTS ... This is heavy BLULLSHIT :-)

Yeah happy shitty Losti hackingbullshit !

OK and now i should be silence °_O, as announced.

THANK YOU ALL for your kind words. Lets get the hell out here for a while (a long while!)

Code: Select all


//added
  float4 r40,r41;

float4 HUDDEPTH = IniParams.Load(int2(100,0));
float4 MainMenuIndicator = IniParams.Load(int2(102,0));
float4 tex_filter = IniParams.Load(int2(2,0));
float4 texfilter2 = IniParams.Load(int2(50,0));
float4 ThinkTrigger = IniParams.Load(int2(51,0));
float4 interact = IniParams.Load(int2(52,0));


float4 HelpTextFix1 = IniParams.Load(int2(56,0));
float4 HelpTextFix2 = IniParams.Load(int2(65,0));
float4 HelpTextFix3 = IniParams.Load(int2(58,0));
float4 HelpTextFix4 = IniParams.Load(int2(55,0));
float4 HelpTextFix5 = IniParams.Load(int2(66,0));
float4 HelpTextFix6 = IniParams.Load(int2(68,0));
float4 HelpTextFix7 = IniParams.Load(int2(61,0));
float4 HelpTextFix70 = IniParams.Load(int2(70,0));
float4 HelpTextFix71 = IniParams.Load(int2(71,0));
float4 HelpTextFix72 = IniParams.Load(int2(72,0));
float4 HelpTextFix73 = IniParams.Load(int2(73,0));
float4 HelpTextFix74 = IniParams.Load(int2(74,0));
float4 HelpTextFix67 = IniParams.Load(int2(67,0));
float4 HelpTextFix75 = IniParams.Load(int2(75,0));
float4 HelpTextFix76 = IniParams.Load(int2(76,0));
float4 HelpTextFix78 = IniParams.Load(int2(78,0));
float4 HelpTextFix77 = IniParams.Load(int2(77,0));
float4 HelpTextFix59 = IniParams.Load(int2(59,0));

float4 HelpTextIndicator = IniParams.Load(int2(55,0));

float4 Menutoggled1 = IniParams.Load(int2(82,0));
float4 Menutoggled2 = IniParams.Load(int2(83,0));
float4 NumberKeyIndicator = IniParams.Load(int2(84,0));

float4 NonTHinkKeyPress1 = IniParams.Load(int2(85,0));
float4 NonTHinkKeyPress2 = IniParams.Load(int2(86,0));
float4 RectExclude = IniParams.Load(int2(87,0));

float4 TestFixMenu = IniParams.Load(int2(88,0));
float4 AriInvest = IniParams.Load(int2(90,0));
float4 EandRBPressDelay = IniParams.Load(int2(89,0));

//arrow indicator
float4 HelpTextFix62 = IniParams.Load(int2(62,0));
float4 ThinkTriggerKeyPress = IniParams.Load(int2(79,0));

float4 changedepthhud = IniParams.Load(int2(80,0));
  o0.x = dot(v0.xyzw, register0._m00_m10_m20_m30);
  o0.y = dot(v0.xyzw, register0._m01_m11_m21_m31);
  o0.z = dot(v0.xyzw, register0._m02_m12_m22_m32);
  o0.w = dot(v0.xyzw, register0._m03_m13_m23_m33);
  

  o1.xyzw = v1.xyzw;
  o2.xy = v2.xy;


//correct main menu 1
if(texfilter2.x==0.0)
{
if(tex_filter.x==2.0 && MainMenuIndicator.x==1.0 && o0.y > -0.55)
{
o0.x+=stereo.x*(o0.w-stereo.y)*0.87;
}

if(tex_filter.x==2.0 && MainMenuIndicator.x==1.0 && o0.y < -0.55)
{
o0.x+=stereo.x*(o0.w-stereo.y)*0.595;
}

if(tex_filter.x==3.0 && MainMenuIndicator.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y)*0.15;
}

if(tex_filter.x==4.0 && MainMenuIndicator.x==1.0 && o0.y < -0.3)
{
o0.x-=stereo.x*(o0.w-stereo.y)*0.4;
}
}

//correct main menu 2
if(texfilter2.x==1.0)
{
if(tex_filter.x==2.0 && MainMenuIndicator.x==1.0 && o0.y > -0.55)
{
o0.x+=stereo.x*(o0.w-stereo.y)*0.70;
}

if(tex_filter.x==2.0 && MainMenuIndicator.x==1.0 && o0.y < -0.55)
{
o0.x+=stereo.x*(o0.w-stereo.y)*0.595;
}

if(tex_filter.x==3.0 && MainMenuIndicator.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y)*0.15;
}

if(tex_filter.x==4.0 && MainMenuIndicator.x==1.0 && o0.y < -0.3)
{
o0.x-=stereo.x*(o0.w-stereo.y)*0.4;
}
}


//correct menu ingame
if(tex_filter.x==2.0 && MainMenuIndicator.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//correct main menu except mouse
if(MainMenuIndicator.x==1.0 && tex_filter.x!=2.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//correct main menu except mouse
if(MainMenuIndicator.x==0.0 && tex_filter.x!=2.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//correct main menu except mouse
if(tex_filter.x==8.0 && ThinkTrigger.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}




//correct interrupt rect
if(tex_filter.x==8.0 && HelpTextFix3.x==1.0 && ThinkTrigger.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y)*2;
}


//correct interrupt rect
if(tex_filter.x==8.0 && HelpTextFix3.x==0.0 && ThinkTrigger.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}


//correct interrupt rect
if(tex_filter.x==11.0 && HelpTextFix3.x==1.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//correct interrupt rect
if(tex_filter.x==9.0 && HelpTextFix3.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}


//correct XB
if(tex_filter.x==7.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}


//correct XB
if(tex_filter.x==9.0 && HelpTextFix3.x==1.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

if(tex_filter.x==9.0 && HelpTextFix1.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

if(tex_filter.x==10.0 && HelpTextFix1.x==1.0)
{
//o0.x-=stereo.x*(o0.w-stereo.y);
}

if(tex_filter.x==10.0 && HelpTextFix1.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

if(tex_filter.x==5.0 && HelpTextFix1.x==0.0 && HelpTextFix6.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

if(tex_filter.x==5.0 && HelpTextFix1.x==1.0 && HelpTextFix6.x==1.0)
{
//o0.x-=stereo.x*(o0.w-stereo.y);
}

//interact symbol wasd and xb if circle is arround
if(tex_filter.x==6.0 && HelpTextFix70.x==1.0)
{
//o0.x-=stereo.x*(o0.w-stereo.y);
}

//interact symbol wasd and xb if helptext is used x 56 and 58 // 1 and 3 helptexfix, no circle arround
if(tex_filter.x==6.0 && HelpTextFix70.x==0.0 && HelpTextFix1.x==1.0 && HelpTextFix3.x==1.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//kills rectange iff help text is active -- solved
//rectalnge kb if interact symbol is active and no circle and no help text and rectangel on
if(tex_filter.x==9.0 && HelpTextFix70.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==0.0 && HelpTextFix7.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//ok
//rectalnge xb/kb if interact symbol is NOT active and no circle and help text is active
if(tex_filter.x==9.0 && HelpTextFix72.x==1.0 && HelpTextFix7.x==1.0 && HelpTextFix3.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//enable this will cure 3rd part playing with kids wase and xb
//but kills circle - need check
//but NOT if help text is activated
//circle chek added with fix70 and working, need to check apperiance while playing with kids
if(tex_filter.x==6.0 && HelpTextFix71.x==1.0 && HelpTextFix70.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//try to correct wasd symbol if help text is active -- working, need to check prev game since startup
if(tex_filter.x==6.0 && HelpTextFix71.x==1.0 && HelpTextFix1.x==1.0 && HelpTextFix3.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}


//decide arrow active, help text active, correct wasd
if(tex_filter.x==6.0 && HelpTextFix71.x==1.0 && HelpTextFix1.x==1.0 && HelpTextFix3.x==1.0 && HelpTextFix73.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//correct rectangle if LSTICK is active
if(tex_filter.x==9.0 && HelpTextFix74.x==1.0 && HelpTextFix3.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//try correct wasd with rectangle no text active no circle wasd
if(tex_filter.x==6.0 && HelpTextFix7.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0)
{
//o0.x-=stereo.x*(o0.w-stereo.y);
}

//try correct rect with rectangle no text active no circle 2 rectangle
//kills rect while lift up --- seems fixed
if(tex_filter.x==9.0 && HelpTextFix7.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0)
{
//o0.x-=stereo.x*(o0.w-stereo.y);
}


//kills lift up with arrow, rect, square adn interact
if(HelpTextFix7.x==1.0 && HelpTextFix71.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//correction atempt
if(tex_filter.x==9.0 && HelpTextFix7.x==1.0 && HelpTextFix71.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}


//correction atempt iof arrowe acrive
if(tex_filter.x==9.0 && HelpTextFix7.x==1.0 && HelpTextFix71.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0 && HelpTextFix5.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}
//may add this also for FI 6


//correction atempt
if(tex_filter.x==6.0 && HelpTextFix7.x==1.0 && HelpTextFix71.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//try correct rect with rectangle no text active no circle 2 rectangle
//shake qr fridger correcrt
if(HelpTextFix7.x==1.0 && HelpTextFix71.x==1.0 && HelpTextFix3.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix70.x==0.0 && HelpTextFix67.x==1.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//test this if this will beake other things in prolog
//seen @ start area from bad 
//rectalnge xb/kb if interact symbol is NOT active and no circle and help NO text is active
if(tex_filter.x==9.0 && HelpTextFix72.x==0.0 && HelpTextFix7.x==1.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//interact symbol kb if interact symbol is active and no circle and no help text and rectangel on
if(tex_filter.x==6.0 && HelpTextFix70.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==0.0 && HelpTextFix7.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}


//rectalnge xb if interact symbol LS is active and no circle and no help text and rectangel on
if(tex_filter.x==9.0 && HelpTextFix70.x==0.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==1.0 && HelpTextFix7.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//////////////////////////w anr rectangle is not ok
//fix attemp: make constantsv = 1 for wasd and rect and if nothing else active, apply fix
//no circle, no arrow
if(tex_filter.x==9.0 && HelpTextFix4.x==1.0 && HelpTextFix75.x==1.0 && HelpTextFix76.x==1.0 && HelpTextFix70.x==0.0 && HelpTextFix62.x==0.0 && HelpTextFix77.x==0.0 && HelpTextFix73.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//carry with empty mouse symbol
if(tex_filter.x==9.0 && HelpTextFix77.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//HT1 hinzugefügt
if(tex_filter.x==9.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==1.0 && HelpTextFix59.x==1.0 && HelpTextFix75.x==1.0 && HelpTextFix76.x==0.0 && HelpTextFix4.x==1.0 && HelpTextFix78.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

if(tex_filter.x==12.0 && HelpTextFix3.x==1.0 && HelpTextFix59.x==1.0 && HelpTextFix75.x==1.0 && HelpTextFix76.x==0.0 && HelpTextFix4.x==1.0 && HelpTextFix78.x==1.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//arrow cb over rectangle for show moving - if LSTICKSYMBOL is active
if(tex_filter.x==12.0 && HelpTextFix78.x==1.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==1.0 && HelpTextFix74.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//arrow cb over rectangle for show moving - if RSTICK is active - F3 from 1 to 0 fixes mirror shake, F4 = off at mirror, on while walk
if(tex_filter.x==12.0 && HelpTextFix78.x==1.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==0.0 && HelpTextFix74.x==0.0 && HelpTextFix4.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//arrow cb over rectangle for show moving - if RSTICK is active - F3 from 0 to 1 fixes walk shake F4 = off at mirror, on while walk
if(tex_filter.x==12.0 && HelpTextFix78.x==1.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==1.0 && HelpTextFix74.x==0.0 && HelpTextFix4.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//correct mouse button with carry arrow
if(tex_filter.x==6.0 && HelpTextFix4.x==0.0 && HelpTextFix75.x==1.0 && HelpTextFix76.x==0.0 && HelpTextFix70.x==0.0 && HelpTextFix62.x==1.0 && HelpTextFix77.x==0.0 && HelpTextFix73.x==0.0)
{
o0.x+=stereo.x*(o0.w-stereo.y);
}

//correct carry w
if(tex_filter.x==6.0 && HelpTextFix4.x==1.0 && HelpTextFix75.x==1.0 && HelpTextFix76.x==1.0 && HelpTextFix70.x==0.0 && HelpTextFix62.x==0.0 && HelpTextFix77.x==0.0 && HelpTextFix73.x==0.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//wasd and rect -- correct wasd - no circle
if(tex_filter.x==6.0 && HelpTextFix71.x==1.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==0.0 && HelpTextFix7.x==1.0 && HelpTextFix70.x==0.0)
{
  //disable correction is fixin lift uop
//o0.x-=stereo.x*(o0.w-stereo.y);
}

//correct if no arrow actice
//wasd and rect -- correct rect - no circle
//disable correction is fixin lift uop
if(tex_filter.x==9.0 && HelpTextFix71.x==1.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==0.0 && HelpTextFix7.x==1.0 && HelpTextFix70.x==0.0 && HelpTextFix67.x==0.0)
{
//o0.x-=stereo.x*(o0.w-stereo.y);
}

//correct if arrow actice
//wasd and rect -- correct rect - no circle
if(tex_filter.x==9.0 && HelpTextFix71.x==1.0 && HelpTextFix1.x==0.0 && HelpTextFix3.x==0.0 && HelpTextFix7.x==1.0 && HelpTextFix70.x==0.0 && HelpTextFix67.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//correct others
if(interact.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//correctincorrect depth hud
if(changedepthhud.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//correct some help text 1
if(HelpTextFix1.x==1.0 && HelpTextFix1.x==1.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}



//new with fix 2.0 - Losti - 29.12.2019
//menu and think symbol text poput calculation on convergence dependency
r40.x = -194.13587269384900000000*stereo.y*stereo.y*stereo.y*stereo.y*stereo.y + 416.83503637585100000000*stereo.y*stereo.y*stereo.y*stereo.y - 339.00633203050800000000*stereo.y*stereo.y*stereo.y + 126.16590613000800000000*stereo.y*stereo.y - 21.80293574718580000000*stereo.y + 2.71901338791934000000;
r40.y = -6249.99999999994000000000*stereo.y*stereo.y + 11674.99999999990000000000*stereo.y - 5457.99999999995000000000;
r40.z = 390625.00000160900000000000*stereo.y*stereo.y*stereo.y*stereo.y - 1728587.96296988000000000000*stereo.y*stereo.y*stereo.y + 2868142.36112225000000000000*stereo.y*stereo.y - 2114871.56085453000000000000*stereo.y + 584749.99603388300000000000;
r40.w = -9.61403850806528000000*stereo.y*stereo.y*stereo.y*stereo.y*stereo.y + 90.10841875436450000000*stereo.y*stereo.y*stereo.y*stereo.y - 336.26881005563900000000*stereo.y*stereo.y*stereo.y + 625.55076013527400000000*stereo.y*stereo.y - 581.79096975000100000000*stereo.y + 219.90148507535400000000;
r41.x = -0.01153456789120360000*stereo.y*stereo.y*stereo.y*stereo.y*stereo.y + 0.22567464721377100000*stereo.y*stereo.y*stereo.y*stereo.y - 1.73995709924094000000*stereo.y*stereo.y*stereo.y + 6.61904301834121000000*stereo.y*stereo.y - 12.52104119625490000000*stereo.y + 11.73916254121680000000;

//think thinkbutton presses popout fix
if(stereo.y<=0.922 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>0.922 && stereo.y<=0.99 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.y;
if(stereo.y>0.99 && stereo.y<=1.01 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*-120.0;
if(stereo.y>=1.00 && stereo.y<=1.145 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.z;
if(stereo.y>1.145 && stereo.y<=2.25 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.w;
if(stereo.y>2.25 && stereo.y<5.20 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>=5.20 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 1.0)
o0.x-=stereo.x*(o0.w-stereo.y);
//think thinkbutton presses popout fix

//ingame menu fix
if(stereo.y<=0.922 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>0.922 && stereo.y<=0.99 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.y;
if(stereo.y>0.99 && stereo.y<=1.01 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*-120.0;
if(stereo.y>=1.00 && stereo.y<=1.145 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.z;
if(stereo.y>1.145 && stereo.y<=2.25 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.w;
if(stereo.y>2.25 && stereo.y<5.20 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r41.x;
if(stereo.y>=5.20 && Menutoggled2.x == 1.0 && Menutoggled1.x == 1.0 && MainMenuIndicator.x==0.0 && ThinkTriggerKeyPress.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y);
//ingame menu fix

//think no thinkbutton presses popout fix
if(stereo.y<=0.922 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>0.922 && stereo.y<=0.99 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.y;
if(stereo.y>0.99 && stereo.y<=1.01 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*-120.0;
if(stereo.y>=1.00 && stereo.y<=1.145 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.z;
if(stereo.y>1.145 && stereo.y<=2.25 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.w;
if(stereo.y>2.25 && stereo.y<5.20 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r41.x;
if(stereo.y>=5.20 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 1.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y);
//think no thinkbutton presses popout fix

//think no thinkbutton presses popout fix interact
if(stereo.y<=0.922 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>0.922 && stereo.y<=0.99 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.y;
if(stereo.y>0.99 && stereo.y<=1.01 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*-120.0;
if(stereo.y>=1.00 && stereo.y<=1.145 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.z;
if(stereo.y>1.145 && stereo.y<=2.25 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.w;
if(stereo.y>2.25 && stereo.y<5.20 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r41.x;
if(stereo.y>=5.20 && MainMenuIndicator.x==0.0 && NumberKeyIndicator.x == 0.0 && ThinkTriggerKeyPress.x == 0.0 && NonTHinkKeyPress2.x == 1.0 && NonTHinkKeyPress1.x == 1.0 && HelpTextIndicator.x == 0.0 && TestFixMenu.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y);
//think no thinkbutton presses popout fix interact
//new with fix 2.0 - Losti - 29.12.2019

//fix ARI
if(stereo.y<=0.922 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>0.922 && stereo.y<=0.99 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.y;
if(stereo.y>0.99 && stereo.y<=1.01 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*-120.0;
if(stereo.y>=1.00 && stereo.y<=1.145 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.z;
if(stereo.y>1.145 && stereo.y<=2.25 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.w;
if(stereo.y>2.25 && stereo.y<5.20 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r41.x;
if(stereo.y>=5.20 && tex_filter.x == 22.0 &&EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y);

if(stereo.y<=0.922 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.x;
if(stereo.y>0.922 && stereo.y<=0.99 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.y;
if(stereo.y>0.99 && stereo.y<=1.01 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*-120.0;
if(stereo.y>=1.00 && stereo.y<=1.145 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.z;
if(stereo.y>1.145 && stereo.y<=2.25 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r40.w;
if(stereo.y>2.25 && stereo.y<5.20 && tex_filter.x == 22.0 && ThinkTriggerKeyPress.x == 0.0 && EandRBPressDelay.x==1.0)
o0.x-=stereo.x*(o0.w-stereo.y)*0.5*r41.x;
if(stereo.y>=5.20 && tex_filter.x == 22.0 &&EandRBPressDelay.x==0.0)
o0.x-=stereo.x*(o0.w-stereo.y);


if(tex_filter.x==23.0)
{
o0.x-=stereo.x*(o0.w-stereo.y);
}

//fix ARI



  return;
}

User avatar
ToThePoint
Two Eyed Hopeful
Posts: 52
Joined: Wed May 01, 2019 11:46 pm

Re: 3D Migoto FPS drop

Post by ToThePoint »

Losti wrote:Sure if its not DX 11 than we cant fix it, that was only an example ^^
Yeah, but it was a nice example. The other one's weren't bad either. I wonder when they're coming out. ;)
Intel Core i7 6850k @ 3.6 Ghz (Liquid Cooled: Corsair Hydro H115i), 2x GTX 1080 Ti, HB SLI @ x16x16 (Air Cooled), GTX 1060 Dedicated PhysX, 32Gb RAM Kingston Predator
Asus X-99 Deluxe II Motherboard, Corsair Obsidian 1000D Super Tower, Win7 Pro (442.19), Win8.1 (441.66), Ubuntu, Rog Swift PG27VQ 3D (1440p), HTC Vive

User avatar
b4thman
Cross Eyed!
Posts: 136
Joined: Sun Nov 18, 2007 7:36 am
Which stereoscopic 3D solution do you primarily use?: LCD shutter glasses

Re: 3D Migoto FPS drop

Post by b4thman »

I love the work of this guy

User avatar
Blacksmith60
Cross Eyed!
Posts: 123
Joined: Thu Oct 17, 2019 10:55 am

Re: 3D Migoto FPS drop

Post by Blacksmith60 »

Necropants wrote:Good discussion.

There is also the issue of a lot of the old fixes just not working anymore, or upon the blog in such a poor state that is not really playable, to the point, it seems they were never really tested. Sometimes this is a case of developers pushing out patches that break things, in other cases it seems like a rush was made to release a fix that's only 80 percent playable, not really played or tested, then dropped for the latest and greatest shiny new thing. I think this hurts the community as a whole. There to this day still exists a fix on the blog for total warhammer 2 that's never worked. So it can be easy to overlook a game you think is fixed but really isn't at this point. For the sake of keeping this conversation on track I won't give any other examples =)

I've tried over the years to try and pull my end of the deal and learn more but progress has been slow, and I guess I am just not that mathematically smart as many of the other successful shaderhackers and information is indeed scattered, it makes the learning process for someone like me extremely arduous and frustrating.

I think a wiki would be a fantastic idea, probably long overdue, definitely seems like this skill could be a black art that's easily lost as time goes on, so it would be a good idea to try and plan for the future somewhat.
We have a Blog with several hundred of fixed games that works perfect, and yes there are a few not working and more that's not 100% fixed, I'm totally happy with that.
I prefer any time a 90% fixed game over a non fixed!

I perfectly understand you Losti, because we are not in a situation where we can demand perfect fixes, infact we can't demand anything at all!

I'm so gratefull for all you do for us Losti, but I must admit I felt this was comming sooner or later, you have fixed/posted so many games lately that I could not keep track of them.
It was easy to spot the addiction part here, and I hope that you this time arround will do what needs to be done, namely only fix the games you actually play.
That is a far more healthy situation for you, which hopefully leeds to less frustrations, and more enjoyment!

I wish you all the best, and ofc hope to still see you arround, but maybe not so often :)

User avatar
Chtiblue
Sharp Eyed Eagle!
Posts: 366
Joined: Mon Sep 16, 2019 4:52 am
Which stereoscopic 3D solution do you primarily use?: S-3D HDTV

Re: 3D Migoto FPS drop

Post by Chtiblue »

+1 Blacksmith60
+1 Losti
-1 Necropants

User avatar
skyrimer
Binocular Vision CONFIRMED!
Posts: 328
Joined: Sun Sep 22, 2013 11:43 am

Re: 3D Migoto FPS drop

Post by skyrimer »

Yep, slow clap for Necropants, this situation is so much better now... /s
ASUS PG278QR Monitor
Windows 10 1809
AMD Ryzen 5 3600 @3.60ghz
Kingston HyperX Predator DDR4 3200 PC4-25600 16GB 2x8GB CL16
MSI B450 Gaming Plus MAX
Corsair RM650 650W 80 Plus Gold
SSD M.2 2280 500GB
NVIDIA 1080 Ti MSI AERO
VR: Pimax 8k & Index controllers

Visit http://www.gamermovil.com for a ton of mobile news and more!

User avatar
Necropants
Binocular Vision CONFIRMED!
Posts: 271
Joined: Tue Sep 17, 2019 11:05 pm
Which stereoscopic 3D solution do you primarily use?: S-3D desktop monitor

Re: 3D Migoto FPS drop

Post by Necropants »

Look....

I feel like I have been misconstrued somewhat. Possible language barriers aside, maybe I did not really communicate things in the best way or enough to get the real thrust of my point across. This is a technology we all deeply care about and I know sometimes tensions can rise, especially due to the vast amount of time that is spent on improving the situation for others. I did not mean to strike the nerve I obviously did, but reading back my comment I can see how it could have been taken in a more critical way than I intended. So I will apologize...

I personally have been around this community for practically the last decade, and have contributed hundreds if not thousands of dollars of own money towards contributions many of you enjoy, as well as making an honest attempt to learn shader hacking myself or simply tracking broken shader hashes and save files for fix developers and consider many of them personal friends. I am infinitely appreciative to the work everyone involved has done over the years including the people that simply just love playing games in 3D and have never contributed to a fix or the tech behind shader hacking.

It does seem this community has shifted to a very dramatic turn especially since leaving the official forums. I do somewhat miss the old boards years ago which actually seemed like the last bastion of the internet and a shining example of a user driven community. Where in the past pointing out an issue with a "currently" in development fix either to identify a possible problem to be resolved or simply just wondering if the fix was functioning as it should is now often incorrectly taken as a personal attack or "Whining" at the Shaderhacker by many instead of an honest attempt to improve matters, help or just simply UNDERSTAND. It's not only not constructive, but also a bit sad... (and I know there are Shaderhackers out there that agree with me.).. The amount of times I have pointed out and issue, but attacked as ungrateful only to see this issue subsequently fixed by a save game or image I have supplied.... Anyway.

The intention of my original statement was by no means AT ALL, to attack or undermine anyones work, or even place expectations or responsibility on the original creator and I completely agree that fixes on the blog that are 90% playable are much more preferable than none at all. Hell even a fix I revised and updated (Guildwars 2) has since over time gathered more issues. So I was actually referring to myself here as well. Unfortunately it's dx9 and I stopped trying to update due to crashes and such with helixmod. I simply was pointing out it was a real issue with possible solutions. Most of my own fixes are not perfect, in fact.

@Losti and anyone else if you did take offence to anything I said, please accept my humble apologies I actually love and appreciate you all, seriously. Anyone who supports this technology at any level, believe me I'm behind you. I know the journey you have taken often with little in return to provide such an amazing service to us all.

At least it seems DK-RK got the jist of what I was eluding to here....

Ultimately I was just trying to say, it would be great if there was some sort of way for end users to clearly flag a fix for needing attention because quite often if no ones playing it, no one knows. (like a colored check mark or something on the fix list. Or maybe just a user editable wiki entry somewhere on a shaderhacking site like bo3bs school to list games they were fixed but now broken over time.

This also would be a great way to signal to people such as myself that aspire to learn more about shaderhacking for a good reference point to look for study. The amount of times I have had a "eurika" moment myself and had a breakthrough simply because I saw a shader that was fixed by a technique and just needed to transfer this to the new shader hash as DJ-RK brings up. Games have been fixed and broken over the years as shader hackers have come and gone and its definitely a great opportunity for the people still around to replace the fallen soldiers. It can only benefit everyone...

Even a page of glossary of shader terms with a image would be a good idea. Sometimes I am just not certain exactly what shader element is being refereed too.
Losti's "Motion-sickness" fixes are a good example of this. I am to this day not 100 percent certain what he is referring too. Motion sickness commonly refers to medical condition some users (including myself) suffer which causes nausea particularity in FPS games, but I worked out after alot of confusion he was actually referring to a shader effect and ironically some of the auto depth adjustment/transitions released over the years has actually triggered my own "medical" motion sickness.. But I digress.

One things for certain as time goes on there is going to be less and less talented soldiers to replace the people that have been lost, so it's prudent for us all to be thinking about this and try to do our bit if you want to play games 3D in the future. And I feel a community wiki based approach maybe the only feasible way to get this happening. Maybe Bo3b's wiki could be opened up and added too. Although I am not sure whats involved there. As it stands there is an abundance of information scattered across forums posts which really make the learning process difficult as opposed to if it was dumped in one location somewhere. Look what happened to the old forums and all the important data that was lost.

I ultimately do not and have never expected or felt entitled to anything from/of this community.
Just things I have been thinking of lately because I think it's important we all start thinking about the future as people with the skills move on.
Peace, People.

User avatar
masterotaku
Cross Eyed!
Posts: 119
Joined: Sun Sep 22, 2019 4:43 am
Which stereoscopic 3D solution do you primarily use?: S-3D desktop monitor

Re: 3D Migoto FPS drop

Post by masterotaku »

Necropants wrote:Losti's "Motion-sickness" fixes are a good example of this. I am to this day not 100 percent certain what he is referring too.
He chose a strange name, but he means frame blending in certain shaders. For example, usually screen space reflections blend the content of previous frames, so when you move forwards there is some kind of delay and the 3D position is wrong, floating several frames behind where they should be. And the opposite when you move backwards.

This isn't as noticeable in 2D, and the same concept applies to TAA. And also some shadows / ambient occlusion in Spyro (for which I made a hotkey to toggle off that temporal effect). In UE4, disabling that for screen space reflections is pretty easy (all or most of my UE4 fixes include that).


About the rest of your post, I agree with you. If / when there's a wiki we can edit, I'll post some content there if I know how to explain it, more or less. There are a lot of formulas that I reached just by trial and error.

Thank you for all your efforts too, Necropants.

Edit: I have to say that most of the reported problems with fixes I saw lately (not counting Dishonored 2) are because of the drivers. It got a bit tiring having to repeat that UE4 and RE Engine games need 425.31 or properly modified drivers. That said, the fault lies with Nvidia.

Vaeltaja
Two Eyed Hopeful
Posts: 65
Joined: Sun Sep 15, 2019 4:54 am
Which stereoscopic 3D solution do you primarily use?: S-3D desktop monitor

Re: 3D Migoto FPS drop

Post by Vaeltaja »

+1 for wiki. Now the little information we have is scattered in different places and topics and some has been even lost thanks to nvidia forum changes. I clearly understand that common user may not read further than third line but is that a reason to deny guides from those that are interested and want to learn more?

I can use myself as an example. It's been few years since I learned basics of programming and I've forgotten so much since I haven't been using those skills (except some ini tweaking) because programming itself is not my passion or anything - my strenghts are completely elsewhere. I understand math to some extend but it's definitely not my favorite thing in the world and therefore motivation to learn to understand math and programming better is quite thin. My motivation comes purely from the possibility to someday play certain games in 3d.

I really, really appreciate all the help I have gotten so far and the hard work from everyone that tries to keep 3D Vision alive. I'm really grateful for that and I'm sad that at the moment I'm not able to support shaderhacking financially.

But sometimes that help can be hard to understand without some basic knowledge of certain things or the answer can be connected to some other thing that I have no idea of and that is frustrating. It can lead to a situation where I want to ask more about it but I feel like I've already wasted enough someone's time, especially if it's something really basic - it just gives this feeling that I don't want to keep asking "stupid" questions. And sometimes answer to a question can take some time, which is of course understandable since we all have our lives to live.

Some things can be easier to figure out on your own and when you finally understand something on your own it can bring a great feeling of accomplishment. But some things are much harder or even impossible (at least to some of us) to figure out on your own. Sometimes I just use hours to try to find answers or guides to problems/questions that might be simple to someone else and if I don't find guides/get help from someone who knows, it just leads to frustration. For example it is sometimes a real nightmare to go through some old discussion about something with 500 posts (especially on nvidia's new forum) and the information can either be in one post that's somewhere in that thread or scattered between few posts that are there somewhere.

I wish my skills were on a totally different level or my understanding towards programming and math was wider but at the moment my biggest strengths in learning to fix games are my desire to play certain games in 3d and my slowly fading enthusiasm.

There's been some hard blows against our community and we've lost so many great warriors along the way. If the needed information for new potential shaderhackers is scattered around in places hard to navigate, or is nonexistent, that only hurt this community more in the long run. I think wiki would help a lot, it might even become some sort of basis in creating this community's future - if we want there to be one.

I know I want.

User avatar
helifax
Sharp Eyed Eagle!
Posts: 402
Joined: Tue Jan 12, 2010 5:09 pm
Which stereoscopic 3D solution do you primarily use?: Head Mounted Display (HMD)

Re: 3D Migoto FPS drop

Post by helifax »

masterotaku wrote: Fri Feb 28, 2020 6:39 am
Necropants wrote:Losti's "Motion-sickness" fixes are a good example of this. I am to this day not 100 percent certain what he is referring too.
He chose a strange name, but he means frame blending in certain shaders. For example, usually screen space reflections blend the content of previous frames, so when you move forwards there is some kind of delay and the 3D position is wrong, floating several frames behind where they should be. And the opposite when you move backwards.

This isn't as noticeable in 2D, and the same concept applies to TAA. And also some shadows / ambient occlusion in Spyro (for which I made a hotkey to toggle off that temporal effect). In UE4, disabling that for screen space reflections is pretty easy (all or most of my UE4 fixes include that).
That is the Temporal Part of the technology: TAA stands for Temporal Anti-Aliasing. The Temporal component is a buffer of accumulation for motion vectors.

For example:
https://developer.unigine.com/en/docs/2 ... mporal_aa/

I just wanted to clear it out.
Also, I think Losti's name is ON POINT. In VR you can't use the same TAA mechanism as you do plain 2D. (You can still use TAA but high bigger constraints).

Cheers!
Helifax

PS: It's sad when I come to a thread to read about FPS drops and by the end of the thread I read about something totally different :(
http://3dsurroundgaming.com:
- Home of OGL3DVision wrapper & Vk3DVision - Play your favourite OpenGL & Vulkan games in Stereoscopic 3D using Nvidia 3D Vision OR Virtual Reality using HelixVision(https://store.steampowered.com/app/1127310/HelixVision/)
- Home of some of my UHD Surround/Eyefinity/21:9/32:9 Fixes. (Or you can always check http://pcgamingwiki.com/)

Want to contribute to the development of Vk3DVision? You can check my Patreon Page for the project: https://www.patreon.com/Vk3DVision. If you still like my project but don't want to contribute monthly you can always send me a PayPal: tavyhomeppal@hotmail.com.

You can always follow me on Twitter: @OctavianVasilov

bo3bber
Binocular Vision CONFIRMED!
Posts: 339
Joined: Thu Dec 27, 2012 4:22 am

Re: 3D Migoto FPS drop

Post by bo3bber »

Ultimately I was just trying to say, it would be great if there was some sort of way for end users to clearly flag a fix for needing attention because quite often if no ones playing it, no one knows. (like a colored check mark or something on the fix list. Or maybe just a user editable wiki entry somewhere on a shaderhacking site like bo3bs school to list games they were fixed but now broken over time.
We pretty much already have tools to do all these things, but no one ever uses them.

There already is a wishlist that is hosted directly off of the HelixModBlog, but no one ever goes to update their requests. If a game is broken, this would be a good place to make a request, with a comment that it's broken. Another decent path is to make a comment on the blog page itself, noting that it was broken. Minus any communication, no one is going to take a look.

About the rest of your post, I agree with you. If / when there's a wiki we can edit, I'll post some content there if I know how to explain it, more or less. There are a lot of formulas that I reached just by trial and error.
+1 for wiki. Now the little information we have is scattered in different places and topics and some has been even lost thanks to nvidia forum changes. I clearly understand that common user may not read further than third line but is that a reason to deny guides from those that are interested and want to learn more?
Again, we already have a wiki for shaderhacking. It's live, it's been running on my server, and will continue to do so. Anyone can add to the wiki by making an account. DarkStarSword and I are the only ones who have ever added extra details there, but anyone is free to use it. Is there any reason this wouldn't work and we need a new one?

There were previously some terrific guides- linked out of HelixModBlog to NVidia forums. The guides are still there, the links were destroyed because NVidia sucks. If someone were interested in learning, going through the links and finding the new locations would be super helpful, and also informative for the person learning.


I dunno. I think that everyone means well, but no one ever follows through. It's not a community if only 5 people are doing any work. That's perfectly OK, I know everyone is busy and it's hard to make time- but I'm personally done making tools and setting things up that no one ever uses.

Post Reply

Return to “NVIDIA GeForce 3D Vision Driver Forums”