jME currently renders particles using either triangles or points, but it’s possible to render point particles that look identical to normal particles using a new OpenGL 2.0 extension called ARBPointSprite and an older extension called ARBPointParameters.
To try this out, add this code to the end of simpleInitGame in TestPointParticles:
// point sprites are useless without a texture
TextureState ts = display.getRenderer().createTextureState();
ts.setTexture(
TextureManager.loadTexture(
TestPointParticles.class.getClassLoader().getResource(
"jmetest/data/texture/flaresmall.jpg"),
Texture.MM_LINEAR_LINEAR,
Texture.FM_LINEAR));
ts.setEnabled(true);
pPoints.setRenderState(ts);
// enable point sprite mode, generate special texture coordinates for points
GL11.glEnable(ARBPointSprite.GL_POINT_SPRITE_ARB);
GL11.glTexEnvi(ARBPointSprite.GL_POINT_SPRITE_ARB, ARBPointSprite.GL_COORD_REPLACE_ARB, 1);
// set up the distance attenuation
FloatBuffer ceoff = BufferUtils.createFloatBuffer(0.0f, 0.00001f, 0.0f, 0.0f);
ceoff.rewind();
ARBPointParameters.glPointParameterARB(ARBPointParameters.GL_POINT_DISTANCE_ATTENUATION_ARB, ceoff);