[sldev] DirectX - feasible to replace?

Soft soft at lindenlab.com
Sat Jan 31 11:29:54 PST 2009


On Sat, Jan 31, 2009 at 12:59 PM, Gareth Nelson <gareth at garethnelson.com> wrote:
>>> DirectX comes into play for hardware detection. OpenGL doesn't give all the
>>> informations DirectX can give. That's what I heard so far.
> I'm going to be controversial here by asking "is that info really
> required when users can scale down their quality settings manually?"

It's a good idea if you'll be doing support. If you assume a user base
 that's ready to experiment before calling on your time, it's not a
huge deal.


>> For Windows, DirectX works better than OpenGL for most lower end
>> chipsets. That's gradually changing, but for now, adding a DirectX
>> back end would add benefit for a couple years. A quick and dirty
>> substitution hack is feasible for someone who knows both rendering
>> subsystems well, but it would take quite a few eyes on it over many
>> releases to iron out all the eccentricities DX would introduce.
> Which chipsets in particular? The 2 big names (ATI and NVidia) do
> quite well in OpenGL on all platforms.

ATI's lower end chipsets do far better with DirectX. AFAIK, all Intel
chips do better and that userbase is HUGE.


>> The better solution is to rework SL to replace all OpenGL use with a
>> retargetable engine like Ogre, which can speak GL, DX, and god knows
>> what else. At least one viewer project's working with Ogre. However
>> when last I looked, they only seemed to be using it to add features,
>> running it in parallel with the built in rendering instead of trying
>> to excise the OpenGL calls.
> What is this other viewer? RealXtend?

Yes.


> The reason i'm asking about this is because i'm fiddling with my
> cross-platform build right now and honestly dreading having to fiddle
> with the DirectX SDK. My first thought is to just cut out all DirectX
> use (from a first glance there's a bit of sound code which appears to
> be now replaced by OpenAL and the hardware detection at startup) and
> replace it. I actually couldn't find where the 3D rendering is done by
> DirectX, so perhaps i'm missing something obvious.

You could trivially remove DirectX. I believe there's some joystick
use you would need to excise as well. If you aren't hesitant to start
with Visual Studio and work your way free of it, you could just remove
the DXSDK from the include paths and see what breaks.


More information about the SLDev mailing list