PDA

View Full Version : VIPER - Multithread + More



RedBull
02-19-2006, 04:39 PM
One of my favourite features that came in LW, 6+ was Viper.....
When was the last time Viper recieved any love and attention....?
Well i do remember that LW8.3 added a new Mosaic mode (kinda Fprimish)
which i really like.......

But honestly with all this talk of NT wanting to improve their own renderer,
Why the **** in multiple full version upgrades has Viper not been improved in anyway?
FPrime made me forget Viper somewhat.....but because NT have not allowed FPrime to grow and support Skytracer and Taiki, and others, i still find i need to use Viper a lot......

1) - MultiThreading - If LW's renderer can be Multithreaded, than Viper should be too.... I'm amazed this has never been done, and would double the speed of my viper previews. PLEASE!!!! It is fairly sad that i can often do a small 320x240 multithreaded test render, faster than i can do the Viper crap preview one. It kind of shows the lack of advacenment that Viper has shown, and it's uselessness.

2) Auto Update - Again like FPrime i would like to move my timeslider
from frame 5 to frame 150, and have Viper automatically renderer the new frame, without a need to press Render, every time.....
(FPrime does a hook to the surface editor, to make sure it refreshes automatically) Viper will update surface information, but not movement. Note this should be a button i can switch on and off -

3) Possibly the abilty to use larger resolutions than 640x480..... (How about custom res)

4)Viper speed improvements - If Fprime can everything so fast, Viper could do a lot better than it currently does, considering the advantages it contains due to intergration... And how the LW Renderer is 2.5 times faster, i'd like to see Viper 5 times faster.....

Lightwolf
02-19-2006, 05:21 PM
Hi Redbull...

1+3 I'd love to see as well... and they should not be as hard to do as...

2+4 would basically mean NT should code their own FPrime:

2) That would basically mean a re-write of Viper, which currently seems to cache buffers created by LW during renders and uses those to mimc the actual rendering process.

4) I guess the same goes here as well. Also LW can't raytrace if it has not started a proper render... FPrime cheats a lot.

The last two would be likely to result in a fairly huge core change of LW if done properly.

Cheers,
Mike

RedBull
02-19-2006, 06:53 PM
Hey Mike...

Yeah i figure with most new PC's being dual or quadcores...
Viper really should be multithreaded by now.

Because the LW Renderer is getting faster and is MT, yet Viper is not
i'm starting to think at 640x480 or larger, LW's renderer can just about outpace it's own previewer Viper..... Which defeats the purpose really.

XSI's MR Render Region, is what i would like Viper to become, but yes
this would need a major rewrite... (not going to happen)
But i think if NT have said they want to concentrate on their own renderer,
rather than helping third party engines like Kray and Fprime...
Maybe they should start updating Viper to be more like FPrime, or XSI's MR Region tool.

In regards to the Auto Update option.....
I'm not sure this would require a rewrite, as i said there are ways of using
surface editor hacks to cause LW to update..... I'm sure it would be fairly easy to achieve.....

I'm sure at the very least you could most likely just add a shortcut key for Vipers Render button, and this would allow me to just tap, say Alt-R to rerender..... Rather than having to hit Viper Render button with my mouse)
As at the moment i can't access these as shortcut keys...

If that were to happen, or a Viper Render command was added to layout...
i could simply write a simple script or plugin myself to do the auto Alt-R, if i had to.....

But as Viper is now i can load a Taiki scene, hit Viper....... Get a preview
move my frameslider from 0 to 160 hit render (in Viper window) get the next preview, move to frame 57 and click the mouse again on viper render....

I should not need to use the mouse to reclick the viper window with my mouse, after moving the slider everytime..... So i don't think a rewrite would be needed, just a shortcut to Viper Render button, Or Viper refresh via the SDK.


Weird though.....

When using Viper on a surface (rather than a volumetric plugin)
you DO have to do an F9 render first (to get the buffers) before a Viper preview will show...... But with surfaces i DON'T have to click Viper Render.
It actually does automatically update surfaces, automatically.....

You can even just click the mouse button, in the Surface Editors preview window, to force Viper to update, i don't need to press Viper render button
like i do with changing frames......

I'm fairly sure Fprime uses a kind of cheat to refresh certain areas, by tying
to the SE Preview, as this i think is the only area of LW, to update always...

So i'm fairly sure it would be fairly easy and possible to do...
Phew! Hope that doesn't confuse people too much..... :)