is it easy ?

like I do in 2D games programming, I would appreciate that 3D programming would be easy like:


Model myModel = new Model ("models/spaceship.obj");
myModel.setScale(some scaling parameters); //or maybe just one...
myModel.setRotation(x,y,z);
myModel.setPosition(x,y,z);
...

in a render method:

drawModel(myModel);

and some calculation methods for all I care…

If it would be like this or at least like C# XNA…
or are there some other free to use 3Djava engines which are easy to use ?

so I heard jME is pretty easy, how easy exactly

[quote]so I heard jME is pretty easy, how easy exactly
[/quote]
You mean on a scale from 1 to 10? :wink:

The best way to find out is to just give it a try. ‘Easy’ is such a relative term…
For what it’s worth, last time I tried it I got something going pretty quickly.

ya just like, how long, and how much code is it till you can, for instance, load a model file and then rotate it or reposition it for example

I would like to know how this is done in jME before probably wasting my time :smiley:

here you go - load and reposition model like


       // fetch url from somewhere
       URL model=HelloModelLoading.class.getClassLoader().getResource("jmetest/data/model/maggie.obj");

        /*this block is needed for converting from .obj format to .jme (proprietary binary format - in a mature app you would have .jme already*/ 
        FormatConverter converter=new ObjToJme();
        // Point the converter to where it will find the .mtl file from
        converter.setProperty("mtllib",model);

        // This byte array will hold my .jme file
        ByteArrayOutputStream BO=new ByteArrayOutputStream();
        // Use the format converter to convert .obj to .jme
        converter.convert(model.openStream(), BO);
        /* finished conversion*/

        // load model into scene
        Node maggie=(Node)BinaryImporter.getInstance().load(new ByteArrayInputStream(BO.toByteArray()));
        // shrink this baby down some
        maggie.setLocalScale(.1f);
        // repositionig
        maggier.setLocalTranslation(new Vector3f(20, 10, 4));

(see full code in HelloModelLoading.java)

I’m not sure that this is representative for jME’s “easiness”, tho

Post/Read over at the jME boards to get opinions from jME’s users

The only way to know is to try it out for yourself. What may be easy for one person another can find hard. There are plenty of quick tutorials for jME on the WiKi. After you have tried them all, then you can decide for yourself. It is hardly a waste of time to investigate and learn a new technology, even if you don’t end up using it.

It’s easier than wrestling a bear, that’s for sure.

I totally disagree :). I’m sure it’s OK for you, but you obviously have more time to spare / place a lower price on your time than some of us. Even a half complete evaluation of a new simple engine takes several days - anything less and you might as well just read some ranter’s random blog entry about how much it sucks, and believe everything you read. IME, no evaluation that produces meaningful results can be done in a non-trivial amount of time.

For instance, it took me two days to evaluate Slick, and even then there was quite a lot of stuff I was unhappy about and it wasn’t until the end of the third day that I had a good idea whether the whole library was useable, whether it would work in the various projects I was considering it for, and how it compared to the alternatives. And that’s for a relatively tiny library.

And … thanks to irrisor for posting that code snippet. As a non-user, you never know which tutorials and code examples “still work” and/or “are how you are supposed to do it in the latest version of the library”, even with commercial engines, let alone with open-source ones.

[quote]I totally disagree Smiley. I’m sure it’s OK for you, but you obviously have more time to spare / place a lower price on your time than some of us. Even a half complete evaluation of a new simple engine takes several days - anything less and you might as well just read some ranter’s random blog entry about how much it sucks, and believe everything you read. IME, no evaluation that produces meaningful results can be done in a non-trivial amount of time.
[/quote]
This really isn’t about doing a prof. evaluation of a 3D engine; the o.p. wanted to know ‘how easy exactly’. No evaluation can give him an exact answer to that, unless he’s satisfied with the answer ‘42’.
So I totally agree with CaptainJester :slight_smile: He just has to invest a little time to get an idea what jME is about and how it works. Doing professional evaluations of 3D engines will come later when he’s learned enough to call himself a professional 3D games developer.

I agree with erikd and I think it is not only a question of understanding the API of JME but also the concepts behind it. Using JME is easier than writing his own engine but it requires to understand the general way of how graphics in 3D work, some maths behind them… For example, having a good level in maths allows to find an efficient workaround about the problem of gimbal lock whereas plenty of websites suggest wrong solutions (to sum up : I use the non eulerian transforms and the quaternions, the both are required whereas many websites tell that only the quaternions solve this problem). If you want to have only a superficial knowledge to use JME, you will have some problems when it becomes more complicated.

Model myModel = new Model ("models/spaceship.obj");
myModel.setScale(some scaling parameters); //or maybe just one...
myModel.setRotation(x,y,z);
myModel.setPosition(x,y,z);
...

in a render method:

drawModel(myModel);

basically it is working like this in 3DzzD ;), (for now it offer less possibility than other engine as it is more designed as an API with given entry point), have a look to the tutorial on the main page http://dzzd.net :slight_smile:

sad that 3DzzD is closed source and has so many restrictions :-/

Yup,

There is a big lack on tutorials and samples, they are not as much restriction as it seems, but documentation is missing.

Our goal is to provide something as simple as possible for programmers or even for people who dont know anything on programming, but we plan to also release it as an half-opensource for people who wanted to make customisations or improvments.

But it is firstly intended to be used as an API that ensure you to display 3D as you request, without worring about CPU,GPU,JVM of users.

Anyways this project is still in development and not finished yet :frowning: but we are working hard on it :slight_smile:

What restrictions do you exactly mean?