Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 12:30 Titel: VertexFarbe + Textur |
|
|
Also, ich habe jetzt mal Vertexfarben hinzugefügt, die funktionieren allerdings nicht richtig. Die gelbe Textur wird einfarbig braun/orange und die blaue Textur komplett schwarz, relativ unabhängig, welche Farbe ich benutze.
Dann wollen wir mal:
VertexFormat:
CPP: | struct SpriteVertex
{
cVector Position;
cVector Color;//ein vector hat auch 4 varis, also, genau gut für farben
float u;//Texturkoordinaten
float v;
}; | cVector=Klasse mit 4 float's
Erstellen der Vertices:
CPP: | SpriteVertex SpriteV[4];
SpriteV[0].Position=cVector(Position.x, Position.y, 0.5f, 1.0f);
SpriteV[0].u=0.0f;
SpriteV[0].v=0.0f;
SpriteV[0].Color=Color; | die weitern 3 hab ich halt weggelassen
und das Rendern:
CPP: | m_Device->SetRenderState(D3DRS_LIGHTING, false);
m_Device->SetTexture(0, m_lpTexture);
m_Device->SetFVF(D3DFVF_XYZW | D3DFVF_DIFFUSE | D3DFVF_TEX1);
m_Device->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_MODULATE);
m_Device->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
m_Device->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TEXTURE);
m_Device->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, SpriteV, sizeof(SpriteVertex));
|
Jemand ne Idee? Achja, Color=cVector(1, 0.5, 1, 0). Hab schon diverses andere ausprobiert manchmal wurde alles komplett schwarz. Achja, wenn ich ColorOp auf ADD setzte wirds pink und gelb, aber die Struktur der textur ist überhaupt nciht zu sehen, also sehr einfarbig.[/code] _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.07.2005, 12:34 Titel: |
|
|
Ne Klasse verwendest du da? Das könnte probleme mit dem Stride geben, verwende lieber einfachere Typen float color[4] zum Beispiel. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 12:40 Titel: |
|
|
was issn Stride?
Naja, es hat als ich nur die Positionen hatte ja auch geklappt ist halt die selbe Klasse, und da gings noch. Ich hab jetzt auch nochmal an diversen Faktoren rumgespielt, akmen immer sehr interessante Farben raus, nur halt keine Textur. Ich könnte fast wette das die texturkoordinaten pfutsch sind, also zum beispiel überall auf 0 sind oder so, so dass es als Resultat einfarbig wird. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.07.2005, 12:47 Titel: |
|
|
Stride ist der Abstand zwischen den einzelnen Elementen.
Das hier musst du noch aktivieren hast du das?
CPP: | SetRenderState( D3DRS_COLORVERTEX, TRUE ); |
_________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 12:58 Titel: |
|
|
Der Abstand zwischen den einzelnen Elementen wird doch beim Rendern
CPP: | m_Device->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, SpriteV, sizeof(SpriteVertex)); | mit dem letzen Paramter gesetzt. Und:
Zitat: |
D3DRS_COLORVERTEX
TRUE to enable per-vertex color or FALSE to disable it. The default value is TRUE.
| Aus der Doku, also brauchte ich das nicht. Wenn ichs ausschalte, passiert übrigens auch nix... _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 14:19 Titel: |
|
|
ausm FVF? Oder soll ich mir jetzt ne ganz neue Vektorklasse machen, mit nur 3 varis? _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.07.2005, 14:25 Titel: |
|
|
Beides, sonst gibts nur noch mehr Probleme. _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 15.07.2005, 14:36 Titel: |
|
|
Wie oft habe ich eigentlich schon geprädigt das eine Vektorstruktur nichts in einer Vertexstruktur zu suchen hat? ich glaub das war schon mehr als 5x _________________ '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: 15.07.2005, 18:06 Titel: |
|
|
Alter, die Farbe hat ein zu sein. Am besten so:
CPP: | float x, y, z;
unsigned long Color;
float tu, tv; |
Davon geht d3d aus. Steht afaik auch in der Doku
Gruß _________________ "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 |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 18:45 Titel: |
|
|
oh ja, hatte das mit:
typedef struct _D3DCOLORVALUE {
float r;
float g;
float b;
float a;
} D3DCOLORVALUE;
verwechslet, welches man für Materialien und so als Farbangabe braucht _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 19:18 Titel: |
|
|
so, das ging jetzt einigermaßen, jetzt wollte ich Alphablending einbauen:
CPP: | m_Device->SetRenderState(D3DRS_ALPHABLENDENABLE, true);
m_Device->SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
m_Device->SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
m_Device->SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_SUBTRACT);
|
So, ich habe bei der Vertexfarbe den Alphawert verändert, aber kein Alphablending. Was ist jetzt noch falsch? _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 15.07.2005, 20:53 Titel: |
|
|
Wieso D3DBLENDOP_SUBTRACT?
Haben die Bilder einen Alphachannel und wurde dieser überhaupt exact gefüllt/geladen? _________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 15.07.2005, 21:20 Titel: |
|
|
der alphawert soll nur von der Vertexfarbe kommen, die Texturen haben keinen geladenen, ich galbue die sind auch nur 24 bit, vielelicht auch 32. Das Subtract war nurn Test hatte da auch schon Add. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 15.07.2005, 21:27 Titel: |
|
|
Von welchem Typ ist die Textur? Das legst du beim Erstellen oder Laden fest.
X8R8G8B8 oder A8R8G8B8? Probier mal A8R8G8B8... |
|
Nach oben |
|
|
|