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

19.11.2003, 19:14

RE: Engine mit DX, Game ohne ... Vertexbuffer problem

Hi !

Ich kanns mir nicht erklären aber mit meiner dhVertexBuffer erstellt er keine VBS :( Sie ist anders aufgebaut als Davids, da ich nicht so gern extra einen Buffer im Ram dafür erstellen möchte. (Was auch Vorteile hätte)

Hier mal Header:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class D3DHAWK_API dhVertexBuffer
{
private:
    LPDIRECT3DVERTEXBUFFER9 m_pVB;
    DWORD m_dwSize;
    DWORD m_dwUsage;
    DWORD m_dwFVF;
    D3DPOOL m_Pool;

public:
    bool                    Init(DWORD dwSize,DWORD dwFVF,DWORD dwUsage = D3DUSAGE_WRITEONLY,D3DPOOL Pool = D3DPOOL_DEFAULT);
    bool                    Lock(DWORD Offset,DWORD Lenght,void* pData, int Flags = 0);
    bool                    Unlock();
    bool                    Release();

    inline PDIRECT3DVERTEXBUFFER9   GetVB()                 {return m_pVB;}
    inline DWORD                    GetSize()               {return m_dwSize;}
    inline DWORD                    GetFVF()                {return m_dwFVF;}
    inline DWORD                    GetUsage()              {return m_dwUsage;}
    inline D3DPOOL                  GetPool()               {return m_Pool;}
};


Cpp:

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
#include "dh_init.h"
#include "dh_vertexbuffer.h"

bool dhVertexBuffer::Init(DWORD dwSize,DWORD dwUsage,DWORD dwFVF,D3DPOOL Pool)
{
    //Pool = D3DPOOL_MANAGED
    //dwUsage = D3DUSAGE_WRITEONLY
    m_dwSize = dwSize;
    m_dwUsage = dwUsage;
    m_dwFVF = dwFVF;
    m_Pool = Pool;

    m_pVB = NULL;
    if(SUCCEEDED(dhGraphics::GetDevice()->CreateVertexBuffer(dwSize,dwUsage,dwFVF,Pool,&m_pVB,NULL)))
    {
        return true;
    }

    return false;
}

bool dhVertexBuffer::Lock(DWORD Offset,DWORD Lenght,void* pData, int Flags)
{
    if (pData == NULL)
        return false;

    if (FAILED(m_pVB->Lock(Offset,Lenght,(void**)pData,Flags)))
        return false;
    else
        return true;
}

bool dhVertexBuffer::Unlock()
{
    if (FAILED(m_pVB->Unlock()))
        return false;
    else
        return true;
}

bool dhVertexBuffer::Release()
{
    if (m_pVB)
    {
        m_pVB->Release();
        m_pVB = NULL;
    }
    return true;
}


dhGraphics ist ne statischen klasse, so wie bei der TriBase, das wird später noch auf Singleton umgestellt.

2

19.11.2003, 21:15

HELP :(

3

19.11.2003, 22:51

Lol ... ganz dummer fehler, schaut dirs mal an, die Defination in dem Header und in der CPP. Fällt dir was auf ? ;)

Trotzdem thanks für die Mühe, was ein dummheits fehler .... *G*

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

4

19.11.2003, 23:56

Öhm... dass ich auch was lernen kann ... ;D
Was sollte mir denn auffallen? ???
Mozilla Firefox
The Browser - reloaded

5

20.11.2003, 00:06

Schau dir mal die bool Init im Header und in der CPP File an, besonders die Reihenfolge ;)

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

6

20.11.2003, 16:37

:-D
danke, jetzt hab ichs auch gesehn ;)
Mozilla Firefox
The Browser - reloaded

Werbeanzeige