ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4381895
Jetzt (Chat):
22 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
DirectX API
Re: Schrift auf Textur ausgeben
Normal
AutorThema
TomCat Offline
Schütze Arsch


Registriert seit:
02.03.2002

Bayern
Schrift auf Textur ausgebenNach oben.
Hi,

ich will auf einem, um die y-Achse rotierenden Rechteck permanent eine Schrift auf der Textur ausgeben, die sich ständig ändert. Wie macht man das technisch am geschicktesten?

THX
TomCat
25.01.2009, 14:46:45 Uhr
Schrompf Offline
ZFX'ler


Registriert seit:
04.04.2006

Sachsen
Re: Schrift auf Textur ausgebenNach oben.
Mach aus der Textur ein Rendertarget und rendere dann die Schrift mit einer Fontklasse Deiner Wahl da rein. Alternativ erzeugst Du die Textur nur mit dem USAGE_DYNAMIC-Flag und kopierst jedesmal eine geänderte 2D-Grafik da rein. Die 2D-Grafik kannst Du dann ja mit Hausmitteln erstellen, schlimmstenfalls sogar it den Windows-Zeichenfunktionen.
25.01.2009, 18:52:14 Uhr
Dreamworlds Development
TomCat Offline
Schütze Arsch


Registriert seit:
02.03.2002

Bayern
Re: Schrift auf Textur ausgebenNach oben.
Hi,

ich hab das mal versucht.


//Textur laden
my_Texture = TextureLoader.FromFile( this.RenderDevice, "g:Main_Window_1.png");

//Font-Objekt initialisieren
my_Font = new Microsoft.DirectX.Direct3D.Font(this.RenderDevice, new System.Drawing.Font("Verdana", 12));


my_Font.DrawText(my_Texture, string.Format("Texture-Scaling: {0}", m_Texturescaling.ToString()), new Point(5, 180), Color.Yellow);

Leider akzeptiert die DrawText Funktion die Texture nicht. Was mache ich da falsch?

ciao,
TomCat

2 Mal gendert, zuletzt am 26.01.2009, 14:13:26 Uhr von TomCat.
26.01.2009, 14:12:01 Uhr
frittentuete Offline
ZFX'ler


Registriert seit:
08.03.2005

Hamburg
Re: Schrift auf Textur ausgebenNach oben.
hi,

die DrawText-Funktion rendert in ein ID3DXSprite, oder du gibst NULL an, dann erstellt die Funktion einen eigenen Sprite.

Um in die Textur zu rendern musst du vor der DrawText-Funktion in die Texture rendern: (leider unmanaged)

Code:
LPDIRECT3DSURFACE9 surf, savert;

// Surface holen
my_texture.GetSurfaceLevel(0, &surf);

// aktuelles RenderTarget zwischenspeichern
RenderDevice->GetRenderTarget(0, &savert);

// Textursurface als RenderTarget setzen
RenderDevice->SetRenderTarget(0, surf);

// in die Textur rendern
DrawText(...);

// RenderTarget zuruecksetzen
RenderDevice->SetRenderTarget(0, savert);


wie das dann mit der Texturgröße aussieht, musst du selbst ausprobieren, si das er in die gesamte Textur rendert.

Hoffe das hilft.

frittentuete
26.01.2009, 17:25:57 Uhr
TomCat Offline
Schütze Arsch


Registriert seit:
02.03.2002

Bayern
Re: Schrift auf Textur ausgebenNach oben.
Hi,

scheint nicht wirklich zu funktionieren. Ich versuche es mal mit einem Sprite statt einer Textur.

ciao,
TomCat
28.01.2009, 17:47:11 Uhr
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel