Best languages/tools for simple 3D graphics?

Started by
4 comments, last by minibutmany 9 years, 8 months ago

Hey,

I'm currently planning on writing a program -- not really a game per se, more of an artificial intelligence experiment -- but nonetheless I want to be able to visualize the data generated by the program in (simple) 3D graphics.

I need to learn a new language for this project, because it's been years since I did any programming, and I'm not familiar with any relevant languages right now.

Based on my research, C# and Python look like appealing choices, for the simplicity of the languages. I want something that will be easy to learn, so I can hit the ground running. Does one language have better support for 3D graphics than the other?

Performance is also a consideration, because there will probably be a fairly heavy amount of math happening, due to real-time physics simulations.

Thoughts? Suggestions?

Advertisement

I find Ogre3D to be quite easy to use. It's for C++, but I believe they have a C# port.

Python rasterized or rendered (two different methods) to screen thru Blender would probably be the most productive.

Either Python or C# is basically newber friendly.

OpenGL or Direct3D are APIs that take time to learn in order to display 3D to screen, but if you are willing to turn your "experiment" into a dedicated hobby more long term, then you will get nice results.

There really is no quick and easy way for a beginner to make a complex coding which displays a 3D object to screen, unless you are talking extremely simple coding and object. There are some tutorials online about making console applications which are generally the simplest coding to do the job. We are not talking applications for video game consoles but console applications that use the very basic computer functions underneath to do what you want. You need to literally start much simpler than 3D and work with 2D for a while. Start with "Hello World" console application and build on that.

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

Python rasterized or rendered (two different methods) to screen thru Blender would probably be the most productive.

Either Python or C# is basically newber friendly.

OpenGL or Direct3D are APIs that take time to learn in order to display 3D to screen, but if you are willing to turn your "experiment" into a dedicated hobby more long term, then you will get nice results.

There really is no quick and easy way for a beginner to make a complex coding which displays a 3D object to screen, unless you are talking extremely simple coding and object. There are some tutorials online about making console applications which are generally the simplest coding to do the job. We are not talking applications for video game consoles but console applications that use the very basic computer functions underneath to do what you want. You need to literally start much simpler than 3D and work with 2D for a while. Start with "Hello World" console application and build on that.

Thanks for the info! So, your recommendation, regardless of my chosen language, is to start with creating 2D graphics before moving on to 3D? Years ago I did some simple 2D stuff, like Pong clones etc., so I'm not completely unfamiliar. Is the programming involved in 3D much more complex than 2D?

Also, I'm a little confused about your mention of console applications. According to a quick Google search, console applications are text-only, so they would not be relevant to my purposes, correct?

Start with console applications. In that sense they are relevant to your goals. Text leads to 2D objects which leads to 3D. Trying to skip stages always results in knowledge and understanding missed, often with spaghetti coding as the result. Trust me - you do not want to try to debug mangled coding.

After you get some console applications done, then consider a game engine or code more directly thru an API, OpenGL or Direct3D. You can code for 2D even with a 3D development framework.

I really do not know what you are trying to achieve with your "experiment", but you need to follow some course or tutorials and expect to learn more than you thought that you would need. If you are trying to reinvent the wheel, then don't. All the coding for 3D has been created in libraries from many developers. You will not likely match them in quality of coding.

Is the programming involved in 3D much more complex than 2D?

Yes - generally it is more complex. The 3D puts even more demand for object oriented programming. Some tutorials walk the pupil from 2D to 3D, so after you choose a language then try to find a tutorial like that.

For you to make 2D or 3D software coded from scratch will be much harder than using an existing game engine to import a 3D object and display it to screen. Game engines come with all or most of the coding libraries needed. In that case, you would choose the game engine and use the main language for it that is recommended by the developers of the game engine. Next you would make some console applications in that language. After that you would return to the game engine to create coding for 2D and eventually 3D rendering or rasterizing.

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


OpenGL or Direct3D are APIs that take time to learn in order to display 3D to screen, but if you are willing to turn your "experiment" into a dedicated hobby more long term, then you will get nice results.

+1

OpenGL generally gets a bad rap for being difficult to use, but for simple 3D graphics using immediate mode rendering the syntax is not overly complex and allows for lots of flexibility.

Stay gold, Pony Boy.

This topic is closed to new replies.

Advertisement