Skip to main content
gamedev.net
🔒 Locked

C# and 3D programming

Started by rodras26 3 replies 650+ views
Original Post
rodras26
rodras26
Hi there, I need some help figuring out about C# 3D capabilities... What I already know is that using DirectX I''ll never get good 3D graphics interaction to work cause I haven''t found any good book ( have you read the book reviews ??) about directX with C#. the microsoft site only has help liberaries for directX 9.0 for C++...and the tutorials I´ve found are very basic...( I need mouse interaction for example). Although, I''ve found CSgl liberary for C# witch is a wrapper for Opengl, and has all the opengl functions!! I''ve read some faqs that point that C++ is much faster than C# for 3D aplications... Please tell me your opinions!! tanks
MichaelT
MichaelT
Does performance really matter at this point?

I think you should just go about learning opengl first and later when you have more experience worry about performance.

C# will suit you just fine for now.

/Michael

add:

The c# tutorials in dx9 will help you out in the beginning.
Study them carefully. Unless you go for OpenGL that is
A simple google should point you in the right direction.

____________________________________________________________
Try RealityRift at www.planetrift.com
Feel free to comment, object, laugh at or agree to this. I won't engage in flaming because of what I have said.
I could be wrong or right but the ideas are mine.




[edited by - MichaelT on September 29, 2003 6:04:42 AM]
No no no no! :)
rodras26
rodras26

Thanks for the reply, but I''m already a C++ Opengl prog., and I need to know if I can rely on C# as my future graphical language....I''ve already developed and tridimensional geometry shaping aplication in C# and OpenGL, wich isnt very fast, and of course I have doubts if I should go on with it...
As for the tutorials of C#...they''re not enough when you want to know what those each function do and there isn´t NOTHING that I´ve found in thw web that could teach me about directX 9.0 in C# ( the books are crap!).

tmiller
tmiller
My book covers the Direct3D API in Managed DirectX quite extensively. 75% of the book is dedicated to it. All of the reviews have been 5 stars.

You can find out more information here.
http://www.amazon.com/exec/obidos/tg/detail/-/0672325969

(Oh, and i wouldn't classify C++ as 'much faster' than C#)

- Tom Miller, Managed DirectX
This posting is provided "AS IS" with no warranties, and confers no rights.

[edited by - tmiller on November 20, 2003 2:26:53 AM]
http://www.amazon.com/exec/obidos/tg/detail/-/0672325969- Tom Miller, Managed DirectXThis posting is provided "AS IS" with no warranties, and confers no rights.
Fidelio66
Fidelio66
C# is about 5%/10% slower when executing ordinary code. When running a .net program which has a lot of controls on the screen it feels slow, especially when repainting the screen. But when you use directx this doesn't apply, as you don't do any GDI work, but just create a window, create a device that renders to that window and not much else.

And, in DirectX programming most of the work is done by the card, and performance depends on delays in the interface between the pc and the card. For example if you lock a vertexbuffer 100x per frame, or use many small vertexbuffers. This is independent of the language. So I would say that especially for DirectX C# could be a good choice, as the managed directx interface is so much simpler and more pleasant to work with, and the performance would normally be the same.

Oh yes, if you go to articles/resources, directx and general, there is a managed directx tutorial with about 15 lessons. I found them very good, the code is very readable and it shows how simple it is. For lack of documentation, remember that directx for c# is called managed directx. The documentation is available on the MSN site and in the SDK, if you use the summer update (latest one).

[edited by - Fidelio66 on November 20, 2003 6:23:18 AM]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.