Rendering problem with Nifty and addititonal processor


I implemented the NiftyGUI tutorial which works fine.

In my setup I want to use a shader as well. For that reason I am using a FilterPostProcessor which gets added to the guiViewPort as a processor as well just as the NiftyJmeDisplay object.

After adding the filter, the text-rendering of Nifty objects such as buttons or textareas gets lost.

The distorsion of the whole screen and therefore the Nifty objects works fine nonetheless.

Has anyone ever dealt with this issue or a hint on solving it?

I have no idea what can go wrong but I have been thinking about doing the same, I’d like to simulate a “lost connect” type static overlay on the screen (over everything, nifty et c). So if you can share the solution when you find one I’d be very happy :slight_smile:

the filter processor was not designed to work over the gui viewport or over Nifty, so there might have unexpected result.

What filter are you using? i guess that using a filter that use the depth information will fail over nifty…

To the FilterPostProcessor I’m adding a BloomFilter and a custom filter extending Filter class which uses a distorsion map for rectification (set as texture).

Could you recommend another way for rectification on JME level the includes the whole screen rendered by JME?

What is a “rectification” Filter?

I made a quick test with bloom and actually that’ snot working that bad…i was expecting worst.

But indeed for some reason the text is not rendered…

Regular bitmap text works though…

I’ll look into it.

I looked up rectification on wikipedia:

I guess you could do pretty cool transitions although I don’t really get how that would work in a filter :slight_smile:

As I am not a native speaker I might have looked up the wrong technical term.

What I am trying to do is following: I am developing in a setup that uses a projector as well and I want to distort the image in a way that it maps on to surface I am projecting on.

So the first step is to render the image for a regular display and the second step is to distort it, so that it looks perspectively correct when it gets projected onto the surface.

The word rectification can mean multiple things. You are using it correctly I believe:

@nehon said:
I'll look into it.

dear nehon,

have you had the chance to look deeper into the issue of missing text rendering yet?

i looked into it indeed.

It seems to be due to how nifty text is rendered. For a reason that i still don’t get, the text elements are not rendered into the back buffer (the texture of the scene used by the filter).

I didn’t have much time to dig into it though.

I’ll keep you updated

You need to forcefully disable depth test and depth write while rendering nifty. Its the only way. Right now the text material has these enabled by default which causes these odd bugs.