Page 1 of 1

engine capabilites

Posted: 2010-03-09, 15:52
by shadmar
Hi

I'm currently working with 3drad the last 2 years but for me to complete my projects I've come as far I can go. So I'm basicly looking for something to fill in my gaps, and Cafu might be it. :)

Sorry if this is already been asked, but here we go :

1. Can I apply my own HLSL shaders ? (Never tried writing GLSL) ?
2. In 3drad my biggest issue is LOD, is it possible to create an entire planet using the SOAR method in Cafu? (i'm kind of looking for seamless infinte terrains and a nice space to planet surface transition, or not doable at all ?
3. Can I instance meshes and clone imposters of skinmeshes runtime on events/triggers or similar scripted method.

thanks for reading :)

Re: engine capabilites

Posted: 2010-03-10, 00:59
by Carsten
Dear shadmar,
welcome to the Cafu forums! :welcome:
1. Can I apply my own HLSL shaders ? (Never tried writing GLSL) ?
Currently not. This requires a DirectX renderer to be implemented first. We've applied for becoming a mentor organization at the GSoC 2010, and hope that we get accepted and a student picks a DirectX 11 renderer as his/hers favorite project, see our GSoC 2010 projects list for details.

Should we not get accepted or if nobody wants to implement a DX11 renderer, we'll eventually do it ourselves, but it might take longer. Of course it would be wonderful if you wrote it - I'd be happy to assist and help you in any way I can.

Until then, the only alternative is ARB vertex and fragment program shaders and/or NVidia Cg shaders (very similar to GLSL).
2. In 3drad my biggest issue is LOD, is it possible to create an entire planet using the SOAR method in Cafu? (i'm kind of looking for seamless infinte terrains and a nice space to planet surface transition, or not doable at all ?
Not out of the box. I'm quite confident that the SOAR algorithm can also deal with vertices that form an arbitrary mesh (in fact, the implementation in Cafu should easily be able to deal with arbitrary shapes like spheres), but either way it requires custom coding. As before, you're very much welcome to implement it.
3. Can I instance meshes and clone imposters of skinmeshes runtime on events/triggers or similar scripted method.
I'm not quite sure if I fully understand the question, but yes, something like that currently happens when a human player is killed during a DeathMach game: The player character is replaced with a new entity the represents the dead body.

Re: engine capabilites

Posted: 2010-03-10, 23:56
by shadmar
First thanks for the answers.

1. Dx11 sounds exciting, however the shaders i got are mostly SM2.0 shaders for slope based blended terrain texturing (I have my own tool for terrain shading). I recon a conversion wouldn't be too complicated. It's just syntax from what I can tell.

2. I might give this a shot, but I'm currently reviewing 1 other engine. I will also play around in Cafu. My main problem is time (so say we all?) so I'm looking for the best engine to progress in. I'm used to 3drad, point&click and alot of angelscripts. :) I've also done several mods for Wow in lua. As for c++ i've not done anything productive for the 10 last years, so you could call me rusty.

3. Imposter is really a term from 3drad, you take one mesh and create 100 or 1000 hiddden copies on different locations/orientations and show/hide/move them as you like, also it would be shaded as it's parent. Perfect for asteroid fields per say.

Anyway thanks for reading all my stuff on an another engine, I am sorry for that. ;)
Now I'll have peek in Cafu.

Re: engine capabilites

Posted: 2010-03-11, 12:19
by Carsten
Hi shadmar,

thanks for the information!
If you have any other questions, please let us know. :up:
If you find something in the other engine that Cafu hasn't but you think it should have, I'd be interested in learning as well - at least we can put it into our TODO list / roadmap, or maybe even implement it in time.