ich will demnächst mir Komponenten schreiben, die nicht auf der Basis von Canvas arbeiten, sondern auf der Basis von OpenGL. Nun, welche herangehensweise würdet ihr mir da empfehlen? Für ein Forumular und alle seine Komponenten ein Handle, oder für jede Kompo ein extra Handle zur Grafikdarstellung?
Mehere Handles dürfte leichter zu entwicken sein, aber ich vermute mal, dass dadurch mehr RAM verbraucht wird, oder? Ich frage mich nur, ob es dann zu Problemen kommen könnte, wenn 2 Komponenten übereinander liegen, dass die untere Kompo die obere überzeichnet. Und wie kann man die "Zeichenrotuinen" trennen (denn bei glBegin etc. wird ja kein Handle angegeben, zu welchem Handle es jetzt gehört), denn ich frage mich, wie die Kompo bei MultiThreading reagiert, wenn einer daraus zeichnet (auch mit synchronisierung dürfte es da Probleme geben ) Wie umgeht man das am besten?
Und einem einzigen Handle dürfte es das Problem geben, dass ich nicht weiß, wie man nur einen kleinen Bereich des Forumulars neu zeichnet, denn ich will ja nicht alles neuzeichnen (wobei es bei OpenGL kaum stören dürfte, wenn man Listen verwendet ). Und kann man verhindern, das eine Kompo über seinen Bereich hinaus zeichnet?
Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
SunBlack hat geschrieben:
Und einem einzigen Handle dürfte es das Problem geben, dass ich nicht weiß, wie man nur einen kleinen Bereich des Forumulars neu zeichnet, denn ich will ja nicht alles neuzeichnen (wobei es bei OpenGL kaum stören dürfte, wenn man Listen verwendet ). Und kann man verhindern, das eine Kompo über seinen Bereich hinaus zeichnet?
Du kannst einfach das glClear weglassen, dann kannst du deinen Bereich neuzeichnen. Musst nur bedenken, dass du den gesamten Bereich neuzeichnen musst.
Zur Begrenzung der Bereiche gibt es glScissor.
Das mit Handle würde ich ignorieren, du hast einfach nur ein Handle für das gesamte Fenster.
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.