I've made a MovieAppState so you don't have to

Pushed the change, hopefully it works …

1 Like

A good news and a bad news…

the good news is that it works! :smile:
(Looks OK and performace is good)

The bad news is that now texture projection is a bit messed up, here is a screenshot:

Truth to be said, it was “sorta-broken” on master also the previous week (there was some artefacts); but now is “very-broken” with multiple copies of the projected texture. However, it might be a bug of the plugin which relied on some bug from 3.0 to work properly :wink:

The only thing I can think of is that in jME3.1 framebuffer textures are always created with nearest / nearest filtering and no mipmaps.

Can you provide the code for that test case, and maybe a screenshot of what its supposed to look like?

Well, this is a plugin for 3.0.

It should project one monkey head and one rune circle (both of them are moving)

Code:
https://code.google.com/p/jmonkeyplatform-contributions/source/browse/trunk/projective-texture-mapping/ProjectiveTextureMappingTests/src/jme3test/ext/projectivetexturemapping/TestProjectiveTextureMapping.java

Looks fine to me:

Two things to note:

  1. the yellow gradient shouldn’t be there (the rectacle should look completely gray except for the monkey and the purple runes)

  2. the issue is present with intel HD 2000 GPU and also geforce 8600m GPU. Maybe it’s an issue similar to the one that affected the water filter?

@Empire_Phoenix could you please install the “Projective Texture Mapping” plugin and see how it looks? Thanks! :innocent:

Uh oh, eclipse user here, so no plugins for me.

However I remember using it around ~0.5-1 year ago and there it worked. (However i manually cramped it together from the forum sources)

That test in particular is relying on a feature called “BorderClamp” which has been deprecated in OpenGL3.
In jME3.1 it gets converted into EdgeClamp automatically. The best way of working around it is to make sure all projected textures have a 1 pixel border (or more) of transparency (e.g. alpha = 0). This makes sure that when the texture is projected, the areas outside the texture will be transparent so the decal won’t be applied. Of course, the issue can also be fixed in the shader, but the author decided not to do it this way.

1 Like

The image below should work? Because it doesn’t. :sob:

It should work… Are you using the right blend mode?
Can you post a screenshot maybe?

I don’t know. The code is always the same, I didn’t touch it.
I’ve replaced the monkey logo with my image.

Seems like maybe texture repeat is on now when it wasn’t before or something. Weird.

Yay! The last commits on master fixed this! :smile:

Yep… turned out I was right. Texture repeat was on by default because of some other changes.

Of course, that only gives me 0.025% of the credit because I didn’t actually fix it. :slight_smile: