[D3D] total ratlos -> bildverzerrung
Übersicht

Xawer23Betreff: [D3D] total ratlos -> bildverzerrung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo,
ich arbeite zur Zeit an einem Spiel, welches sowohl 2D als auch 3D grafik beinhaltet. das problem: die 2D-Grafik wir ganz normal ausgegeben, aber das Hintergrundbild(welches mit Draw3d geladen wurde) wird sehr "breit" dargestellt und die Mauswerte werden zu den Seiten hin "extremer", will heißen: ein Objekt, welches ich genau auf die Mauskoordinaten setzte, wird in der Bildschirmmitte richtig angezeigt, am Rand ist es der maus aber immer weiter "vorraus". Wahrscheinlich mache ich einen einfachen Fehler(befehl vergessen). Wäre super wenn ihr mir antworten könntet. Danke im Vorraus |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich vermute den Fehler in Zeile 56. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Xawer23 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sehr lustig.
Code: [AUSKLAPPEN] Graphics3D 1280,1024,32,0 SetBuffer BackBuffer() Global Camera=CreateCamera() CameraClsColor Camera,0,0,0 Include "d3d\Includes\Draw3D.bb" DrawInit3D(Camera) Origin3D(640,512) Global lvl_back = LoadImage3D("background.png",1,2,0) Global lvl_front = LoadImage("objects.png") frametimer = CreateTimer(60) ClsColor 0,0,0 Repeat WaitTimer frametimer Cls DrawImage3D(lvl_back,0,0,0,0,0.5,0) RenderWorld Clear3D() DrawImage lvl_front,0,0 Flip 0 Until KeyHit(1) End ;################################# ich habe den Code jetztzur Anschauung aufs wesentliche gekürzt background.png ist ein beliebiges bild ohne alpha, objects.png mit das problem mit dem Mauszeiger ist nicht enthalten |
||
- Zuletzt bearbeitet von Xawer23 am Mo, März 15, 2010 21:37, insgesamt 2-mal bearbeitet
Macintosh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
auf Deutsch: ohne Code nix los. | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast Origin3D(640,512) drin stehen. Das bedeutet, dass die Draw3D dir eine Fakeauflösung von 640x512 anbietet, obwohl du eine 1280x1024 benutzt. Wenn du eine 1:1 -Darstellung haben willst, lass das Origin3D weg, oder stelle es auf den selben Wert wie deine Auflösung. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Xawer23 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke, sieht jetzt schon besser aus.
das bild ist aber immernoch in der Breite gezerrt, als würde es als 16:9 eingezeichnet(ich habe 4:3) |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso, ok, du hast nicht vielleicht ein nicht quadratisches Bild geladen?
Das ist noch ein Problem mit der aktuell hochgeladenen Version der Draw3D. Diese überprüft das nicht und lädt einfach nur das Bild. Achte bitte darauf, dass die Texturen (und das sind ja Bilder unter der Draw3D) immer quadratisch sind, und eine Kantenlänge einer Zweiterpotenz haben. Also .....32x32, 64x64, 128x128, 256x256, 512x512 .... Die neue Version überprüft das und meldet sich mit einer entsprechenden Fehlermeldung, damit das nicht passiert. Außerdem können nicht alle Grafikkarten solche Bilder als Texturen laden. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Xawer23 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, ich muss also meinen hintergrund einfach "quetschen", dann wird er richtig ausgegeben? | ||
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, du musst in bloß auf eine quadratische Textur bringen, indem du z.B. oben und unten weiße Streifen reinbringst. Dann kannst du den Ausschnitt, den du haben willst grabben und anzeigen. | ||
Xawer23 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, vielen dank. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group