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

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

21

08.07.2006, 13:57

Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Anonymous

unregistriert

22

08.07.2006, 14:00

dxguid.lib

nicht dxguide.lib

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

23

08.07.2006, 14:05

gut, jetz weiß ich was passiert wäre wenn das mit ddraw.lib geklappt hätte ;) .. nun gut.. geändert.. aber mit ddraw.lib funktionierts noch immer nicht ^^


*edit:
vllt. stimmt was nicht mit der datei.. warum auch immer.. könnte das vllt. sein? weiß wer von euch wo ich ddraw.lib runterladen kann ohne das komplette dxsdk installieren zu müssen ? ^^
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Anonymous

unregistriert

24

08.07.2006, 14:08

Achja, nimm mal das Komma hinter ddraw.lib weg ;)

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

25

08.07.2006, 14:12

WAAAAAAAAAAAAAAAAAAAAAAAAH :lol:

das kanns ja nicht sein .. es geht..

:oops: *peinlich*

ein komma wars.. das gibts nicht *grml*




sorry leute für den aufstand .. und danke für eure hilfe ^^ darum hab ich das forum auch schon so lieb :D



aber wo ich schon dabei bin.. hab noch ein paar kleine quästschns.. vllt. mag sie wer geantworten ^^

die callback funktion bei der win32 programmierung.. die sieht, so kommts mir vor, bei jeden anders aus..

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

LONG FAR WINAPI WndProc (HWND , UINT , UINT , LONG) ;

LRESULT WINAPI WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{


muss ich das alles auswendig lernen? unterscheiden wann brauch ich was, und was bedeutet jeder parameter/jedes wort /was auch immer ..
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

CW_Kovok

Alter Hase

Beiträge: 836

Wohnort: nähe Bonn

Beruf: Schüler

  • Private Nachricht senden

26

10.07.2006, 23:45

guck dir einfacvh mal an wie die Makros definiert sind:

CALLBACK -> __stdcall
WINAPI -> __stdcall

//edit sry grad keine ide, vertraue nie deinen erinnerungen

usw.
Was es alles gibt, das ich nich brauche - Aristoteles

27

11.07.2006, 00:21

o.O Da haben wir aber verschiedene Definitionen :D
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

28

11.07.2006, 01:03

ja is eigentlich das gleiche.

achja und zu deiner Frage oben wegen dem BOOL und int bei WinMain.
BOOL ist nach dem was ich weis als int definiert und ist nicht dasselbe wie bool (kleingeschrieben).
und bei BOOL verwendet man normal die Makros TRUE und FLASE und nicht true und false. Also is BOOL eigentlich ein stinknormaler Ganzzahldatentyp.

korrigiert mich wenn ich blödsinn schreib *g*.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

29

11.07.2006, 08:37

So "das gleiche" ist das nicht:

Quellcode

1
2
!true = false;
!false = true;

-> http://msdn2.microsoft.com/en-us/library/tf4dy80a.aspx

Bei WinAPI:

Quellcode

1
2
3
4
5
6
7
8
9
#ifndef FALSE
#define FALSE               0
#endif

#ifndef TRUE
#define TRUE                1
#endif

typedef int                 BOOL;

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

30

11.07.2006, 14:01

oho! das ist wohl der berühmte aha! effekt von dem immer alle reden :P

so ne frage am rande:

wenn der compiler eine messagebox ausgibt und mir schreibt:

Zitat


"Unhandled exception at 0x004128e6 in 'Direct3D Project.exe':
0xC0000005: Access violation reading location 0x00000000."


was heißt das dann?

kann es vielleicht sein dass ich irgendwo auf eine variable zugreife die keine/n adresse/wert hat? oder eine solche einer funktion übergebe?


*edit:
problem gelöst!

jetz hab ich ein anderes ..

C-/C++-Quelltext

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
43
44
45
46
    // Konstruktor

CTriangle::CTriangle(D3DMATRIX projectionMatrix, IDirect3DDevice9 *direct3ddevice)
{
    
        // Projektionsmatrix erstellen mit einem Sichtfeld von 45° und einer Sichtweite von 100 Größeneinheiten.

    matrixProjection(45.0f, 800.0f/600.0f, 0.5f, 100.0f, &projectionMatrix);

    if  (!direct3ddevice->SetTransform (D3DTS_PROJECTION, &projectionMatrix))
    {
        MessageBox (NULL, L"IDirect3D9::SetTransform(); fehlgeschlagen!", L"Error:", MB_OK);
    }
        
        // Den VertexBuffer für unser Dreieck erstellen

    if (direct3ddevice->CreateVertexBuffer(3 * sizeof(vertex_XYZ_D), 0, 0, D3DPOOL_DEFAULT, &vbTriangle_Class, NULL) != D3D_OK)
    {
        MessageBox (NULL, L"IDirect3D9::CreateVertexBuffer(); fehlgeschlagen!", L"Error:", MB_OK);
    }

        // Speicherpuffer für die Vertices

    vertex_XYZ_D* Vertices;

         // Das Dreieck definieren!

    vertex_XYZ_D Triangle_Data[3] = 
    {
        // X      Y     Z       Farbe

        {-0.5f, -0.5f, 0.0f, 0xFFFF0000},
        { 0.5f, -0.5f, 0.0f, 0xFF00FF00},
        { 0.0f,  0.3f, 0.0f, 0xFF0000FF}
    };

        // VertexBuffer verriegeln und Speicher auf 'Vertices' verweisen.

    if (vbTriangle_Class->Lock (0, sizeof(Triangle_Data), (void**)&Vertices, 0) != D3D_OK)
    {
        MessageBox (NULL, L"IDirect3DVertexBuffer9::Lock(); fehlgeschlagen!", L"Error:", MB_OK);
    }

         // Die Daten des Dreiecks in den Speicherpuffer schreiben.

    memcpy (Vertices, Triangle_Data, sizeof(Triangle_Data));

         // Entriegeln und Daten aus dem Speicherpuffer auf die Grafikkarte deponieren.

    if (vbTriangle_Class->Unlock () != D3D_OK)
    {
        MessageBox (NULL, L"IDirect3DVertexBuffer9::Unlock(); fehlgeschlagen!", L"Error:", MB_OK);
    }

} // CTriangle ()


das problem ist dass er mich schon bei der ersten funktion raushaut ..
direct3ddevice->SetTransform();

kA warum .. die parameter hab ich wohl richtig übergeben

main.cpp:

C-/C++-Quelltext

1
CTriangle = new instTriangle(matProjection, direct3ddevice);
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Werbeanzeige