Alan Simes

I finally got something truly interestnig running in realtime. It's a 100% pure c# 3D rendering which offers some pretty advanced features such as reflectivity, transparency, environemtn maps etc.

http://alansimes.blogdns.net/forums/12/ShowPost.aspx


Feedback greatly appreciated.



Alan


Re: Game Technologies: General 100% pure software 3D rendering with c#

Paul Domag

Hi,

On word. Magnificent... I never knew that Managed DirectX is that powerful...

 

 

cheers,

Paul June A. Domag






Re: Game Technologies: General 100% pure software 3D rendering with c#

Alan Simes

Hi Paul

It's not DirectX, it's a software renderer written entirely in C#, it's only 80k in size.


alan




Re: Game Technologies: General 100% pure software 3D rendering with c#

Paul Domag

Hi,

Ok, I was assuming that he used directx. But I guess he really developed his own rendering engine. It's quite slow on my computer (I think its my graphics card).

Is there a technical article on this I mean a whitepaper that explains how to use it Or better on how it was done

Well, the source code is included though... Nice job...

cheers,

Paul June A. Domag






Re: Game Technologies: General 100% pure software 3D rendering with c#

Alan Simes

Hi Paul

It's all written in C# and only needs a half decent processor, the demos can be made to speed up by reducing the original scene creation size and modifying the controls draw method to use a faster DrawImage call.

Instead of this

Graphics g = e.Graphics;
g.SmoothingMode = Drawing.Drawing2D.SmoothingMode.HighQuality;
g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage(_scene.getImage(), 0, 0, this.Width, this.Height);

I could do this

Graphics
g = e.Graphics;
g.DrawImage(_scene.getImage(), 0, 0, this.Width, this.Height);

Which would have a dramatic impact on slower graphics cards as we are not asking the GDI to perform the interpolation.

I wrote the engine as a demonstration of the capabilities of C#, the 3D pipeline is pretty sophisticated and allows for reflections, transparency, environment maps, per object manipulation as well as a raft of other stuff. I am happy to modify / improve it if there appears to be an interest.

I also wanted to develop a lightweight control that could be used to do simple 3D rendering in Internet Explorer without incurring horrible hardware security exceptions.

The 3D control is JavaScript enable and exposes a reasonable interface as well as being able to import 3D studio files. All file loading, material loading etc is capable of talking uri's as paths.

It's been fascinating.






Re: Game Technologies: General 100% pure software 3D rendering with c#

Nick111

Alan,

Something that works real time with C#, and VB.NET and supports all this: reflectivity, transparency, environment map + more: textures, interactive markers, vector graphics, 3D read out tools and much more can be found here

http://www.sciencegl.com/
gallery
http://www.sciencegl.com/3Dsurf/Shots/screenShots.htm
business visualization
http://www.sciencegl.com/Stock_market/Stock_market.htm

Enjoy good and easy to use 3D graphics.
Thank you for attention

Nick