Forum

Can i get output pins on shader effects?

hi,

is it possible to define ouput pins in hlsl language (EX.9 effects node) ?

… to do anything you want with hlsl …

nope. HLSL is build as a one way street, and is really focussed on calculating vertices of triangles in the first step and making screen pixels out of triangles in the second step.

Currently there is no way in HLSL that results in anything else than coloring pixels on a screen. Actually, thats why graphic cards do have their blazing speed - even hardware wise there is not much between the processor in the card and the vga plug on the back. No slow busses, no slow memory, no bulky agp connectors, very short cables and wide busses. and no operating systems doing its own thing.

Pumping data back from the card to the cpu is most likely to be much slower than doing anything on the cpu in the first place. So for most problems you would be much faster using your good old cpu, instead of shoveling data over slow busses around in your computer just to do the same calculations elsewhere.

Actually there are some problems in real world which can be mapped quite nicely to modern gpus - Audio impulse response reverb may currently be the most striking example BionicFX claims to have developed a reverb plugin which uses the gpu to do the immense calculations needed for the impulse response convolution. but simply speaking they are just converting audio to a texture, render it with effects to a hidden screen buffer and copy the resulting bitmap back to the cpu, which in tun translates it back into sound…

hi mr. oschatz,

sorry the post was mine and of course i know that bionicFX plugin …

thats a pity, so i cant define my own variables and output them …

the thing i was thinking about, was that easy textprogramming window poping up by rightclick and inviting me to write some for/while loops to create spreads or something and compiling this into fast native code to process it every frame. to use the gpu was not the main thing.