kostenloser Webspace werbefrei: lima-city


Problem mit FBOs in OpenGL

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    krisi12345

    Kostenloser Webspace von krisi12345

    krisi12345 hat kostenlosen Webspace.

    Ich habe folgendes Problem:
    Ich möchte in OpenGL mit Framebuffer Objects in ein Fenster (wie immer) Rendern und in eine Texture die ich dann in einem Shader verwenden möchte und das in einem Rendervorgang. Das Problem ist das ich es irgendwie immer nur schaffe entweder in das Fenster zu rendern oder in die Texture.

    Das Hauptproblem liegt übrigens im Rendervorgang. Wie krieg ich das hin?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo krisi12345,

    soweit ich weis, geht das nicht. Der Grund dafür ist, das OpenGL immer in den gerade gebundenen Framebuffer rendert und nicht ein mehrere gleichzeitig. Allerdings gibt es eine Funktion zum kopieren von Framebuffern: glBlitFramebuffer(). Damit kannst Du erst off-screen in den FBO rendern und danach in den Fenster-Framebuffer kopieren. Allerdings musst Du dazu auch erst wieder das Binding ändern:
    // FBO als Read-Buffer:
    glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo);
    // Screen als Draw-Buffer:
    glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
    // Framebuffer kopieren
    glBlitFramebuffer(
        0, 0, width-1, height-1,
        0, 0, width-1, height-1,
        GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT, 
        GL_NEAREST);
    Wenn Du nachträglich nichts mehr auf den Screen zeichnen willst, dann kannst Du evtl. auf GL_DEPTH_BUFFER_BIT verzichten.

    Edit:
    Du kannst natürlich auch erst auf den Screen rendern und dann den Ausschnitt, der Dich interessiert, in die Textur kopieren.

    Beitrag zuletzt geändert: 25.4.2011 21:27:32 von darkpandemic
  4. Autor dieses Themas

    krisi12345

    Kostenloser Webspace von krisi12345

    krisi12345 hat kostenlosen Webspace.

    Vielen Dank!!!
    Hat mir sehr geholfen!
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!