ohh siehe da ich hab den fehler gefunden! ziemlich dumm sorry!
man muss ja noch die Größe der virtuellen Datei eintragen m_iSize die ja beim erstellen der Textur gebraucht wird und ich hatte leider die größe des Zeiges auf den Speicher und nicht den eigentlich Wert eingetragen!
|
Quellcode
|
1
2
3
4
|
// Größe eintragen
stat(pcFilename, &FileStats);
m_iSize = FileStats.st_size;
|
so is richtig...
Edit:
Sind noch ein paar fragen bei mir aufgetaucht.....
1. ich benutze ja nicht das "originale" Vector2 format sondern:
|
Quellcode
|
1
2
3
4
5
6
7
8
|
struct sbVector2
{
float x,y;
inline sbVector2() {};
inline sbVector2(const float px,const float py) : x(px), y(py) {};
inline operator = (const sbVector2& t) {x = t.x, y = t.y;};
};
|
aber lese trotzdem mit "meinem" sbVector2 aus einer tbf datei die Werte ein.. kommts dabei zu problemen?.. ich hab die werte mal in eine datei ausgegeben sieht eigentlich vernünftig aus....
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
fWidth = 10.000000
fHeight = 24.000000
fTextureWidth = 256.000000
fTextureHeight = 256.000000
Vector2: x = 0.003922 y = 0.003922 //avTopLeft[0]
Vector2: x = 0.047059 y = 0.094118 //avBottomRigth[o]
Vector2: x = 0.054902 y = 0.003922 //avTopLeft[1]
Vector2: x = 0.098039 y = 0.094118 // und so weiter
Vector2: x = 0.105882 y = 0.003922
Vector2: x = 0.149020 y = 0.094118
|
2. Bei David wird das ganze mit Effekten gerendert.. aber das ist nicht umbedingt notwendig oder?.. ich wollte es so machen
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
|
if(dwVtxCursor >= 600 || dwChar == (DWORD)(iLength -1))
{
begin();
g_lpDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST, dwVtxCursor / 3, aVertex, sizeof(sbFontVertex));
end();
dwVtxCursor = 0; // Vertexcursor zurücksetzen
}
|
bei der methode begin setzte ich die sachen die ich für das Textrendern brauche... Textur, Vertexformat, Zbuffer aus etc.. aber leider sehe ich nichts wenn ich Text rendern will.. obwohl keine der Funktionen einen Fehler zurückliefert.. ???