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

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

1

12.06.2005, 22:50

transformierte vertices

Meine transformierten Vertices entsprechen nicht den Bildschirmkoordinaten.
Ein 256x256 Sprite ist dann etwa 338x148.

hier ein Konstruktor:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
panel::panel(IDirect3DDevice9* device, int x, int y, char* file)
{
    this->device = device;
    //textur
    D3DXIMAGE_INFO info;
    ZeroMemory(&info, sizeof(D3DXIMAGE_INFO));
    if(FAILED(D3DXCreateTextureFromFileEx(this->device, file, D3DX_DEFAULT, D3DX_DEFAULT, 1, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, 0, D3DCOLOR_ARGB(255, 0, 255, 0), &info, NULL, &texture)))
        this->texture = NULL;
    int width = info.Width;
    int height = info.Height;
    
    //vertizes
    this->ver = new vertex2d[4];

    ver[0].x = x;
    ver[0].y = y;
    ver[0].z = 0;
    ver[0].rhw = 1.0f;
    ver[0].u = 0.0f;
    ver[0].v = 0.0f;

    ver[1].x = x + width;
    ver[1].y = y;
    ver[1].z = 0;
    ver[1].rhw = 1.0f;
    ver[1].u = 1.0f;
    ver[1].v = 0.0f;

    ver[2].x = x;
    ver[2].y = y + height;
    ver[2].z = 0;
    ver[2].rhw = 1.0f;
    ver[2].u = 0.0f;
    ver[2].v = 1.0f;

    ver[3].x = x + width;
    ver[3].y = y + height;
    ver[3].z = 0;
    ver[3].rhw = 1.0f;
    ver[3].u = 1.0f;
    ver[3].v = 1.0f;
}

Wo könnte der Fehler liegen?

2

14.06.2005, 15:01

schon überlegt das texturkoordinaten immer zwischen 0 & 1 liegen ?
vllt. liegts daran ?


gruß 23h

unsigned int

Alter Hase

Beiträge: 512

Wohnort: Bonn

Beruf: Schüler; C#-Programmierer in einer kleinen Firma

  • Private Nachricht senden

3

14.06.2005, 16:21

...müssen sie aber doch nicht!?
Wenn du zum Beispiel willst, dass sich die Textur am Rand immer wiederholt oder so, da kannst du ja die verschiedenen Modi einstellen...
"Tu es. Oder tu es nicht. Es gibt kein Versuchen."
StarWars

www.tron2d.de.vu

4

14.06.2005, 22:31

ne müssen nicht aber ich würds eher als fehler ansehen wenn
die koordinaten aus irgend einen grund nicht im bereich 0-1 liegen
naja vllt. ansichtssache. man kann ja auch an den wraping-methoden drehen...


bye 23h

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

5

15.06.2005, 00:46

Wenn Du z.B. 50x50 cm Holz eingescannt hast und es (z.B. mit GIMP) kachelbar gemacht hast und es auf eine 1,50m lange Tischplatte ziehen willst, die nur an den Enden Eckpunkte hat, dann kommst Du mit 0-1 nicht aus.
"Games are algorithmic entertainment."

6

15.06.2005, 01:07

hm okay stimmt...überzeugt ^^

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

7

15.06.2005, 10:02

die lösung wurde auf dem zfx board gefunden (ich hab nicht gleichzeitig in beide Foren gepostet sondern 2 Tage gewartet)

ich hab höhe und breite in der D3DPRESENT_PARAMETERS vertauscht :pi_blush:

matthias

Alter Hase

  • »matthias« ist der Autor dieses Themas

Beiträge: 449

Wohnort: wipperfürth

  • Private Nachricht senden

8

15.06.2005, 18:04

+

Quellcode

1
2
D3DXCreateTextureFromFileEx(this->device, file, D3DX_DEFAULT, D3DX_DEFAULT, 1, 0, D3DFMT_UNKNOWN,
 D3DPOOL_MANAGED, [b]D3DX_FILTER_NONE[/b], 0, D3DCOLOR_ARGB(255, 0, 255, 0), &info, NULL, &texture)

geändert in:

Quellcode

1
2
3
4
D3DXCreateTextureFromFileEx(this->device, file,
 D3DX_DEFAULT, D3DX_DEFAULT, 1, 0, D3DFMT_UNKNOWN,
 D3DPOOL_MANAGED, [b]D3DX_DEFAULT[/b], 0, 
D3DCOLOR_ARGB(255, 0, 255, 0), &info, NULL, &texture)

Werbeanzeige