ImageRenderer.java 870 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package eu.tankernn.gameEngine.postProcessing;
  2. import org.lwjgl.opengl.Display;
  3. import org.lwjgl.opengl.GL11;
  4. import eu.tankernn.gameEngine.loader.textures.Texture;
  5. import eu.tankernn.gameEngine.renderEngine.Fbo;
  6. public class ImageRenderer {
  7. private Fbo fbo;
  8. public ImageRenderer(int width, int height) {
  9. this(new Fbo(width, height, Fbo.NONE));
  10. }
  11. public ImageRenderer() {
  12. this(Display.getWidth(), Display.getHeight());
  13. }
  14. public ImageRenderer(Fbo fbo) {
  15. this.fbo = fbo;
  16. }
  17. public void renderQuad() {
  18. if (fbo != null) {
  19. fbo.bindFrameBuffer();
  20. }
  21. GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
  22. GL11.glDrawArrays(GL11.GL_TRIANGLE_STRIP, 0, 4);
  23. if (fbo != null) {
  24. fbo.unbindFrameBuffer();
  25. }
  26. }
  27. public Texture getOutputTexture() {
  28. return fbo.getColourTexture();
  29. }
  30. public void cleanUp() {
  31. if (fbo != null) {
  32. fbo.cleanUp();
  33. }
  34. }
  35. }