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

11

23.05.2010, 11:29

Genau das versucht man eigentlich mit einer Projektionsmatrix zu verhindern. Du hast ja schließlich einen AspectRatio als Parameter, damit gibst du die Seitenverhältnisse deines Bildschirms an. Die Projektionsmatrix sollte die Szene dann so projezieren das ein Quadrat auch ein Quadrat bleibt.

C-/C++-Quelltext

1
2
3
4
while(true)
{
    printf("Schon wieder aufgehangen!?");
}

12

23.05.2010, 11:32

Okay dann funktioniert aber genau das bei mir nicht xD Naja ich werd mal gucken ^^ Das kriege ich wohl noch selber hin ^^
;>" Auf jedem Schiff das dampft und segelt ist einer der die Putzfrau vögelt. Und ist das Schiff auch noch so klein, einer muss die Putzfrau sein.

Frauen sind wie Computer. Man denkt: "Hättest du noch ein bisschen abgewartet, hättest du vermutlich was besseres gekriegt"

13

23.05.2010, 11:39

Na das ist ja auch kein Wunder das es bei dir nicht funktioniert:

C-/C++-Quelltext

1
2
3
4
TDX_Matrix TDXM = TDX_ProjectionMatrix( DEG_TO_RAD(45.0f),
                                            g_TDX->GetWidth()/g_TDX->GetHeight(),
                                            0.1f, 
                                            100.0f);


Ich gehe mal davon aus das g_TDX->GetWidth() und g_TDX->GetHeight() ein int oder unsigned int zurück gibt. Was ergibt folgendes:

C-/C++-Quelltext

1
2
3
4
5
6
int w = 800;
int h = 600;

int r = w/h;

printf("%i", r);


Teste es und staune. Denn Int durch Int ergibt ein Int, und kein float. In dem Fall würde es 1 ergeben und nicht 1,333

Du musst die Höhe und Breite ersteinmal in float casten:

C-/C++-Quelltext

1
2
3
4
TDX_Matrix TDXM =  TDX_ProjectionMatrix( DEG_TO_RAD(45.0f),
                                             (float)g_TDX->GetWidth()/(float)g_TDX->GetHeight(),
                                             0.1f, 
                                             100.0f);

C-/C++-Quelltext

1
2
3
4
while(true)
{
    printf("Schon wieder aufgehangen!?");
}

14

23.05.2010, 11:44

Okay ^^ Bin ich blöd :pinch:

Naja okay danke nochmal Potatoman! :thumbsup:
;>" Auf jedem Schiff das dampft und segelt ist einer der die Putzfrau vögelt. Und ist das Schiff auch noch so klein, einer muss die Putzfrau sein.

Frauen sind wie Computer. Man denkt: "Hättest du noch ein bisschen abgewartet, hättest du vermutlich was besseres gekriegt"

15

23.05.2010, 11:48

Immer gern ;)

C-/C++-Quelltext

1
2
3
4
while(true)
{
    printf("Schon wieder aufgehangen!?");
}

16

10.03.2021, 02:34

EDIT Bin mir nicht sicher, ob das problem gelöst wurde deshalb:

Es ist schon ne ganze weile her deshalb weiss ich nicht mehr, wie es heisst aber woran ich mal geeckt bin: Zeichne das dreieck einfach mal andersrum. (Also einfach den 2. und dritten punkt vertauschen)

Es gibt einen (relativ einfachen und grundlegenden) mechanismus, dass - wenn aktiviert - nur dreiecke, die wahlweise im in uhrzeiger oder gegen uhrzeigersinn gezeichnet werden gezeichnet werden oder eben auch nicht. damit kann man - wenn man die dreiecke entsprechend sortiert - vermeiden, das gezeichnet wird was man eh nicht sieht....

Vl. hilft das ja weiter.

FSA

Community-Fossil

  • Private Nachricht senden

17

11.03.2021, 13:14

1. Der Thread ist von 2010...
2. Du hast ja nicht mal den Code gelesen. Da steht: g_TDX->GetDevice()->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE);

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

18

11.03.2021, 20:53

1. Der Thread ist von 2010...
2. Du hast ja nicht mal den Code gelesen. Da steht: g_TDX->GetDevice()->SetRenderState(D3DRS_CULLMODE,D3DCULL_NONE);

lol... wird der bei mir als erstes angezeigt, weil hier soviel traffic ist oder wurde der extra für mein mausklick verhalten aus der versenkung geholt?!

und nein, ich hab nur ein bisschen in den beiträgen geschmökert und das angemerkt, weil es vielleicht weiterhilft.

Jonathan

Community-Fossil

  • Private Nachricht senden

19

11.03.2021, 22:23

lol... wird der bei mir als erstes angezeigt, weil hier soviel traffic ist oder wurde der extra für mein mausklick verhalten aus der versenkung geholt?!

Jep - Threads hier sind in der Regel nach Datum des letzten Beitrages sortiert, außerdem werden Threads mit neuen Beiträge seit dem letzten Besuch gesondert markiert - d.h. absolut jeder registrierte Besucher hier im Forum wurde darauf aufmerksam gemacht^^
Lieber dumm fragen, als dumm bleiben!

20

12.03.2021, 00:52

lol... wird der bei mir als erstes angezeigt, weil hier soviel traffic ist oder wurde der extra für mein mausklick verhalten aus der versenkung geholt?!

Jep - Threads hier sind in der Regel nach Datum des letzten Beitrages sortiert, außerdem werden Threads mit neuen Beiträge seit dem letzten Besuch gesondert markiert - d.h. absolut jeder registrierte Besucher hier im Forum wurde darauf aufmerksam gemacht^^


ja ich vermute es war ne anzeige "verwandte beiträge" wo ich nicht aufs datum geachtet habe.... bin neu, dumm und noch feucht hinter den ohren ;)

Werbeanzeige