Advertisement

3D Graphics with C#

Started by August 23, 2014 03:50 PM
2 comments, last by Freeky 10 years, 5 months ago

Hi,

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!

Freek

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

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Advertisement

You can use OpenTK for C#, it might even be what 3ddreamer meant with "There is an OpenGL library for 3D but I don't remember what it is called".

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

This topic is closed to new replies.

Advertisement