Page 1 of 3

DirectX Bridge VVVV-To-Resolume

Posted: Fri Apr 26, 2013 13:08
by elio
Hey all,

Want some good news?
proof_dx_to_opengl_2.png
I finally managed to make a Plugin that allows for using DirectX Textures in Resolume (and probably other OpenGL Freeframe Hosts, which I did not test yet - anyone?). It runs completely on GPU.

I use the NVidia Interop Functions (https://www.opengl.org/registry/specs/NV/DX_interop.txt). So it only works with NVidia Cards that support these features.

Currently it works well with VVVV. Let me know if you have any issues or hints!

News: Seems to crash with Resolume 4.0 but works with 4.1.x and higher.

Setup
  • VVVV must be started with the /dx9ex command line option in order to support shared resources
  • Open the "ShareTextureInfo" help patch
  • OR Create a Renderer with something attached to the inlet and use a DX9Texture at the output. In the Inspektor, set the DX9Texture Format to A8R8G8B8 (currently only this Format is supported).
    Then connect the "ShareTextureInfo" to the Texture output. ShareTextureInfo has an inlet for defining a sharing name for the texture. Change that to whatever you want.
  • Copy RR_DXTexture.dll to your plugin directory
  • Start Resolume and select DX Texture (RR) from Sources. In the parameters you put the sharing name that you defined in vvvv.
Have Fun! Elio


For those who want to connect other stuff than VVVV
The Texture Information (Resolution, Share Handle) is transmitted to the plugin via Shared Memory.
The shared memory's name can be set in the plugin's parameters. The Data structure is as follows:

Code: Select all

struct DX9SharedTextureInfo {
	UINT16 width;
	UINT16 height;
	HANDLE shareHandle;
};
Links:

Re: DirectX Bridge VVVV-To-Resolume

Posted: Fri Apr 26, 2013 13:47
by bart
Very nice!

Re: DirectX Bridge VVVV-To-Resolume

Posted: Fri Apr 26, 2013 18:53
by elio
Just changed to Version 1.1 which should be more stable and give more hints why things don't work.

Re: DirectX Bridge VVVV-To-Resolume

Posted: Fri Apr 26, 2013 23:24
by BPM
Can you explain please how can we use it in resolume with other software? (Like GrandVJ..)

Re: DirectX Bridge VVVV-To-Resolume

Posted: Sat Apr 27, 2013 02:57
by elio
Hey BPM,

a long time that I've touched GrandVJ the last time... Does it support plugins?
If yes, there could be a way. If not, this is a problem because the Application needs to be changed.
The serving application has to support texture sharing in DirectX. And it must publish the share handle and resolution of the Texture (via shared memory see above). But I think we would need a more solid standard for that.

But tell me: Why connect a VJ tool to a VJ tool? I think it's more interesting to connect something with completely different features (timeline-based tools etc.).

Re: DirectX Bridge VVVV-To-Resolume

Posted: Sat Apr 27, 2013 08:09
by BPM
Hey elio, and thanks for the quick reply,
The reason for conecting one vj tool to another is because every Vj software got it's own uniqe advantages,
and with a solution like "syphon"for pc we can use all those advantages at once.
Arkaos does not support plugins right now, altough version 2.0 is just arround the corner and I know it share textures between the main App and the new VIDEO MAPPER extension.
10x again and congratulation on this new amazing bridge you created!!

Re: DirectX Bridge VVVV-To-Resolume

Posted: Sun Apr 28, 2013 12:36
by BruceLane
great work!
Could Cinder (C++) talk to Resolume in the same fashion?
Maybe this is a base: https://code.google.com/p/ofxffglplugin/

Re: DirectX Bridge VVVV-To-Resolume

Posted: Mon Apr 29, 2013 11:52
by francoe
Well... that's no more than a fckn awesome!!
Love this guy.

Re: DirectX Bridge VVVV-To-Resolume

Posted: Wed May 01, 2013 05:11
by francoe
I've tried the bridge, is really fantastic.
I just run it, and in a few secs I was displaying a twitter feed in resolume (without any of those crappy flash files).
Now I need to set my mind in vvvv mode again, but is exciting.

Re: DirectX Bridge VVVV-To-Resolume

Posted: Sun May 05, 2013 03:45
by Mulky
This looks awesome. Can't wait to try it out.