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

1

29.11.2003, 19:58

hilfe, bitte

da mein programm so zuverlässig nicht funktioniert,
hier mal der quellcode zum initialisieren von d3d
ich denk es liegt daran...

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
43
44
45
46
47
48
49
50
51
52
    m_hwnd = hwnd;

    //initialisiere direct3d9
    m_D3D = Direct3DCreate9(D3D_SDK_VERSION);

    //fehler beim initialisieren von d3d
    if (m_D3D == NULL)
    {       
        return FE_ERROR;
    }   
    //erkenne aktuelle desktop einstellung
    if( FAILED( m_D3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &m_d3ddm ) ) )
        return FE_ERROR;


    return FE_OK;
}

//###############################
//# Device erstelen und auflösung ändern
//######################################
feResult CFreakMain::SetMode(DWORD w, DWORD h, DWORD b, bool windowed)
{
    m_Width = w;
    m_Height = h;
    m_Bpp = b;
    
    ZeroMemory( &m_d3dpresent, sizeof(m_d3dpresent) );
    m_d3dpresent.Windowed = windowed;

    m_d3dpresent.SwapEffect = D3DSWAPEFFECT_DISCARD;
    
    m_d3dpresent.BackBufferWidth = m_Width;
    m_d3dpresent.BackBufferHeight = m_Height;

    m_d3dpresent.hDeviceWindow  = m_hwnd;  
    m_d3dpresent.BackBufferCount= 1;   
    m_d3dpresent.BackBufferFormat = m_d3ddm.Format;//D3DFMT_R5G6B5;
    m_d3dpresent.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;


    m_d3dpresent.EnableAutoDepthStencil = TRUE;
    m_d3dpresent.AutoDepthStencilFormat = D3DFMT_D16;
        

    //erstlle das hautpdevice
    if( FAILED( m_D3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, 
        m_hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &m_d3dpresent, &m_Device ) ) )
    {
    
        return FE_ERROR;
    }


jemand ne idee?

gruß 23

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

2

29.11.2003, 20:11

könntest du es "etwas" Konkreter definieren, "was" nicht funktioniert?

3

29.11.2003, 20:15

das steht in dem anderen thread

das programm scheint auf 90% der rechner nicht zu laufen und
bricht beim start mit der fehlermeldung
"freakengine.dll verursachte einen fehler durch eine ungültige seite...." ab.
nur bei ghostie scheinbar nicht naja und bei mir *g*

jube

Frischling

Beiträge: 36

Beruf: Schüler

  • Private Nachricht senden

4

29.11.2003, 20:53

Hi,
bei mir gehts auch(AMD Athlon 1,4 Ghz,256Mb Ram,Geforce2Mx,Windows Xp Professionel). Habs grad getestet und 250 fps erreicht. Cool!
Julian

5

30.11.2003, 01:30

danke fürs feedback.

aber etwas komisch ich hab auch ne gforceMX
aber nur nen uralt thunderbird mit 1ghz 196 mb ram und hab 422 fps...
hm naja vielleciht hast du ja noch was laufen gehabt oder so.
danke jedenfalls fürs testen

6

30.11.2003, 12:45

Es könnte an D3DCREATE_SOFTWARE_VERTEXPROCESSING oder den Stencil kram liegen. Zumindest bei der Riva TNT 2 von ... ??

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

7

30.11.2003, 12:47

gab es da net mal ne funktion IDirect3D::CheckDevice ? damit konnte man doch alles checken und abfragen? ???

8

30.11.2003, 12:54

Roger that

9

30.11.2003, 13:58

eben weil ich mr das gespart hab, überraschts mich auch nicht das es bei
einigen nicht geht.

danke für die tips...rip

Werbeanzeige