Ziel-DC von Rendercontext ändern



  • Ich erstelle mir unter Open GL einen Rendering-Context für den dc meines fensters, ich würde aber gern während der laufzeit den dc wechseln ohne dabei den Rendering Kontext neu zu erstellen. gibts da eine möglichkeit?

    Ich hab schon probiert ShwapBuffers mit nem anderem dc aufzurufen aber das bringt nix, kann ich den dc irgendwie ändern ohne den rc neu zu erstellen? meinetwegen auch mit ner Extension is egal irgendwie?



  • geht das nicht über wglMakeCurrent()?



  • Welcome Back, Julian !

    🙂 🙂 🙂



  • ja schon aber nur mit dem dc für den ich den RenderingContext erstellt habe, benutze ich einen dc eines anderen Fenster funktioniert das nicht 😞



  • Dann erstell doch einfach für jedes Fenster jeweils einen Rendering Context den du mit wglCreateContext dann für das jeweilige Fenster DC ermittelst. Dann solltest du doch immer Paare von RCs und DCs haben. So kannst du eigentlich einfach wie schon von Julian gesagt mit wglMakeCurrent eines aussuchen.



  • @ Squolly:

    Ja genau so mache ich es zur Zeit auch, suche aber nach einer anderen Möglichkeit da ich bei der jetzigen meine Texturen nicht halten kann, Ich muss ja immer wglMake Current(); aufrufen um die Contexte zu wechseln und dabei gehen meine Texturen flöten, es sei denn eine Textur wurde vor dem 1. Kontextwechsel mit glBindTexture(); gewählt, dann bleibt aber auch nur diese erhalten.

    Das dürfte daran liegen dass man ja normalerweise nur 1 RenderingKontext pro Anwendung verwenden kann. Ich habe schon alles mögliche versucht: Die anderen Kontexte in einem Thread gesezt (wobei ich aber nur mit _beginthread() gearbeitet habe und auch nur das wechseln in nen Thread getan hab), versucht in einen MomoryDC zu rendern um von dort aus dann mit BitBlt(); ins Zielfenster zu kopieren, aber dabei verliere ich die Hardwarebeschleudigung und OpenGL läuft nurnoch in der Softwareemulation. (falls jemand einen Weg kennt in nen MemoryDC zu rendern ohne die Hardwarebeschleudigung zu verlieren möge er bitte jezt sprechen oder für immer schweigen :D)

    Alles in allem hab ich also noch keine Erfolge erzielt aber ich will nicht aufgeben, irgendwie muss das Problem zu lösen sein!

    PS: ich brauche die Texturen nur in 1 Kontext, die anderen brauchen keine Texturen.



  • Bei DoubleBuffering renderst du doch auch in einen MemoryDC, oder?


Anmelden zum Antworten