Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 28.10.2003, 13:03 Titel: Summer Update Problem |
|
|
Hallo, ich hab mir gestern das DX9SDK SummerUpdate gezogen und installiert. Mit dem Update hab ich nun zwar 10 FPS mehr leider funktioniert die SpriteDraw Funktion nicht mehr so wie vor dem Update. Mein Problem: Wie kann ich den Scale Wert wieder bei der Draw Funktion verwenden. Den kann ich ja nun nicht mehr in der Funktion verwenden, aber den brauche ich dringend für meine GUI Elemente. Oder empfehlt Ihr ein anderes GUI System was nicht auf dem Sprite Interface beruht ? _________________ "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 |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 28.10.2003, 13:23 Titel: |
|
|
Hi,
Code: |
D3DXMatrixScaling(mat,...)
Sprite->SetTransform(mat);
Sprite->Draw(..);
|
C. |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 28.10.2003, 20:37 Titel: |
|
|
Thx _________________ "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 |
|
|
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 23.11.2003, 00:13 Titel: |
|
|
HI,
hab da ne Frage zu. ICh krieg irgendwie meine 2d Sprites nicht mehr gezeichnet mit der draw funktion im summer update. Ich erhalte keine Fehlermeldungen, texte und normale surfaces laden geht noch.ein zusammengepackter codeausschnitt, was eigentlich in klassen und verschiedenen funktionen steht...
Code: |
/* ................... */
D3DXVECTOR3 m_vCenter;
D3DXVECTOR3 m_vPosition;
D3DXMATRIX m_matrix;
m_vCenter.x = (float)file_info.Width/2;
m_vCenter.y = (float)file_info.Height/2;
m_vCenter.z = 1.0f;
m_vPosition.x = 200.0f;
m_vPosition.y = 200.0f;
m_vPosition.z = 1.0f;
D3DXMatrixScaling(&m_matrix, 1.0f, 1.0f, 1.0f);
m_lpsprite->SetTransform(&m_matrix);
//und die draw funktion
m_lpsprite->Draw(m_lpSpriteTexture, NULL, &m_vCenter, &m_vPosition, 0xFFFFFFFF);
|
jetzt müsste doch das sprite bei 200,200,1.0 sichtbar sein, aber ich seh nichts . Oder muss ich nun schon zu 3d übergehen(wo ich noch nich bin) und sowas einstellen wie view matrix etc, um sprites zu sehen??
Gruss
Ernie[/code] |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 23.11.2003, 12:31 Titel: |
|
|
Ich hab in D3D noch nicht so viel Erfahrung, aber ich könnte mir denken, dass du die Kameraposition auch bei Sprites beachten musst(bzw. dass die Kamera in diesem Fall nicht auf das Sprite zeigt). _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 23.11.2003, 15:37 Titel: |
|
|
heisst das ab sommer update muss ich 3D können um n 2 d sprite abbilden zu können?
edit: ich find in keinem meiner bücher n simples beispiel wie man n sprite in 3d abbildet, nur dreiecke, vertex buffer und wie der ganze kram heisst. Kann mir jemand helfen und verraten wie man nun ein sprite ab sommer update zeichnet? |
|
Nach oben |
|
|
abc_d JLI Master Trainee
Alter: 34 Anmeldedatum: 27.01.2003 Beiträge: 615
Medaillen: Keine
|
Verfasst am: 23.11.2003, 15:46 Titel: |
|
|
D3D != 3D!
Direct3D ist einfach der ganze Grafik-Kram egal ob 2D oder 3D _________________ http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.
Never touch a running System - der Systemling |
|
Nach oben |
|
|
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 23.11.2003, 15:59 Titel: |
|
|
BlackLordOfDragons hat Folgendes geschrieben: | D3D != 3D!
Direct3D ist einfach der ganze Grafik-Kram egal ob 2D oder 3D |
Das ist gut, aber ich weiss immer noch nicht wie ich nun ein Sprite mittels Textur zeichne. Das nun 2 D3DXVECTOR3 Strukturen in der sprite draw funktion verwendet werden, vesteh ich auch nur teilweise. Die Centerposition von x und y auf ein sprite zu berechnen, das geht noch in meinen kopf, aber dann auch noch z?? z ist doch die z koordinate oder vertue ich mich da, wie soll man denn von einer z koordinate den mittelpunkt eines sprites ermitteln? Oder sind x,y,z Dreieckspunkte, wo ich dann das z ja verstehen könnte und die center postion des Dreiecks ermittelt werden könnte.
Naja wie auch immer, brauch ich eine Kamera oder kann ich irgendwie ,wie vorher, simpel ein Sprite darstellen?
gruss ernie |
|
Nach oben |
|
|
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 23.11.2003, 17:42 Titel: |
|
|
ich habs nochmal so probiert, aber das geht auch nicht:
Code: |
D3DXVECTOR2 scalingCenter, scaling, rotCenter;
float rotation = 0.0f;
scaling.x = 1.0f;
scaling.y = 1.0f;
scalingCenter.x = (float)file_info.Width / 2;
scalingCenter.y = (float)file_info.Height /2;
rotCenter.x = (float)file_info.Width/2;
rotCenter.y = (float)file_info.Height/2;
D3DXMatrixTransformation2D(&m_matrix,&scalingCenter,rotation,&scaling,&rotCenter,0.0f,NULL);
m_lpsprite->SetTransform(&m_matrix);
m_vPosition.x = (float)200;
m_vPostion.y = (float)200;
m_vPosition.z = 1.0f; // habs auch mal mit 0.6 probiert
m_lpsprite->Draw(m_lpSpriteTexture, NULL, NULL, &m_vPosition, 0xFFFFFFFF); //center hab ich mal weggelassen
|
[/code] |
|
Nach oben |
|
|
Erni Junior JLI'ler
Anmeldedatum: 29.10.2003 Beiträge: 54
Medaillen: Keine
|
Verfasst am: 25.11.2003, 00:28 Titel: |
|
|
Hi, hab jetzr seiit meiner letzten post probiert n sprite darzustellen. verstehe jetzt vertexbuffer und kann Dreiecke rotieren lassen etc, aber ein einfaches Sprite in 2d auf die Fläche zu bringen krieg ich nicht mehr hin. Gehts denn ab sommer update wirjlich nur noch mit der Einrichtung einer kamera? vielleicht steig ich wieder aufs ältere DX um, war irgendwei leichter mit sprites
Grüsse
Ernie |
|
Nach oben |
|
|
Finnigan Mini JLI'ler
Anmeldedatum: 16.10.2003 Beiträge: 16 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 25.11.2003, 01:41 Titel: |
|
|
Das Anzeigen und rotieren hab ich noch geschafft damals indem ich die sprites, ähnlich wie die szene in begin(parameter) spritedraw und end gepackt habe.
Aber bei der kombination von scale, rotation und translation ist mir das
sprite immer abhanden gekommen, daraufhin bin ich wieder auf ein altes
DX9 zurückgegangen und hab mir das für ne zeit vorgenommen wenn ich
mich auf dem gebiet sicherer fühle. |
|
Nach oben |
|
|
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 27.11.2003, 19:43 Titel: |
|
|
Woran erkennt man, ob man das Summer Update hat? Ich war mir eigentlich sicher, dass ich es habe, aber ich kann meine Sprites ganz normal zeichnen... |
|
Nach oben |
|
|
Finnigan Mini JLI'ler
Anmeldedatum: 16.10.2003 Beiträge: 16 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 27.11.2003, 21:32 Titel: |
|
|
Ich habs wie gesagt runtergeworfen aber z.b. falls du
das Visual studio 2003 hast wird dort auf dem splash screen wenn es
lädt auch ein Symbol für das managed directx angezeigt was
bei dem vorigen SDK nicht da ist. (zumindest nicht bei mir)
In der DirectX hilfe stand da glaub ich auch summer update dann drüber.
Die Installationsdatei heißt dx90updatesdk.exe, die alte hieß dx90bsdk.exe glaub ich. |
|
Nach oben |
|
|
|