Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 14, 2025 15:05

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Alles rendern?
BeitragVerfasst: Mi Dez 31, 2008 21:52 
Offline
DGL Member

Registriert: Do Dez 18, 2008 21:38
Beiträge: 60
Hallo,

ich wollte mal einen 3D-Bildschirmschoner schreiben, mit einem Würfel, der aus 3x3x3 Feldern besteht, wobei man immer ganze Ebenen drehen kann.

Da sich die Ebenen animiert drehen sollten stand ich schnell vor folgendem Problem: Kann man denn nur eine Ebene rendern und den Rest stehen lassen? Weil normalerweise löscht man ja alles und malt alles neu. Wenn ich jetzt nur eine Ebene drehen will, müsste man ja eigentlich erst diese löschen und dann erneut rendern, da man sonst die neue und die alte Position sehen würde.

Gibt es irgendeine einfache Möglichkeit, sodass man nicht immer alles neumalen muss? Bei dem kleinen Würfel ist das ja noch ziemlich egal, aber bei komplexeren Szenen würde das doch viel zu lange dauern.

Danke im Vorraus,
glmatt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 02:20 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Man könnte mit glScissor einen Teil maskieren. Das wird u.A. im Spiegelungstutorial (mit dem Stormtrooper) erklärt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 11:34 
Offline
DGL Member

Registriert: Do Dez 18, 2008 21:38
Beiträge: 60
Danke für den Hinweis,
aber glScissor ist doch relativ schwierig zu benutzen, wenn man ein 3D Objekt darstellt und der Würfel ist auch so klein, dass es nicht langsamer wird wenn man alles rendert, aber hier geht's ja ums Prinzip :wink:

Vielleicht hilft mir das ja mal bei ein paar 2D Spielen, da ist es einfacher zu benutzen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 12:40 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Dann hilft dir vielleicht der Stencil-Test weiter: Schablonenpuffer

Ein kleiner Beispielcode ist glaub ich in dem angesprochenen Schattentutorial enthalten.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 13:35 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also wenn das so eine Art Zauberwürfel ist, dann würde ich dir empfehlen immer komplett neu zu malen. Der Aufwand den du zum Erstellen der Stencilmaske betreiben musst ist auch nicht gerade klein. Da ist es vermutlich billiger komplett zu zeichnen. Und du darfst nicht vergessen, dass normal mit Doublebuffering gearbeitet wird. Das bedeutet, dass du nach dem Tauschen der Bilder nicht nur den Unterschied vom letzten Bild verändern musst sondern von den letzten 2 Bilder.

Wie das bei wirklich komplexen Szene aussieht muss man von Fall zu Fall entscheiden. Entweder muss man anders Rendern und neuere Technologien verwenden oder sich sonst etwas einfallen lassen. Das kann man nicht pauschal sagen. Das kommt immer den Fall an.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 01, 2009 19:02 
Offline
DGL Member

Registriert: Do Dez 18, 2008 21:38
Beiträge: 60
Danke für die Hilfe!

In dem Fall macht es wohl wirklich mehr Sinn einfach alles neu zu malen, aber ansonsten glaube ich der Stencil-Buffer wäre genau das richtige, werd mir dann mal das Tutorial durchlesen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]