Jump to content
  • Advertisement
Sign in to follow this  

3D Graphics with C#

This topic is 1423 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts



I want to make a game with simple 3D Graphics in C#. With simple I mean that the graphics will only cosist of basic shapes with a texture and that I don't need to load models, nor do I need fancy effects.


I have made 2d games with C# before using the built-in Graphics class. I've also made 3D games with Java and OpenGL (With the LWJGL).


Now my question is: What kind of library should I use?


I'm not sure if I want to use OpenGL or DirectX. DirectX seems to be the most commonly used with C# but I happen to have experience with OpenGL so that might be a good choise too.


I'd like it to be easy to set-up, and not way too difficult to use. I've found a tutorial series for OpenGL and C# where you had to write your own shaders, and that's not what I'm planning to do. I don't need to have maximum control about everything, I'd rather have it a little bit abtracted.


I head they stopped updating XNA some time ago, so I guess that one is outdated and I read that it's difficult to set it up for 3D.


Thanks in advance!



Share this post

Link to post
Share on other sites

Stay with OpenGL for quite a while since you are on your way with it already. That's called, "Staying on track."  smile.png


OpenGL 3.3 or 3.4 works on all the computers that matter.  A small percentage will have issues with it, but they probably have a pirated version of an OS or need updates.  If everything is normal, 3.3 or 3.4 is the best of OpenGL to target the most machines at this time, in my humble opinion.


Khronos is working on the next generation of OpenGL which I expect to be available in bug-fixed versions in 2016. This is a great time to learn OpenGL and get your own personal bugs resolved before the next gen GL is released.  That gives you a year or more which is perfect timing.


The C# is a great general purpose language.  Once the next gen GL is here, then you will be able to use C# with OpenGL for better optimization than was available in GL in older versions. It is promising to make alternative languages more accessible to threading and other performance issues, while streamlining the development process a bit.  I'm excited about it if Khronos can actually deliver something that gives worthiness to the level of other APIs next generation. 


There is an OpenGL library for 3D but I don't remember what it is called.  It would allow you to have some of the coding for low level accessibility already written for you, so you focus on coding the object.


By the way, if this is just a hobby or for learning reasons, then wonderful!  If you intend to make a living in game development long term, then it would be best to not try to reinvent the wheel but instead choose a good game engine and starting making games instead of wrestling with the low level "brick by brick" stuff.


Anyway, have fun with it.  smile.png

Edited by 3Ddreamer

Share this post

Link to post
Share on other sites

I do this for fun and practice, and as a nice change on Unity3D which I use for school. 


I'll stick to OpenGL for then, and I'm going to check out OpenTK now!


Thank you

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!