FX (effect) files for B3D?

Blitz3D Forums/Blitz3D Programming/FX (effect) files for B3D?

Captain Wicker (crazy hillbilly)(Posted 2011) [#1]
Hello,
I was wondering if there is anyway to use .FX files with Blitz3D. Any advice at all would be great. Would I need to get some type of external DLL file? Where can I find a FX loader add on type thing for this?

Thanks in Advance,
Cpt. Wicker


Yasha(Posted 2011) [#2]
Assuming you mean shaders written in HLSL, then no.

Blitz3D's 3D engine uses DirectX7, which doesn't support shaders, and it's not possible to add shaders. You'd need to replace the 3D engine for this.

Last edited 2011


Captain Wicker (crazy hillbilly)(Posted 2011) [#3]
Well that stinks..... :(
What about FX files like in DBPro and Unity3D. I don't think I mentioned shaders. When I export an effect from 3DS Max or Maya, can I load an effect file with that or does the answer remain the same?

You'd need to replace the 3D engine for this.

EDIT: Can you replace or edit it?

Thanks,
Cpt. Wicker

Last edited 2011

Last edited 2011


Yasha(Posted 2011) [#4]
What about FX files like in DBPro and Unity3D. I don't think I mentioned shaders. When I export an effect from 3DS Max or Maya, can I load an effect file with that or does the answer remain the same?


While I don't use any of those products myself, a quick search leads me to think that FX files in those contexts also mean DirectX Effects, and therefore are still shader-based.

(Aside note: these days, pretty much everything is shader-based as the assumption is that your graphics card can use them; therefore, there's no reason not to. Shaders are really the only sensible way to describe "effects" anyway.)

Can you replace or edit it?


Editing the engine is a no, because it's not open-source. It has been extended in limited ways by a few enterprising chaps like MikhailV with his FastLibs, but it's still not possible to add shaders to it. (FastExtension does have some cool effects of its own though - may be worth a look).

Replacing the engine is possible, but it is a very big deal. 90% of the Blitz3D "product" is the 3D engine; if you replace that, all you have is a nonstandard BASIC compiler. You can however use any standard 3D engine with it as long as there's a suitable interface for the DLL.

Xors3D is the popular one; Leadwerks should also work; and there's also SoftPixelEngine and a few others floating around. You should understand using DLLs with Blitz3D, and have a good idea of where the language ends and the engine begins, before you do this (Xors3D will probably have instructions, as being a B3D-replacement is a lot of its selling point).


Captain Wicker (crazy hillbilly)(Posted 2011) [#5]
Well thanks anyway. :)