Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

What is the easiest/best way to develop 3D graphics in C#

Posted on 2004-11-21
13
Medium Priority
?
479 Views
Last Modified: 2008-01-09
My requirements:
--The program must be able to visually rotate a figure to veiw all possible angles of
   the displayed 3-D structure by clicking on the figure and draging it
--The program must be able to read in a complex 3-D figure and try to
   associate (as close as possible) that figure with some common shapes in a database that I would create (such as
   cylinder, cube,  cone, boxes, sphere, etc.) so that I can calculate
   the volume of the 3-D figure by calculating the volume of the shape that resemble the
   complex 3-D figure

If possible, I would like to avoid the complexity of getting into graphics that require manipulating C++ code
0
Comment
Question by:VWrestle97
  • 6
  • 5
  • 2
13 Comments
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 12640532
Hello

  There are many 3D engine that help you to do and more complex 3d graphics and games, here some of them

http://www.3dstate.com/
http://axiomengine.sourceforge.net/
http://www.exocortex.org/3dengine/

also you could use DirectX 9, which add managed wrapper to allow developing using .net languages without requiring COM InterOp

here's you can download DirectX SDK for C#
http://www.microsoft.com/downloads/details.aspx?FamilyID=592393a7-c677-4023-8b27-94e61141e9c6&displaylang=en

http://www.c-sharpcorner.com/Directx.asp

other way to use OpenGL
http://www.codeproject.com/csharp/SharpGL.asp

this engine based on OpenGL http://www.exocortex.org/3dengine/

HTH
0
 

Author Comment

by:VWrestle97
ID: 12640574
HTH,

From your opinion, which one do you think is the easiest to implement for my purpose?

VWrestle97
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 12640841
it's depend on the complexity

if you would like to build a game or complex 3D graphics, go with engines, they do many work for you

I think if you go with DirectX track will be good, you can read the SDK documentation to help you, and you can find few C# books for DirectX in amazon

OpenGL is widely used for 3D games and applications, but most of code you will see is c++
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:VWrestle97
ID: 12641456
HTH,

If I use DirectX, do you know if the level of complexity is the same as OpenGL, that is if I wanted to visually rotate simple figures (consisting of bundled 3D cylinders, cubes, cones, boxes, and spheres) by clicking on the figure and draging the mouse?

Also, if I did choose OpenGL, does that mean that I still would have to understand pointer?

VWrestle97
0
 
LVL 18

Expert Comment

by:armoghan
ID: 12642602
Here are few artciles on what can be done using DIrectX and C#
http://www.c-sharpcorner.com/Directx.asp
0
 
LVL 18

Expert Comment

by:armoghan
ID: 12642608
Sorry.........
the link has already been given
0
 
LVL 22

Accepted Solution

by:
Mohammed Nasman earned 1000 total points
ID: 12642618
Hello

 I think going with DirectX is easier track, specially it doesn't support only graphics, but sound, inputs and more
you can start with simple tutorials, once you learnd how to do simple things in c#, then you can read anybook about directX for more advanced things, you can start with these site to learn from start

http://users.pandora.be/riemer/
http://www.gotdotnet.com/team/directx/learn/
http://www.c-sharpcorner.com/directx.asp
http://www.winternet.com/~wingnut/html/mokk.htm
http://www.drunkenhyena.com/cgi-bin/dx9.pl


  Here's a comment I saw in the newsgroups about DirectX and OpenGl
"Direct 3D is an object orientated 3d graphics library.  OpenGL is a
structured ("C style") API.  They both have their own pros and cons.  Most
people will choose OpenGL because it is available on non-Microsoft
platforms.  The other people will choose Direct X (Not just Direct3D)
because they are only interested in Windows and DirectX is a "gaming SDK"
(sound, video, input, etc...) where OpenGL is just a "graphics SDK".
DirectX is built upon COM and OpenGL is built upon plain old C code.  Since
you are a C# developer you can get up and going with DirectX much quicker
than OpenGL.  Microsoft has recently released a managed DirectX 9 which can
be used in C# without all of the COM interop stuff.  AFAIK the only support
for OpenGL in C# is all third party and involves extensive use of P/Invoke
to call the OpenGL.dll API calls.  I gave you all of the info I have on the
two technologies.  Which one is better (for your needs) is up to you to
decide.  You can search Google for more arguments like this - I'm sure you
aren't the first who tried to compare the two technologies."
====

Regards
0
 

Author Comment

by:VWrestle97
ID: 12690137
mnasman,

Great stuff, but I was also wanted to know more about skinned meshes.  
how they are generated and exported using Maya or 3D-Studio-Max.
how they are imported and how the scaling, global locations and rotations are manipulated in C# and in Direct3D.

p.s.  I know that I am asking a lot, which is why I plan on increasing the points

thanks,

VWrestle97
0
 

Author Comment

by:VWrestle97
ID: 12690193
oh.. and you give me those examples in managed DirectX code..

VWrestle97
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 12695050
VWrestle97

I gave you mosted of example for C#
if you would C++ and unmanaged code, I can give a lot more

I'm nto familiar with Maya or 3DS and not a good in game and graphics programming

also it's better to ask only one question per a thread and give low points for each
better than to ask many with high points in single thread, this will prevent many of experts who can help in some question to answer you

0
 

Author Comment

by:VWrestle97
ID: 12701541
>> unmanaged code

does that mean that I would not need to know C++, but instead focus on C# when dealing with DirectX?
0
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 12703605
yes

you can develop using C# only without needing the C++, you can also write managed code using C++ but still not easy like C#

what you need now developing using C# with managed directx 9
0
 

Author Comment

by:VWrestle97
ID: 12712843
mnasman,

what happened to this webpage... there are not links to a tutorial.?

http://www.winternet.com/~wingnut/html/mokk.htm
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …
Is your OST file inaccessible, Need to transfer OST file from one computer to another? Want to convert OST file to PST? If the answer to any of the above question is yes, then look no further. With the help of Stellar OST to PST Converter, you can e…
Suggested Courses

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question