Forum: Multimedia
Delphi
by OregonGhost,
12. Sep 2003
Das mit dem RenderToTexture wollte ich heute auch noch vorschlagen ;c)
Du musst aber darauf achten, dass nicht jede Hardware mit großen Texturen umgehen kann. Du kannst entweder auf Nummer sicher gehen und 256x256-Texturen verwenden, oder du fragst eben ab, was für Texturen die Hardware drauf hat. Alternativ kannst du auch dieselbe Methode verwenden, die man früher bei "echter" 2D-Grafik...
Forum: Multimedia
Delphi
by OregonGhost,
8. Sep 2003
Ich schau's mir an, aber garantiere dir nicht, dass es sofort was wird ;C)
Du kannst Teile der Textur transparent darstellen. Dazu hast du zwei Möglichkeiten:
1. Du speicherst und lädst die Textur mit Alphakanal. Optimal hierfür geeignet sind die Formate TGA (unkomprimiert) und PNG (verlustfrei komprimiert), die D3DX unterstützt.
2. Die D3DXCreateTexture*-Funktionen (zumindest alle mit "Ex"...
Forum: Multimedia
Delphi
by OregonGhost,
5. Sep 2003
Du musst IMMER die Matrizen in folgender Reihenfolge multiplizieren:
Skalierung * Rotation * Translation
Ich zeige dir hier mal den Render-Code von meinem Spriterenderer in stark verkürzter (Pseudo-)Form:
// Matrices for positioning, rotation and scaling
D3DXMATRIX matTemp, matPosition, matRotation, matScaling;
D3DXMatrixIdentity(&matTemp);
// Dimensions in Pixel space
Forum: Multimedia
Delphi
by OregonGhost,
4. Sep 2003
OK, ich erkläre es nochmal ganz langsam. Sozusagen zum Mitschreiben (aber es ist ja schon Text (c; ).
Du hast ein Array. In dem hältst du die Informationen über deine Sterne, also in deinem Fall X, Y und Farbe. In jedem Frame änderst du in diesem Array deine Sterne und nirgendwo sonst.
Wenn du jetzt renderst, erzeugst du für jeden Stern eine Transformationsmatrix und zusätzlich eine...
Forum: Multimedia
Delphi
by OregonGhost,
2. Sep 2003
Ein Stern stellt einen Punkt dar?
Nimmst du Point Sprites, oder arbeitest du direkt auf dem Backbuffer?
Ich glaube in DOS war eine Menge anders als unter Windows und mit Direct3D ;c)
---
IMMER (egal wie groß) ein Viereck mit Textur erstellen. In einem anderen Thread (der war auch von dir, glaube ich (c; ) habe ich auf Tutorials auf gamedev.net hingewiesen, diese passen hier auch. Genau...
Forum: Multimedia
Delphi
by OregonGhost,
2. Sep 2003
Du musst den IDirect3DVertexBuffer8 als Managed Resource erstellen, heißt bei der Erstellung gibst du als Pool D3DPOOL_MANAGED an. Dann übernimmt Direct3D die komplette Verwaltung, aber dafür ist er nicht so gut geeignet für dynamische Daten. Dafür müsstest du einen anderen Pool nehmen, und in dem Fall müsstest du immer, wenn ein Device Lost ist, die Daten neu reinkopieren. Genau das macht...