|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 13.02.2005, 01:29 Titel: |
|
|
Hi,
ja das mit den Texturen nehme ich mir zu Herzen, no panic
Frage an alle: Wie solls nach dem nächsten Tut weiter gehen? Irgendwelche Wünsche? _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 13.02.2005, 01:59 Titel: |
|
|
Mein Wunsch wäre eine Klasse zum laden von png oder tga Dateien in eine Textur.
I wanna be
D3DX free!!
Eine 32-TGA-Datei mit AlphaChannel - die Header-Struktur sieht so aus.
CPP: | struct TARGAFILEHEADER
{
BYTE tgaNumCharsInIdField; // unwichtig
BYTE tgaColorMapType; // 1 = mit Palette
BYTE tgaImageType; // 2 = RGB-Image
WORD tgaColorMapOrigin; // unwichtig
WORD tgaColorMapLength; // unwichtig
BYTE tgaColorMapEntrySize; // unwichtig
WORD tgaImageOriginX; // unwichtig
WORD tgaImageOriginY; // unwichtig
WORD tgaWidth; // Breite
WORD tgaHeight; // Höhe
BYTE tgaBitsPerPixel; // Farbtiefe
BYTE tgaFlags; // Flags (8 für 32-Bit, nicht fragen, machen)
/* BYTE tgaImageIdentificationField[???] */ // Existiert nicht
/* BYTE tgaPalette[???] */ // Existiert nicht
}; |
Zuletzt bearbeitet von KI am 13.02.2005, 14:18, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 13.02.2005, 02:18 Titel: |
|
|
Achso. Mmmmh.
Vielleicht einen Pause Gamestate, bei dem alle Prozesse des Game-Gamestates gestoppt werden. Auch die zeitabhängigen, irgendwie.
Vielleicht noch Übergangsphasen. Z.B. Aplhablending vom einen zum anderen Bildschirm.
Ansonsten fällt mir jetzt nichts ein.
Maus-Management und Button Klasse auf jedenfall sehr praktisch. |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 13.02.2005, 02:21 Titel: |
|
|
Hi,
also pause ist echt kein kunststück einfach den delta des gamestates direkt am anfang auf 0 setzen ^^
Fading zwischen den Gamestates? Joah wäre was Kommt auch.
Achja zur Buttonklasse: Damit kann man keine richtige GUI machen, das ist eher nur so ne kleine Hilfsklasse um einen Knopf anzuzeigen und zu Managen _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 13.02.2005, 02:35 Titel: |
|
|
Patrick hat Folgendes geschrieben: | also pause ist echt kein kunststück einfach den delta des gamestates direkt am anfang auf 0 setzen ^^
|
Ich hab mir das etwas schwieriger vorgestellt.
Wenn jetzt eine Aktion im Hauptspiel abläuft, die zeitabhängig ist, könnte das zu einem Problem werden, oder.
Angenommen ich ermittle die Zeit (StartTime = 500 000 ms) und möchte in 10000 ms eine Tür öffnen lassen. Also prüfe ich bei jedem Durchlauf, ob bereits 10 Sekunden vergangen sind...
Im Pause-Modus kann man die Zeit ja nicht einfach anhalten.
Wenn ich jetzt 10 sekunden in den Pause-Modus wechsele, und wieder zurückkomme geht die Tür direkt auf.
Im Pause-Modus müsste man sich also irgendwie die Differenz zwischen StartTime und aktueller Zeit (z.B Differenz = 7 s) merken.
Wenn der Pause-Modus vorbei ist, kann man StartTime dann entsprechend anpassen, sodass die ursprüngliche Differenz wiederhergestellt ist.(7s)
Naja. soviel dazu.
Es ist schon spät geworden.
Soll ich den Thread in den Projekte-Ordner verschieben? |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 13.02.2005, 02:52 Titel: |
|
|
Nee pass auf die Zeit wird im manager errechnet und an den Gamestate weitergegeben, dort kann man nun mit ner if abfrage folgendes machen:
CPP: | if (pause)
delta = 0; |
und dann gehts weiter im Code des GameStates Da ist nichts mit Differenzwert und so Wenn Delta 0 ist, ist kein speed da und nichts bewegt sich und wenn danach delta wieder auf 100 ist oder sonst wo gehts wie gehabt weiter ohne sprünge
Von mir aus kannste verschieben _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 13.02.2005, 02:57 Titel: |
|
|
Aha. Das ist ja richtig Tricky. |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 13.02.2005, 15:07 Titel: |
|
|
Okay Leute, hier ein kleiner "NewsFlash":
Fontklasse sowie Mausmanager funktionieren perfekt, ebenso die Buttonklasse (die bald fertig sein wird ), Es gibt momentan nur paar Probleme mit dem Clientrect des Fensters aber ich denk das ich das in den Griff bekomme
Dann muss ich noch das Changelog schreiben, also im großen und ganzen denke ich, dass es vor 22:00 heute Abend online kommt
- Patrick _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
HomeLess_PunkDrummer JLI Master Trainee
Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 13.02.2005, 15:14 Titel: |
|
|
Noch ne Alternative zu LPD3DXPMESH wäre praktisch. Im moment steh ich eh aufm Schlauch... null motivation, das is meine generation... _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 13.02.2005, 18:55 Titel: |
|
|
Teil 7 ist da!
http://83.246.114.104/patrick/index.php
Diesmal gehts um Buttons, Fonts (ohne zusätzliche Bitmaps oder D3DX) und die Maus.
Im Code selbst hat sich wieder einiges getan Jetzt wird auch der Point-Filter benutzt (damit KI nichts mehr zu jammern hat ;D) und auch die window_X Funktionen sind nun in einer Extra-Datei in einem Namespace!
Viel Spass damit
p.s.: Zu beachten: Die Buttons haben einen Hover-Effekt und einen Press-Effekt, sie werden wie bei Windows erst mit einer Aktion beginnen wenn die Maustaste gelöst wurde
Handling ist in der mainmenu::idle()
- Patrick, der nun überlegt was als nächstes kommen sollte... _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 14.02.2005, 18:34 Titel: |
|
|
Hi Patrick.
Schöne stylische Buttons mit Rahmen (D3DPT_LINESTRIP^^).
Mir gefällt auch die Font-Engine! Wird ja alles dynamisch zur Laufzeit erstellt, unter Berücksichtigung von D3DCAPS9.
Das war bestimmt eine Meneg Arbeit.
Du zeichnest sogar den Schatten der Font.
Wofür wird eigentlich der letzte Parameter der font::create funktion unsigned long flags benutzt? Sieht so aus, als sei er unbenutzt.
Aber was ich leider immernoch bemängeln muss ist das Texturmapping.
Es reicht nicht den Pointfilter zu aktivieren.
Man muss die Texturkoordinaten anpassen!
Sie dürfen nicht von 0 bis 1 laufen, sondern von (0,5 / Bildschirmauflösung) bis 1. Anders gesagt einen halben Pixel später anfangen. Bei einer Auflösung von 800 * 600 wäre das für u 0,000625f und für v 0.000833333f.
Das hat etwas damit zu tun, wie der Pointfilter arbeitet.
Sonst sieht es so aus. Zumindest bei mir:
So sieht es aus, wenn man die Texturkoordinaten entsprechend der Bildschirmauflösung anpasst. (Ich hab mal ein einheitliches Muster genommen. Da sieht man den Unterschied deutlicher)
(Wenn man z.B. den LINEAR Filter benutzt, sollte man die Texturkoordinaten von 0 bis 1 laufen lassen.)
CPP: | const float fTexX = 0.5f / 800.0f;//static_cast<float>(::window_width);
const float fTexY = 0.5f / 600.0f;//static_cast<float>(::window_height);
// Rechteck
vertex rect[] =
{
// x, y, z, color, u, v,
vertex ( 0.0f, 0.0f, 0.5f, 0xFFFFFFFF, 0 + fTexX, 0 + fTexY),
vertex ( 800.0f, 0.0f, 0.5f, 0xFFFFFFFF, 1 , 0 + fTexY),
vertex ( 800.0f, 128.0f, 0.5f, 0xFFFFFFFF, 1 , 1),
vertex ( 0.0f, 128.0f, 0.5f, 0xFFFFFFFF, 0 + fTexX, 1),
};
|
MfG KI |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 14.02.2005, 19:18 Titel: |
|
|
KI hat Folgendes geschrieben: | Schöne stylische Buttons mit Rahmen (D3DPT_LINESTRIP^^).
Mir gefällt auch die Font-Engine! Wird ja alles dynamisch zur Laufzeit erstellt, unter Berücksichtigung von D3DCAPS9.
Das war bestimmt eine Meneg Arbeit.
Du zeichnest sogar den Schatten der Font. |
Tjaja Buttons müssen doch Style haben
Türlich war das arbeit, aber wenn mans hat, hat mans
KI hat Folgendes geschrieben: | Wofür wird eigentlich der letzte Parameter der font::create funktion unsigned long flags benutzt? Sieht so aus, als sei er unbenutzt. |
Guck mal ganz oben in der font.h da ist ein enum wenn du jetzt bei create z.b. italic (je nach schriftart! Bei Fixedsys bissel ugly) oder bold angibst gibts nen geilen style
KI hat Folgendes geschrieben: | Aber was ich leider immernoch bemängeln muss ist das Texturmapping. |
Würd der Lineare Filter nicht reichen oder muss die berechnung da hin?
- Patrick, der nun nachdenkt was als nächstes kommen soll und hofft das KI nicht der Einzigste mit Feedback war _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 36 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 14.02.2005, 20:31 Titel: |
|
|
*g*, also ich fände es net mal Bonesanimationen zu implementieren. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 14.02.2005, 22:39 Titel: |
|
|
Hi,
als nächstes kommt 3D Mathematik, also Kameramatrix, Rotationen, Transponierungen, Skalierungen usw. Es bringt nichts vorher etwas über Bones zu erzählen wenn noch nichtmal eine Perspektivische Projektion da ist und man nicht die Grundlagen des 3D Matrizensystems verstanden hat _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|