2016-10-08 8 views
0

Ich habe Shader verwendet, um einfache Schwarz-Weiß-Effekte oder Unschärfe-Effekte über den gesamten Bildschirm zu erstellen. Aber gibt es eine Möglichkeit, einen Shader auf einen Teil des Bildschirms anzuwenden. Ich möchte zum Beispiel ein Objekt in einem Spiel erstellen, das ein Stück Milchglas ist, hinter dem mein Charakter herlaufen kann. also würde ich im Idealfall einen Shader erstellen, um einen Unschärfeeffekt nur auf dem Bereich des Bildschirms zu erzeugen, der durch das Milchglas abgedeckt wird. Ist das möglich? Oder ist ein anderer Ansatz geeigneter?Mit einem Shader auf einem Teil des Bildschirms libGDX

dank

Antwort

1

Ich würde den Shader vor nur aktivieren und deaktivieren und nachdem Sie das Milchglas machen.

Zum Beispiel mit einem SpriteBatch:

// Rendering code... 

// First set the shader to be used 
batch.setShader(myShaderProgram); 

/* 
Render your frosted glass here 
*/ 

// Go back to the default shader (flushes the buffer too) 
batch.setShader(null); 

// More rendering code... 
Verwandte Themen