JME2 Renderer for NiftyGUI

Nice work!

Netbeans can open the maven projects just like that, worx out of the box.

Thanks a lot! I'll try integration today :slight_smile:

Cool. Nifty rulez!

Great work - again, larynx  :smiley:



Checking out 5 libs to try it pretty much sucks tho ^^ This is not your fault but mine, I think :smiley:



I guess we need a Nifty 1.2 Release with the renderer interface changes, so that it would be a lot easier to try the jme2 integration.



And I'd like to see or write a separate jme dedicated example project for the jme2 nifty integration too. So that you don't need to "svn co" all of the nifty examples code but that you'll see a more familiar jme2 example that simply uses nifty for its GUI. I'll contact you about that per email larynx too :slight_smile:



And another question that my mind came up with, is:



Would it be better if the jme2 nifty renderer lives in a jme2 svn repository instead of the nifty repository? Don't get me wrong, I'm perfectly fine with the way it is but maybe this would make things easier or more familar for the jme2 people?



void

void256 said:

Would it be better if the jme2 nifty renderer lives in a jme2 svn repository instead of the nifty repository? Don't get me wrong, I'm perfectly fine with the way it is but maybe this would make things easier or more familar for the jme2 people?

Since you already started "collecting" the renderers in your repo I'd say having them all there would be the best. Just to keep things centralized. As long as you can be contacted about contributions etc. this should wrk out well, don't you think?

Cheers,
Normen

P.S. Still interested in the java2d renderer, I saw there was an upload but it does not seem to be too advanced right? Did you point the dev at my implementation in jMP?

Thanks for you answers!


Would it be better if the jme2 nifty renderer lives in a jme2 svn repository instead of the nifty repository? Don't get me wrong, I'm perfectly fine with the way it is but maybe this would make things easier or more familar for the jme2 people?


I think the separation is ok like it is because the only place where jme AND nifty are needed is in the renderer.
So there are no dependencies for people who use nifty but not jme and vice versa.
Having the 'glue' code in an extra svn makes sure everything compiles fine.
Therefor i think the best place for the nifty jme example is also in the jme renderer trunk.
It thats ok for you i will add a simplegame and a standardgame example under /nifty-jme-renderer/src/test/java

Status:
Sound is implemented and working
Blending is fixed
Clipping is working but only through direct lwjgl call (so no jogl currently but hopefully soon)
Some font size issues still, but only minor effects

@larynx

/nifty-jme-renderer/src/test/java is perfectly fine for any example code :slight_smile: I'm looking forward to it!



@Normen

I haven't been able to talk to ariel (the developer of the java2d renderer in the nifty repo) again but I'll definetly point him to your work. Thanks :slight_smile:



And thanks for your opinions too. The JME2 renderer will stay in the Nifty repository.



void

Hi, I am here :D, and I was reading the posts about nifty-gui renderers.



Normen, I have only started the java2d renderer with a basic idea on java2d but If you have something more advanced I think nifty-gui can use it.



Bye

arielsan said:

Normen, I have only started the java2d renderer with a basic idea on java2d but If you have something more advanced I think nifty-gui can use it.

I have done something but I dont think I will find the time to work more on it soon. You can look at what is there in the googlecode jme3-gde branch gui folder.

Cheers,
Normen

I will take a look, thanks

Ok, I checkout those projects in Eclipse and I am getting lots of errors. Are there any libraries that nifty depends on and are not included?

InShadow said:

Ok, I checkout those projects in Eclipse and I am getting lots of errors. Are there any libraries that nifty depends on and are not included?

Its a maven project, they should be downloaded automatically when you build.

Huh never really worked with maven. Are there any shortcuts for this in Eclipse like there is for Ant? :slight_smile:

Try installing m2eclipse plugin, this should download the dependencies you need.

larynx said:

If using eclipse you will have to set the source paths for all of the nifty projects like:
src/main/java
src/test/java
src/main/resources  (if exists)
Could someone explain this step in a bit more detail for the confuzled (i.e. me).

I got the main nifty to compile and run without any problems using maven(m2eclipse) but i cannot get anywhere with the nifty-jme-renderer or any of the other projects.

Sorry for late answer, i have been abroad and offline  :|



I am using only eclipse, not maven for compiling, so i dont know

what m2eclipse has already solved for you.

