Polygon stippling


in order to achieve some special effects I would need to issue glPolygonStipple() calls.

I've seen there's no polygon stippling state in JME. Is it possible to add a custom state, just in case ?



Wow ! Both LWJGL and JOGL paths. How quick.

The result is correct: polygon stippling is not texturing :slight_smile:

I'll wait for the final version in the svn repo!

I'm using stippling for my graphics engine when rendering interlaced video.

It can be also used to simulate old fashioned tv out (rasterline effect).

Something like http://www.webreference.com/graphics/column12/illo1.JPG



simply Awesome :slight_smile:

Many thanks.


A first version of the patch, if you want to try and play around.

I will clean it up, test it better add javadoc etc.

I guess that how Stippling is supposed to look (not perspectively correct like a Texture)?

(i borrowed the stipple mask and example from this lwjgl thread)

The patch can now be found here:http://www.jmonkeyengine.com/jmeforum/index.php?topic=10693.0

edit: removed the old patch

seems fun and should not be too hard to implement, i will try to create a StippleState :slight_smile:

I'm curious tho, what are use cases for polygon stippling in games or 3d apps in general?

Nice job Core-Dump!

One paste error in the renderstate javadoc, should be Stipple not ZBuffer:

          * <li>Wireframe: false</li>

          * <li>ZBuffer: true</li>

[glow=red,2,300]+        * <li>ZBuffer: false</li>[/glow]

          * </ul>

And javadoc additions all around would make this ready to go in.

thanks for reviewing nymon, i'll fix that.

i'll post the final patch in the contribution depot (and remove this one) when i'm done.

MikOfClassX: ah interlaced video is a good idea.


the StippleState seems to cause some side effects. To reproduce, simply start Lesson8 of the FlagRush-Tutorial and you'll get an ArrayIndexOutOfBoundsException.

i committed the new bike.jme.

i wonder if its possible to add some kind of check to let the user know, that the .jme file is outdated.

its because the old bike.jme is not compatible with the new anymore.

create a new bike.jme with the ModelLoader from bike.3ds and it works again.

I'll commit the new bike.jme file soon.


there should be something like a SerialVersionUID for serialization, which would have to be altered manually every time a relevant change is introduced. Without this, the cause of such problems isn't trivial to figure out, once an outdated model has been loaded.

I dont think jme's  Savable system cares much about the SerialVersionUID.