solersoft / refract Goto Github PK
View Code? Open in Web Editor NEWReal-time holographic game streaming for Looking Glass Portrait.
License: MIT License
Real-time holographic game streaming for Looking Glass Portrait.
License: MIT License
It would be nice if there was some description of how to set up Microsoft MRTK to get this project to work.
Hey,
cool software! Is this only limited to the Portrait? I tried with another older model and I see a weird image with a diagonal cut in the middle.
Is your feature request related to a problem? Please describe.
Feature request
Describe the solution you'd like
It'd be great if Refract should be targeted at a specific window rather than the entire desktop. This would make it easier to do things like depth editing in PhotoShop.
Describe alternatives you've considered
Currently Photoshop has to be maximized.
Additional context
N/A
It would be awesome if future builds of Refract could be provided in both x64 and ARM64 variants.
Describe the bug
my depth mask looks fine on the computer:
but appears very jagged and bandy on the looking glass portrait:
the RGB image is in there somewhere, but the depth image is getting garbled somehow
To Reproduce
Steps to reproduce the behavior:
nvidia overlay is off and this is the only other monitor connected besides the portrait
Expected behavior
the image doesn't look all weird
Desktop (please complete the following information):
Would it be possible to get transparency to work by adjusting the Refract displacement shader? I tried to change the RenderType
to Transparent
in the Tags
but it renders black in the Looking Glass.
Is your feature request related to a problem? Please describe.
Currently Refract only works with Looking Glass Portrait and only displays the center 1/3 of the game.
Describe the solution you'd like
Support for wide screen LKG displays and full-frame games.
Describe alternatives you've considered
N/A
Additional context
I can think of 3 potential ways of doing this:
Switch to rendering horizontal. The problem with this is that you have to get the game to render in half the vertical resolution but at the 2:1 compress ratio. This has to be done in Reglass (Reshade) before you can try to stretch it back out in Refrat to the full height and proper aspect ratio. You would need to add another shader pass in Reglass and expose an option for it in the shader settings. In Refract, you'd have to change the parameters on the UDD (desktop capture) object to capture the vertical half rather than the horizontal half. And you'd have to add an extra pass in the Refract displacement shader to stretch the result.
Interlace. Rather than splitting the screen half and half, you would do every-other line. This might require less effort because you wouldn't have to squish. You'd only have to stretch. But the process would be similar to the above.
The right way to do it would be to write a Reshade native plugin. These are new and are in Reshade 5. They're written in C++. The plugin would theoretically have access to the full color frame and the full depth buffer frame without screen splitting at all. The C++ plugin would then have to send this data to Refract over ICP (inter-process communication). Refract would need to be modified to receive frames over ICP rather than screen scraping. This is no small undertaking, but it's really the right way to do it if possible. It would get around the desktop duplication limitations some users are facing, and it would allow Refract to work on a much wider range of displays.
I haven't started this work because I don't have a wide screen display to test it on. If any users are thinking about implementing this, I highly recommend trying to implement it this way.
Describe the bug
When Refract is run a message is displayed on the Portrait stating that Desktop Duplication is not supported.
Expected behavior
Refract would run.
Desktop (please complete the following information):
Additional context
Name your hardware device here
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.