Org.novyon.noise.Basis interface, how to implement it?

Aparently FractalHeightMapGrid class uses some interface classed Basis, what i supose that is where it takes the generated data from or something in thsese lines. So if i were to implement SimplexNoise on JME3, i would use a custom class that implements Basis and use FractalHeightMapGrid right?



The problem is, there seens to be no documentation on how to make a class that implements Basis.



My current situation/setup and problems that arise from it:



1[neither] I don’t like netbeans, i just don’t, i like Eclipse more, just like you might like apple over grapes.

2[bad] Therefore i don’t use the SDK, and could be missing something important.

3[neither] I created a Eclipse Project using the JME3 Subversion source, so i can just Rightclick it > Team > Update and get the newest version right away

4[neither] Then i will link this project(jme3 one) to my current game project that uses JME3(my project > properties > java build path > projects > add > jme3), that gives me:

4.1[good] Access to every class on JME3 source, and javadoc if it have those /** thingies */

4.2[bad] No access to the libraries it uses, therefore i can’t see or use classes like Basis

4.3[good] Can commit my own project the way i whish for(git/svn/maven), without having to care about uploading the 100mish jme3 project with it.

5[bad] Then i have to add a external Jar as library to be able to use that Basis interface outside of the jme3 project

6[bad] It don’t have any javadoc or anything associated with it, and the subversion source don’t seen to come with it.

7[bad] i have no idea what i should return from the methods:

[java]

@Override

public FloatBuffer getBuffer(float arg0, float arg1, float arg2, int arg3) {

return null;

}

@Override

public Basis addModulator(Modulator arg0) {

return null;

}

[/java]

8[bad] I don’t know what to do with the others either exacatly, but i can just fill it with System.out.println(this happened here) and deal with it



So… the main question is: How to implement SimplexNoise in JME3? Am i in the right track? If so, how to implement a Basis interface?



I hope that this post is not overly confusing :confused:

You can find the most recent source jar here http://novyon.net/maven/org/novyon/noise/0.0.8-SNAPSHOT/, it has some javadoc.

It might be a good idea if we pull the Basis interface into jme, if @anthyon doesn’t mind. Then others can extend it easily without having to rely on the external org.novyon library.

Thx, tomorrow i will give it a look!

hi, @Brent you can do whatever you wish with the current noise lib, as I uploaded it under BSD (I hope I have the correct license included in the source as well) so it fits with JME. I will do a release from the current snapshot.



@Guedez: you are supposed to extend the abstract Noise class instead, as it already has some helper functions defined. getBuffer returns values for an area instead of just one point (the Noise class implements it by calling the value method for each element of the area). addModulator is a bit out of the noise scope, you can modifie the calculated noise value after it has been provided by the noise engine, it’s not necessary, but most of the times it returns simply “this”. You can take a look at the ImprovedNoise class which uses Ken Perlins original code. Other noise functions, like simplex noise, have license issues, so I haven’t included them.

simplex noise is licensed? weird, wonder what else is.



sorry for being off topic. it’s just so weird. people shouldn’t licence math.

not the math is licensed, the code is.

So, if anyone implement, it would be a newly created non-licenced version? or it works sort of like trademark? ‘if someone did once and licenced, you can’t do anymore’?