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

Aktuelle Zeit: Fr Jul 18, 2025 00:20

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Apr 10, 2006 22:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 24, 2006 16:26
Beiträge: 25
hi,

ich möchte für mein kleines 2D Spiel jetzt einen Hintergrund machen. Ich habe mir eine Textur rausgesucht und habe nun folgendes Problem.
Ich weiss nicht welche Variante ich nehmen soll:

1. Componente TImage, Hintergrundbild laden und auf TImages Render? Problem alles neu schreibn :(

2. beim hauptrender ein viereck(größe vom spielfeld) zeichen das ich per UV mapping mit einem hintergund belege?

3. oder geht das auch das ich im glsetup

Code:
  1.  
  2. procedure TForm2.SetupGL;
  3. begin
  4.   glClearColor(0, 0.6, 0,0.0); //das weg
  5.  
  6.   //vierreck zeichen und bild drauflegen!?
  7. end;
  8.  


das ich dort das nur einmal zeichenen muss und dann der rest immer drüber gemalt wird?

================================================0

Welche Variante ist die beste? Oder wie macht ihr so etwas?

Danke im Vorraus für die Hilfe

mfg juKx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 11, 2006 08:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
1: Was immer du mit einem TImage vor hast. Vergiss es und gehe anders an die Sache ran.

3: Du denkst dort falsch. Du stellst mit glClearColor lediglich die Farbe ein mit der der Framebuffer beim Aufruf von glClear gefüllt werden soll. Dort löscht du den Framebuffer aber noch nicht.

Die einzig sinnvolle Variante ist den Hintergrund in eine Texturzuladen und diesen dann mittels Quad auf den Bildschirm zu zaubern. Alles andere ist nicht das gelbe vom Ei oder sogar höchst kriminell und fragwürdig (TImage). Also würde ich sagen Ansatz 2 kommt dem ziemlich nah was man erwarten würde.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 11, 2006 08:20 
Offline
DGL Member

Registriert: Mo Dez 20, 2004 08:58
Beiträge: 442
Wohnort: Mittweida (Sachsen)
Das Löschen des Framebuffers kannst Du Dir dann auch sparen, da ja jedes Pixel durch Deine Hintergrundtextur bei jedem Neuzeichnen eh wieder gesetzt wird.

_________________
Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Apr 11, 2006 09:58 
Offline
DGL Member
Benutzeravatar

Registriert: So Okt 26, 2003 20:07
Beiträge: 249
schalt den tiefentest aus und render dein quad im orthagonalmodus:


Code:
  1.  
  2. glMatrixMode(GL_PROJECTION);
  3.  glOrtho(0, width, height, 0, 0, 10);    // Projektion im Parallelmodus
  4.  glViewPort(0, 0, width, height);
  5. glMatrixMode(GL_MODELVIEW);
  6.  
  7. glDisable(GL_DEPTH_TEST);
  8. glBindTexture(GL_TEXTURE_2D, Hintergrundtextur);      // Hintergrund auf GL_TEXTURE_2D
  9. glBegin(GL_QUADS);                      // Quad zeichnen
  10.  glTexCoord2f(0, 0); glVertex2f(0    ,     0, 0);
  11.  glTexCoord2f(0, 1); glVertex2f(0    , height, 0);
  12.  glTexCoord2f(1, 1); glVertex2f(width, height, 0);
  13.  glTexCoord2f(1, 0); glVertex2f(width, 0     , 0);
  14. glEnd();
  15. glEnable(GL_DEPTH_TEST);
  16.  
  17.  


und nicht vergessen wieder in die perspektive zu wechseln (falls überhaupt gewollt);

habs jetz nicht probiert, sollte aber kalppen

gruß[/code]

_________________
I'm not the signature, I'm just cleaning the floor...

Derzeitiges Projekt:
FireBlade Particle Engine (Release R2 2009.06.29)


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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 ]