» IDXDeviceService and IMainLoop
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

IDXDeviceService and IMainLoop

for some advanced plugin usage scenarios we introduced two new interfaces in the upcoming 28 release of vvvv:

the device service can be used to enumerate all directx9 devices created by vvvv (for example through a renderer) or to get notified when a device was created or destroyed. this might come in handy if plugins do some kind of background work using a directx9 device (like texture preloading) and need to know when a device got lost in order to stop all processing scheduled for that device. another future use case would be for some sort of directx9 sink node, like a pipet for example, which needs a device in order to be able to evaluate its inputs.

the second interface can be used to get various notifications about all the different stages the main loop goes through when computing one frame. a possible use case could be a custom set of classes/nodes running in some kind of special "subgraph".

both can either be imported or retrieved via two new properties on the IHDEHost.

Elias, Monday, Jul 23rd 2012 Digg | Tweet | Delicious 5 comments  
elliotwoods 06/07/2013 - 12:10

Can you confirm whether the events are fired before or after or unknown?
i.e. OnRender occurs after all textures are rendered? or before?

To note (for others), the way to get these is to use:

[Import]
IHDEHost FHDEHost;

but then you can't use FHDEHost in your constructor

so inherit

IPartImportsSatisfiedNotification

and start using them like:

public void OnImportsSatisfied()
{
    FHDEHost.MainLoop.OnPresent += MainLoop_Present;
    FHDEHost.MainLoop.OnRender += MainLoop_OnRender;
}
elio 29/07/2013 - 16:14
elliotwoods said
Can you confirm whether the events are fired before or after or unknown?
i.e. OnRender occurs after all textures are rendered? or before?

Me too, I'm interested in when ecactly the events are fired. I hope that this could help me with shared texture read/write synchronisation.

microdee 22/11/2014 - 05:59

Just to clarify: which event the Evaluate() of IPluginEvaluate is invoked on?

Elias 24/11/2014 - 23:48

Well all nodes which need to be evaluated every frame (auto evaluate = true) are subscribed to the prepare graph event. The evaluation of their inputs leads to further evaluation calls on nodes upstream.

  • 1

anonymous user login

Shoutbox

~3d ago

fleg: This Tuesday, Cologne: exhibition opening of "interwoven", textile disinformation patterns created with vvvv. https://fleg.de/news/exhibition-interwoven

~16d ago

manuelgonzalvez: Assimp nodes all broken afted Win Update w/exception "COM object that has been separated from its underlying RCW(...)"

~16d ago

manuelgonzalvez: @levi thanks would love to! anyway managed to get something similar working based on forum search and anthokio's patches.

~17d ago

levi: @ravasquez thanks. 31.2 x86 verrion worked. @manuelgonzalvez i have a dx11 projectTexture if u a want.

~18d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~18d ago

manuelgonzalvez: Anyone has a dx11 port of "projectedTexture" dx9 fx for projection mapping?

~18d ago

ravazquez: @levi not sure bout the ImagePack, but I believe VL.OpenCV should give you the same tools and should work with beta just fine

~19d ago

levi: anyone knows of a VVVVpacks.image that works for elliot's projector calibration patches?x64,dx11. always crashes v4 on solve.

~25d ago

Lorenz: VJing with GIFS: https://lorenzpotthast.de/gifjockey/ A fun little side project, that I first prototyped in v4 and now turned web-based ;)

~1mth ago

schlonzo: finally fixed in 4.8 nice1