Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 11.08.2003, 20:08 Titel: 2 Probleme |
|
|
Hallo,
ich habe z.Zt 2 Probleme:
1) Ich will ein einem Viereck eine Textur verpassen. Das mach ich so:
Code: | if (FAILED (D3DXCreateTextureFromFileEx(g_pDevPrev,
"C:\\textur.bmp",
NULL, NULL,
1, 0,
D3DFMT_UNKNOWN,
D3DPOOL_DEFAULT,
D3DX_DEFAULT,
D3DX_DEFAULT,
0xFFFF00FF, // Lilacolorkey
NULL,
NULL,
&this->m_pTexture[0])))
//Setzen der Textur
g_pDevPrev->BeginScene();
g_pDevPrev->SetTexture(0, this->m_pTexture[0]);
g_pDevPrev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0,
4, 0, 2);
g_pDevPrev->EndScene();
|
allerdings wird überhaupt nichts angezeigt. Kann mir jemand einen Tipp geben, woran das liegen könnte ?!?
2) Ich zeichne ein Gitter aus Linien mittels D3DPT_LINELIST. Allerdings ist die Linenstärke total unteschiedlich bzw. die einen Linien werden ganz anders gezeichnet als die andern. Wer es sich anschauen will: http://web751.essen082.server4free.de/Image1.jpg
Woran kann das liegen ??
Vielen Dank i9m voraus !
IO |
|
Nach oben |
|
|
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 12.08.2003, 10:10 Titel: |
|
|
*push*
Kann mir echt niemand helfen ? |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 12.08.2003, 10:16 Titel: |
|
|
Zwischen deinen Posts liegen 2 Stunden. Mit Geduld bist du nicht gesegnet, oder? ;) Es ist gerade mal 12 Uhr, warte bis jemand aufwacht und sich an den Computer hockt der sich auskennt. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.08.2003, 10:44 Titel: |
|
|
Wenn der Code tatsächloch so aussieht, wie du ihn gepostet hast, dann gibt es kein BeginScene(), wenn D3DXCreateTextureFromFileEx() erfolgreich war. |
|
Nach oben |
|
|
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 12.08.2003, 14:19 Titel: |
|
|
@Hazel: Stimmt nicht ganz:
1.Post: : Mo Aug 11, 2003 9:08 pm
2.Post : Di Aug 12, 2003 11:10 am
@Christian Rousselle:
Nein, der ich hab die Fehlermeldung rausgeschnitten
Es gibt doch prinzipiell keinen Fehler oder ??
P.s. hat jemand noch Vorschläge zu 2) ??
Bye
IO |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.08.2003, 14:29 Titel: |
|
|
Naja, ist die Textur (der Zeiger gültig), hast du Texturkoordinaten vergeben, was ist mit Beleuchtung, stellst du sonst was an Renderstates ein? |
|
Nach oben |
|
|
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 12.08.2003, 14:38 Titel: |
|
|
also ich geh ma davon aus, dass der Zeiger gültig ist, denn er geht ja nicht in die Bedinung.
Beleuchtung brauch ich nicht, denn ich benutze RHW. Mit den Renderstates schalte ich nur den Z-Buffer aus, der wird ja nicht benötigt. |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 12.08.2003, 14:50 Titel: |
|
|
Hoppla, sorry ;) Ich könnt aber schwören, dass ich den Thread gestern nicht gesehen habe... ó.ò _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.08.2003, 16:52 Titel: |
|
|
Wie sehen deine Texturkoordinaten aus? Poste doch mal das FVF und den Code für die Koordinaten. |
|
Nach oben |
|
|
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 13.08.2003, 14:14 Titel: |
|
|
Hi,
ich kam leider erst heute wieder dazu, zu antworten.
Das mti den Koordinaten hatte ich total verschwitzt. Allerdings kann ich mich, wenn ich ehrlich bin, mich nicht mehr daran erinnern.
@Christion Rouselle:
Kannst du mir sagen, was ich machen muss ?? Wäre nett
Bye
IO |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.08.2003, 14:49 Titel: |
|
|
IO hat Folgendes geschrieben: | Hi,
Das mti den Koordinaten hatte ich total verschwitzt. Allerdings kann ich mich, wenn ich ehrlich bin, mich nicht mehr daran erinnern.
|
Wie? Kannst du nicht in den Code gucken? Einfach nur eine Textur zu setzen hilft nicht. Du muss bei den Vertices Texturkoordinaten vergeben.
IO hat Folgendes geschrieben: |
@Christion Rouselle:
Kannst du mir sagen, was ich machen muss ?? Wäre nett.
|
Würde ich gerne, du musst aber schonmal ein bischen Code oder mehr Infos posten. |
|
Nach oben |
|
|
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 13.08.2003, 14:53 Titel: |
|
|
: Zitat: | Wie? Kannst du nicht in den Code gucken? Einfach nur eine Textur zu setzen hilft nicht. Du muss bei den Vertices Texturkoordinaten vergeben |
Wie meinst du das jetzt genau ?? Davor hatt ich nie was mit Texturen zu tun...
Da war ich nur für andre Sachen in meim Team zuständig..
Muss ich in meiner Funktion einfach noch zwei floats hinzufügen oder wie ?!?
[EDIT]
Hier post ich jetzt n bischen Code:
Code: |
struct VERTEX
{
float x, y, z, rhw;
DWORD color;
};
#define D3DFVF_VERTEX ( D3DFVF_XYZRHW | D3DFVF_DIFFUSE | D3DFVF_TEX1) |
ich wüsste jetzt nicht, was noch brauchbar wäre... |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 13.08.2003, 16:38 Titel: |
|
|
Hallo,
du brauchst an den Vertices Texturkoordinaten, damit DirectX weiss, wo/wie die Textur gemappt werden soll. Außerdem stimmen deine Vertexdefiniton und die Struktur nicht überein. DU musst die Struktur so anpassen:
Code: |
struct VERTEX
{
float x, y, z, rhw;
DWORD color;
float u,v;
};
|
Es handet sich hierbei um die (normalisierte) X,Y-Koordinate der Textur.
Dann muss du nch sinnvolle Werte angeben, für ein Rechteck z.B.
Vertex[0].u = 0.0f; Vertex[0].v = 1.0f;
Vertex[1].u = 0.0f; Vertex[1].v = 0.0f;
Vertex[2].u = 1.0f; Vertex[2].v = 0.0f;
Vertex[3].u = 1.0f; Vertex[3].v = 1.0f;
wenn du das Rechteck so definiert:
Code: |
1--2
| /|
|/ |
0--3
|
Details findest du sonst in der DX-Hilfe oder in den Büchern.
C. |
|
Nach oben |
|
|
IO Mini JLI'ler
Anmeldedatum: 02.08.2003 Beiträge: 21
Medaillen: Keine
|
Verfasst am: 14.08.2003, 10:24 Titel: |
|
|
Hi,
ich hab meine Struktur jetzt angepasst und auch Texturkoordinaten vergeben, aber es funktioniert immer noch nich
Ich erstelle meine Koordinaten wie folgt:
Code: |
v[0].x = x*fTileSize; v[0].y = (y+1) *fTileSize;
v[1].x = x*fTileSize; v[1].y = y*fTileSize;
v[2].x = (x+1) *fTileSize; v[2].y = y*fTileSize;
v[3].x = (x+1) *fTileSize; v[3].y = (y+1)*fTileSize;
|
Also eigentlich:
x: 0 y:1
x: 0 y:0
x: 1 y:0
x: 1 y:1
und meine Texturkoordinaten:
Code: |
v[0].tu = 0.0f; v[0].tv = 1.0f;
v[1].tu = 0.0f; v[1].tv = 0.0f;
v[2].tu = 1.0f; v[2].tv = 0.0f;
v[3].tu = 1.0f; v[3].tv = 1.0f;
|
Das ist zum Verzweifeln !
Jetzt stimmt doch im Prinzip alles oder ??
Vielen Dank im voraus : -)
Bye
IO |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 14.08.2003, 10:42 Titel: |
|
|
Willst du mir den Code mal schicken... |
|
Nach oben |
|
|
|