Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

18.07.2008, 19:02

Ich habe es mit Panda exportiert. (exakt die Einstellungen, die du mir empfohlen hast)
Und ich hatte einen würfel auf dieselbe art, wie du es grade nochmal beschrieben hast, erstellt.
ich habe es erst ohne umwandlung in ein poly versucht, danach mit umwandlung. selbes ergebnis: würfel sieht aus, als ob einer draufgehauen hätte..
was mache ich falsch?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

22

18.07.2008, 19:07

Zitat

würfel sieht aus, als ob einer draufgehauen hätte..


Nicht auf den PC hauen. :lol:

Sind den die Verhältnisse im File richtig? (von Hand nachschauen)

23

18.07.2008, 19:29

Ehrlich gesagt habe ich nicht besonders viel Ahnung vom Aufbau der .x-Dateien. Soweit ich das beurteilen kann, sind die Kantenlängen alle 10 (-5 bis +5 auf jeder Achse)
Hier ist der Inhalt von der generierten Datei:
http://freetexthost.com/ynaag2hbgp

24

18.07.2008, 19:42

Also ich hab deinen Würfel mal durch 2 Modelviewer gejagt und in einem Programm von mir getestet. Alles bestens!

25

18.07.2008, 19:47

dann liegt der fehler wohl in meinem code.
ich werde mir alles nochmal genauestens durchschauen.
*soifz*

26

18.07.2008, 21:30

Mit Importer meine ich nen kleinen Algo der z.b das OBJ Format läd. Und wenn man sich mal das OBJ Format anschut, sieht man das es ganz schön simpel ist! Es ist wirklich nicht shwer soetwas zu laden, und OBJ Format reicht (nein ist sogar am Besten, finde ich) für statisch Objekte.

Ich persönlich halte nichts vom X Format, es gefällt mir einfach nicht und ich bin u sehr an DX gebunden!

Am besten ich sag garnichts mehr xD

27

19.07.2008, 14:57

@TrikkieMikkie
Ich habe den gesamten Code nochmals durchgeschaut, und konnte nichts finden :(
Deshalb habe ich mal das Modell in Z3D angesehen, und dort haben die Kantenlängen an einer Achse auch nicht gestimmt: http://img337.imageshack.us/img337/3914/cubeha9.jpg
Welche Modelviewer hast du benutzt?

Hier ist übrigens der Code, den ich benutze:
http://freetexthost.com/eu1cdjqf4l (Formatierung leider durch texthoster zerhauen..)
Relevant sind CMesh::Initialize(), CMesh::Render() und CDirect3D::RenderFrame()

28

19.07.2008, 15:26

DX-Viewer


(Link)


Deep Exploration


(Link)


Also wenn ich keinen Knick in der Pupille habe, sind die Kantenlängen gleich.

Deinen Code schaue ich mir nachher mal an.
Hier gibts übrings ein paar Links (auf der Seite unten, unter Sonstiges) zu ein paar Seiten, auf denen man lesbaren Code posten kann.

29

19.07.2008, 16:26

Dein Problem scheint hier zu liegen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
// the projection transform matrix

D3DXMATRIX matProjection;
D3DXMatrixPerspectiveFovLH(&matProjection,
D3DXToRadian(45), // the horizontal field of view

nWidth / nHeight, // the aspect ratio <- Hier 1.33f

1.0f, // the near view-plane

100.0f); // the far view-plane

d3ddev->SetTransform(D3DTS_PROJECTION, &matProjection); // set the projection

Habe programmweit relevante Größen (Backbuffer, Fenster) mal auf 640x480
gesetzt und den daraus resultierenden Aspectratio mit 1.33f hardcodiert.
Dann siehts auch nach einem Würfel aus.

Farplane habe ich btw. auf 1000 gesetzt.

Das hier

C-/C++-Quelltext

1
2
d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);
d3ddev->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);

kann man auch so schreiben

C-/C++-Quelltext

1
d3ddev->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0, 0, 0), 1.0f, 0);


Hat zwar mit deinem Problem nichts zu tun, kommt aber der Performance zugute ;)

30

20.07.2008, 10:42

Also vielen Dank fürs Code durchschauen!!!
Die Empfehlung, D3DCLEAR_TARGET und D3DCLEAR_ZBUFFER zusammenzulegen hab ich gleich mal übernommen.

Und du hast Recht, es liegt eigtl. nur am Aspectratio. Wenn man statt
nWidth / nHeight
static_cast<float>(nWidth) / static_cast<float>(nHeight)
schreibt, funktioniert es wunderbar.. Darauf falle ich leider immer wieder herein...
Jetzt funktioniert es auch in allen Auflösungen.

Werbeanzeige