Categories: MSDN / DotNet / Java / Scripts / Linux / PHP Ask - La ask - La Answer

How is DirectX/DirectShow included in .NET?

Hi,

I would like to know how game and video editing software architecture should
look like in .NET:

Is there still DirectX, and DirectShow?
Or, are these techniques outdated now and replaced by something new?

Is there a chance to have quick direct access to graphic card, MPEG-decoders,
DVD/CD-drives, but still produce extremely portable code, that may even work
on Unix/Linux/MacOS X, e.g.?

Is for time-critical software like games C# worth to be considered or will
c++ be the language of choice?

How are the chances for CLR on unix platforms?

Thank you for all hints/ideas!

Chris
[665 byte] By [Chris] at [2007-11-9 18:21:23]
# 1 Re: How is DirectX/DirectShow included in .NET?
> Is there still DirectX, and DirectShow?
> Or, are these techniques outdated now and replaced by something new?

As DirectX / DirectShow are COM servers, there shouldn't be any problem
using them from C#.
DirectX is at the heart of X-Box so it's far from outdated.

> Is there a chance to have quick direct access to graphic card,
MPEG-decoders,
> DVD/CD-drives, but still produce extremely portable code, that may even
work
> on Unix/Linux/MacOS X, e.g.?

OpenGL is your best bet for cross-platform 2d/3d gfx. You will have to
contend with driver issues & non-standard extensions though. Don't know
about the other APIs though.

> Is for time-critical software like games C# worth to be considered or will
> c++ be the language of choice?

Almost all games are currently C/C++. I don't expect this to change quickly.
Portability is a big issue for some (console ports etc) so this will stop
many using anything ' .NET'

On the other hand, games are very 'hotspot-y' (small %age of performance
critical code), and much of a games code is not performance critical.
(especially with hardware 3D renderers).
Many games now have embedded scripting engines (not as fast but more
productive) which demonstrates this point.
Tool development is another candidate area for using more productive
languages in games development..

In summary:
-For NET platforms *only*, I'd say C# / DirectX could take you along way
(maybe with critical routines rewritten in C/C++ after profiling).
-For cross platform forget it.
-For Win32 hosted custom tools, its well woth a look.

hope this is useful!

-Ian

"Chris" <christofh@gmx.net> wrote in message news:3992fc28@news.dev-archive.com...
>
> Hi,
>
> I would like to know how game and video editing software architecture
should
> look like in .NET:
>
> Is there still DirectX, and DirectShow?
> Or, are these techniques outdated now and replaced by something new?
>
> Is there a chance to have quick direct access to graphic card,
MPEG-decoders,
> DVD/CD-drives, but still produce extremely portable code, that may even
work
> on Unix/Linux/MacOS X, e.g.?
>
> Is for time-critical software like games C# worth to be considered or will
> c++ be the language of choice?
>
> How are the chances for CLR on unix platforms?
>
> Thank you for all hints/ideas!
>
> Chris
Ian Tory at 2007-11-11 22:29:25 >
# 2 Re: How is DirectX/DirectShow included in .NET?
> DirectX is at the heart of X-Box so it's far from outdated.

Yup. Microsoft's Train Simulator
http://communities.msn.com/TrainSimulatorFanSite that will be released in
"spring 2001" is done in Visual C++ and not ".NET." This is one of the best
DirectX games I've seen.

Why didn't they use Visual Studio.NET? Well, their engineers said ".NET
isn't out yet." But they probably will have the same concerns as mentioned
on this newsgroup (performance, portability, etc).

Train Simulator is cool, by the way, but the most glaring feature that's
missing is interactivity with other players. Maybe version 2.0 could be
rewritten in ".NET" and those features added.

Robert Scoble
http://www.vslive.com <<-- The Fall's Largest Visual Studio Conference

###
Robert Scoble at 2007-11-11 22:30:29 >