Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2067
Programmiersprache: C++
Deine Grafikkarte kann bis zu 4096 x 4096 grosse Texturen, dass sollte nicht das Problem sein.
Vielleicht hast du die Grösse falsch angepasst?
Das mit den 512 ist jedenfalls klar, weil es einfach zu klein für deinen Zweck ist.
4096er Texturen? Ich bezweifle, dass das performant ist. btw meine Karte kann auch 4096er Texturen, aber nicht bei RenderToTexture. Dort wird dann nämlich ein Großteil einfach abgeschnitten.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ja klar. 4096 Texturen sind durchaus möglich. Würde mich aber nicht darauf verlassen, dass die auch immer existieren müssen. Das Problem hierbei ist aber etwas ganz Anderes. Bei klassischem RenderToTexture wird der Bildschirmausschnitt kopiert und der richtet sich nach dem Fenster welches sich in der Maximalgröße wieder nach dem Monitor richtet. Kurz um. Wenn dein Fenster eine Auflösung von 800x600 hat dann ist der Viewport auch nur maximal so groß und das was du dann in deine 4096 große Textur reinkopieren kannst ist auch nur so groß. Der Rest ist undefiniert.
Evtl solltest du dir in der Tat mal überlegen ob nicht mehrere Kontexte vielleicht sinnvoller wären. Habe selbst schon problemlos 3 Kontexte in ein und der selben Anwendung gehabt ohne, dass es groß Probleme gegeben hat. Und renderToTextur wird in diesem Falle eine Verschlächterung sowohl optisch als auch performancetechnisch. Weswegen du davon eher abstand halten solltest.
Etwas was vielleicht auch noch funktionieren könnte wäre, wenn du dir zwar einen großen Kontext erstellst aber den ViewPort nur auf eine Hälfte anwendest dann zeichnest und ihn dann für die nächste Hälfte einrichtest und zeichnest. Du darfst aber nur jeweils einmal glClear und SwapBuffers aufrufen. Sonst löscht du entweder die eine hälfte des Bildes oder überträgst schon ein halbes. Evtl musst du auch noch mit glScissor den sichtbaren Bereich beschränken, da der ViewPort wohl mitunter ein bisschen ausgefrannst wird. Keine Ahnung warum. Aber üblicher wäre für so etwas schon eher die 2 Kontexlösung.
PS: Habs erst jetzt gesehen. In der glBitmap heißt die Klasse nicht TBitmap (ist die von Delphi) sondern TglBitmap2D. Doku in meine Signatur.
Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.