I assume the dependencies for easymock, easymockclassextension and xpp3 are

already present in eclipse under project properties/java build path/Libraries

if nifty compiles.



For the nifty-jme-renderer there is probably no working maven script, because i did nether

write one nor did i work/test with maven. (should be done sometime)



For the nifty  'subprojects' check that under project properties/java build path/Projects

all the other nifties are listed.

And nifty-jme-renderer also needs jme as ether project or library reference :slight_smile:



Under project properties/java build path/Libraries i have the following for each subproject:

easymock-2.5.2.jar

easymockclassextension-2.5.2.jar

junit-4.1.jar

lwjgl-util.jar

lwjgl.jar

slick.jar

xpp3-1.1.4c.jar



And dont forget to set the native path for lwjgl or else you will get an "no lwjgl* in library path" on runtime.



If you still have problems please post your compile errors.




Thanks for the advice… managed to get nifty-jme-renderer to work :slight_smile:



Initially, I tried to get the jme itself to compile using it's maven pom.xml (hadn't noticed that before!) but kept getting OutOfMemoryError on compile so i will leave that a while since it looks a repository based solution is on the horizon…



http://www.jmonkeyengine.com/forum/index.php?topic=13575.0



So for moment, for nifty-jme-renderer, I just did an eclipse compile. I added jme and nifty as project references, and then added any other external libs as required.



plus Eclipse had defaulted to JRE 1.5, so had to change it to JRE 1.6





Very happy with for now as jme + nifty is still clearly very much a moving target but really looking forward to jme3… Keep up the superb work

Are you sure you have the nifty-controlls included?



https://nifty-gui.svn.sourceforge.net/svnroot/nifty-gui/nifty-default-controls/trunk


OK… I got JmeNifty working (Eclipse without Maven). The original problem was that nifty-default-controls required nifty on its build path, but there were a few small problems after that (my own foolishness).



Here's my setup. There may still be some unrequired stuff on the build path but this should get you going. Use this in conjunction with larynx's post immediately above, as well as his original post in this thread.



First, some notes:



a) If you see an purple spinning ball with text on it, there's something wrong. You should see something more like the niftyGUI tutorial (JNLP of which you can find in your nifty distribution).

b) You only need to worry about JUnit and Easymock if you want to actually change niftyGUI code (I don't); they won't affect your getting JmeNifty to run. Furthermore jME takes the place of Slick so you can ignore slick.jar too.

c) lwjgl libs already exist in you jME2 libs folder so just point the nifty projects (as described below) to get those libs included.

d) (!!NEW!!) I previously forgot to mention in this post: There is a missing file for the JmeNifty example – you'll need to download a GIF  file and rename it to "grass.gif" (line 71) and put it in the correct location as indicated on that line, because the file doesn't exist, or at least it did not in any of the 5 projects I checked out. I just pulled a replacement off google images, removing the need to change any of JmeNifty.java's original code to get the example up & running. (The size of the image, or what it is, is irrelevant, you just need a replacement that is itself a GIF.)



What each project requires on the build path:



nifty (all good except for errors in its "test" package which you can ignore)



source folders:



src/main/java

src/main/resources



required projects:



(none)



libs:



lwjgl.jar

lwjgl_util.jar

xpp3-1.1.4c.jar (you need to go download this from the xpp site)



nifty-default-controls



source folders:



src/main/java

src/main/resources



required projects:



nifty



libs:



lwjgl.jar

lwjgl_util.jar



nifty-style-black



source folders:



src/main/resources



required projects:



(none)



libs:



(none)



nifty-jme-renderer



source folders:



src/main/java

src/main/resources



required projects:



jme

nifty



libs:



lwjgl.jar

lwjgl_util.jar



nifty-examples



source folders:



src/main/java

src/main/resources



required projects:



jme

nifty

nifty-default-controls

nifty-jme-renderer

nifty-style-black



libs:



lwjgl.jar

lwjgl_util.jar





***



There might be some redundancy as I was just testing some things. Again if you want to work with Nifty code directly do get JUnit and Easymock as larynx suggests.



Many thanks to both jME and nifty teams for this superb combined solution  8)


Thanks NickZA for your detailed dependency description, that is very helpful.



Its the kind of info which should be included in the (not yet existing ) nifty wiki guide.