jam3sward / quadifier Goto Github PK
View Code? Open in Web Editor NEWOpenGL Quad Buffer Stereo 3D for the Unity Game Engine (and potentially others)
OpenGL Quad Buffer Stereo 3D for the Unity Game Engine (and potentially others)
Hi Jam
The screen flickered if a "Directional light" was in the scene of Unity.
it's very strange!
Hi ,James
I released a X64 verson.But the process pushed out a messagebox ,
that said "Failed to hook GetProAddress " .If ignored , the EXE file also can launch.
But some shakeed render would occur.
I had tested some times, it works well on Win7 .only happen on Win8/Win10!
System:Win10 X64
IDE:VS 2015
Graphic Card:NV Quadro M4000
Driver of Graphic Card:377.11
Hi James,
I tested quadifier with Unity 5.4.0f3.
Although the log seems to indicate that everything works fine I do not get a stereo effect.
I am not entirely sure that the Unity version is the problem because I hade to build with VS 2015
and had to slightly alter the project in order to compile.
It would be great if you could take a look at it. I will attach the logfile and hope it may help you.
intercept.txt
Thanks,
Pascal
Hi Jam,
Are you still working on this? I tried your code in Unity5.3+ and then I opened "intercept.log", not found "Stereo enabled" which I can find within Unity4.5.1f1.
This was mentioned in comment on previous issue #6, namely:
"I got this working. "Show Unity Splash Screen" must be enabled."
Haven't reproduced personally, still needs to be investigated. For the moment, I'm recording this as an issue in case others experience the same.
Hey Jam,
Are you still working on this?
Could you tell me how exactly it works?
Can I use for my personal but commercial production?
Rahul
Hi Jam,
I built the quadifier with VS 2015.and built a demo in Unity3d 5.3.6f1.it worked well.
but when i changed the options' value ,it was failed.
1.Needs to have "Show Unity Splash Screen" enabled in Pro"
you had discussed with Jack. But I met it again and couldn't solve it in your solution.I don't why.
2.it failed when the option of Graphic quality is “Beautiful” or above
maybe it need to be spported by DX11 or DX12. i see your code has DX11.
i will appreciate your reply
thanks
Richard
intercept.log:
0: DLL_PROCESS_ATTACH
247: CreateWindowExW(?,OleMainThreadWndName,-2147483648,-2147483648 -2147483648x-2147483648)
251: CreateWindowExW(UnityWndClass,,-2147483648,-2147483648 320x240)
254: Direct3DCreate9(32)
254: Settings: passThrough = false
254: Settings: useTexture = false
254: Settings: preventModeChange = true
254: Settings: matchOriginalMSAA = true
254: Settings: stereoIndicator = false
254: Settings: logLevel = info
261: IDirect3D9Proxy(024EFCA0)
303: CreateDevice(0,1,001304E2,70,02255DC4,02255E00)
304: using Direct3D9Ex
1053: CreateWindowExA(?,NVOGLDC invisible,-2147483648,0 -2147483648x0)
1443: IDirect3DDevice9Proxy(0C54C820,02514398)
1443: new IDirect3DDevice9Proxy(0C54C820,02514398)=0C774598
1795: CreateWindowExW(ComboLBox,?,0,24 126x122)
1798: CreateWindowExW(ComboLBox,?,0,24 126x100)
1800: CreateWindowExW(ComboLBox,?,0,24 126x122)
1802: CreateWindowExW(SysHeader32,?,0,0 0x0)
1803: CreateWindowExW(EDIT,,0,0 16384x16384)
1804: CreateWindowExW(tooltips_class32,?,0,0 0x0)
1805: CreateWindowExW(EDIT,,0,0 16384x16384)
1808: CreateWindowExW(CicMarshalWndClass,CicMarshalWnd,0,0 0x0)
1411142: IDirect3DDevice9::Reset: 1920x1080,backBuffers=1,windowed=1
1412177: CreateWindowExW(GLCLASS,,0,0 8x8)
1412181: CreateWindowExA(?,NVOGLDC invisible,-2147483648,0 -2147483648x0)
1412205: CreateWindowExA(?,__wglDummyWindowFodder,-2147483648,-2147483648 -2147483648x0)
1412260: CreateWindowExW(GLCLASS,,0,0 8x8)
1412264: OpenGL forced AA samples = 0
1412264: Create DX render targets
1412267: DX render target surface format: D3DFMT_A8R8G8B8
1412267: DX viewport = 1920x1080
1412267: DX multisample type = D3DMULTISAMPLE_2_SAMPLES
1412267: DX depth/stencil surface format: D3DFMT_D24S8
1412267: error: failed to create DX render target
1412267: starting GL rendering thread
1412267: thread = 8e4
1412267: Error Setting Render Target
Hi James,
There are four problems bothering me.
1.Can't attach camera image effect scripts.(Error:Error Setting Render Target at beginCapture() SetRenderTarget(......));
2.Left/Right eye is not always in Left/Right sequence, Sometimes in Right/Left sequence;
3.When I drag the window with the mouse. Mouse event and Keyboard event will be invalid(Unity scripts);
4.CreateRenderTarget : MultiSample != D3DMULTISAMPLE_NONE => error: failed to create DX render target;
Any suggestion for me? :)
This issue was original reported by JackLikePython on issue #9 with a description as follows: "Left/Right eye is not always in Left/Right sequence, sometimes in Right/Left sequence"
I am currently unable to reproduce. Steps to reproduce would be appreciated, if anyone sees the same issue.
Hi James,
first thank you a lot for sharing your work. I have a simple question. In the wiki it's mentioned that there are scripts necessary to render left and right channels in the correct order ("It requires some scripts on the Unity side to render the left and right channels in the correct order"). But for me when i build a Unity scene with two cameras (left, right) without any scripts and start it via Quadifier everything looks pretty good. Do I get something totally wrong or do I miss something?
Thank you
Paul
Description:
I think that some windows messages are conflict with m_frameDone.wait(1000);
Error Log: ‘error: failed to create DX render target;’
Decription: Unity use antialiasing, So MultiSample != D3DMULTISAMPLE_NONE
My solution:
Quadifier.cpp 1225 line
if (m_device->CreateRenderTarget(
m_width,
m_height,
displayMode.Format,
desc.MultiSampleType,
desc.MultiSampleQuality,
FALSE,
&m_target[i].surface,
NULL//&m_target[i].shareHandle
) != S_OK) {
Log::print("error: failed to create DX render target\n");
exit(1);
break;
}
else
{
Log::print("create DX render target success ") << m_target[i].surface << endl;
}
Hey!
Quadifier seems to tick all the boxes for my project I'm working on, but I can't seem to get the stereo output to work. When I drag my Unity file onto the launcher I just recieve an "failed to inject" message - I tried both 32 and 64 bit builds.
I'm on Windows 7 using a Quadro K5200 and using Unity 5. Any idea on how to fix this?
Thank you!
see wiki sai:"Projector overlap, edge-blending and warping is implemented on the graphics card, using the desktop overlap and NVIDIA Warp & Blend API." Can this tool be provided?Thanks
FROM THE DESCRIPTION
Most of the work is carried out by the Quadifier class. It causes Direct3D
to render into a render target instead of the screen. The corresponding
surface is mapped onto an OpenGL texture or renderbuffer using the NVIDIA
NV_DX_interop extension. This is attached to a framebuffer object. The
framebuffer object is blitted to the back left or back right OpenGL render
buffers as appropriate.
Is this limited to nvidia cards only?
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.