[C#] DirectX

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Ik ben eens even gaan klooien met DirectX in C#.
Ik ben nu al zo ver dat ik de info van alle videokaarten in het systeem op kan vragen.
Maar nu wil ik dus een Device aanmaken.
In de MSDN staat:
code:
1
2
3
4
5
6
object.CreateDevice( _ 
    Adapter As Long, _ 
    DeviceType As CONST_D3DDEVTYPE, _ 
    hFocusWindow As Long, _ 
    BehaviorFlags As Long, _ 
    PresentationParameters As D3DPRESENT_PARAMETERS) As Direct3DDevice8

Mijn code:
code:
1
2
3
4
5
6
7
D3DPRESENT_PARAMETERS PresParams = new D3DPRESENT_PARAMETERS();
D3DDISPLAYMODE mode = new D3DDISPLAYMODE();
D3D8.GetAdapterDisplayMode(0, ref mode);
PresParams.Windowed = 1;
PresParams.BackBufferFormat = mode.format;
PresParams.SwapEffect = CONST_D3DSWAPEFFECT.D3DSWAPEFFECT_COPY_VSYNC;
Direct3DDevice8 D3DDev = D3D8.CreateDevice(0, CONST_D3DDEVTYPE.D3DDEVTYPE_SW, (int)this.Handle, 32, ref PresParams);

Het object D3D8 is globaal gedeclareerd als:
code:
1
2
3
4
private DirectX8 DX;
private Direct3D8 D3D8;
DX = new DirectX8();
D3D8 = DX.Direct3DCreate();

Bij die laatste regel geeft ie dus een error:
"Exception from HRESULT: 0x8876086C."

Weet iemand wat ik hier fout doe ?
Of hoe ik zoiets kan debuggen ??

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Ik heb het idee dat hier niet zo erg veel mensen mee bezig zijn.
Klopt dit ?
Of komt er toevallig niemand langs ?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Heb gewoon ff geduld :)
Het komt allemaal goed,

(btw kicken binnen 24 uur wordt niet gewaardeerd ;) )

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 15:58 schreef wasigh het volgende:
Heb gewoon ff geduld :)
Het komt allemaal goed,

(btw kicken binnen 24 uur wordt niet gewaardeerd ;) )
Sorry, ik was er ook al bang voor.
Maar ik zit nu constant maar naar m'n scherm te staren zonder iets te doen omdat ik niet echt verder kan zolang dat gedeelte niet werkt. :'(

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op donderdag 24 januari 2002 16:10 schreef maikel het volgende:

[..]

Sorry, ik was er ook al bang voor.
Maar ik zit nu constant maar naar m'n scherm te staren zonder iets te doen omdat ik niet echt verder kan zolang dat gedeelte niet werkt. :'(
Staat er niets in de DirectX api doc? over dit probleem?
of over fouten die voor kunnen komen??

Ik heb op msdn en google gezocht maar niet echt iets kunnen vinden..

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 16:14 schreef wasigh het volgende:

[..]

Staat er niets in de DirectX api doc? over dit probleem?
of over fouten die voor kunnen komen??

Ik heb op msdn en google gezocht maar niet echt iets kunnen vinden..
Ik gebruik gewoon de API-doc uit de online MSDN.
Maar dat is allemaal voor C++ en een klein beetje voor VB.
Uit een aantal dingen kom ik dus wel, maar ik zie niet waarom dit fout gaat.
Waarschijnlijk 1 van de variabelen in de regel:
Direct3DDevice8 D3DDev = D3D8.CreateDevice(0, CONST_D3DDEVTYPE.D3DDEVTYPE_SW, (int)this.Handle, 32, ref PresParams);
Daar gaat ie namelijk op fout.
Maar welke dan fout is, zou ik zo niet durven zeggen.
Misschien iets met die handle of zo ?
Zo ja, hoe kan ik dat wel werkend krijgen dan ?

Verwijderd

Waarom kijk je niet gewoon even in de samples die bij de framework sdk zitten? :?

Samples\Technologies\Interop\Basic\DirectX

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 16:55 schreef Yarvieh het volgende:
Waarom kijk je niet gewoon even in de samples die bij de framework sdk zitten? :?

Samples\Technologies\Interop\Basic\DirectX
Ik heb hier de SDK niet geinstalleerd.
En die voorbeelden zijn toch allemaal voor C++ (wat dus totaal niet lijkt op C#).
En wat ik nu heb, komt ook uit de voorbeelden die in de online-MSDN staan (DirectX voor VB).

Verwijderd

Je zit C# te programeren zonder de Framework sdk?! :?

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 16:57 schreef KoenM het volgende:
Mischien heb je hier:
http://www.devhood.com/messages/message_view-2.aspx?thread_id=600
of hier:
http://www.google.com/search?hl=nl&q=c%23+directX+8+-c%2B%2B&lr=
wat aan :?
Die bovenste had ik al eens gehad, maar die pagina waarnaar verwezen wordt in dat topic is nog lang niet af.
Het gedeelte dat wel af is gaat alleen maar over het schrijven van zo'n wrapper (of zo).
Die tweede link ga ik nu even kijken.
Maar ik hoop eigenlijk dat iemand me direct kan zeggen wat er fout is in mijn code. Want die heb ik wel adhv voorbeelden gemaakt.

  • tomato
  • Registratie: November 1999
  • Niet online
Yarvieh: Je zit C# te programeren zonder de Framework sdk?! :?
Ik gok van niet :D

Verwijderd

Op donderdag 24 januari 2002 17:10 schreef tomato het volgende:
Ik gok van niet :D
Heeft waarschijnlijk nog niet in z'n visual studio mapje gekeken >:)

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 17:07 schreef Yarvieh het volgende:
Je zit C# te programeren zonder de Framework sdk?! :?
Zonder de DirectX SDK dus. :-)

  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 17:11 schreef Yarvieh het volgende:

[..]

Heeft waarschijnlijk nog niet in z'n visual studio mapje gekeken >:)
Inderdaad. |:(
Ik zat te denken aan die SDK van DirectX (die van 100+ MB).
Ik zal er meteen even naar kijken, helemaal niet aan gedacht !
|:( |:( |:(

Die voorbeelden zijn overigens voor DirectX 7, terwijl ik DirectX 8 gebruik.
Hierin zitten nogal wat verschillen.
Voor dit probleempje heb ik er dus niet al te veel aan.
Dit zit echt in die paar regels code die ik al heb.

Verwijderd

Als je je nou es wat minder ging concentreren op de paar regels code die je al hebt (en duidelijk niet werken) en es kijkt hoe die dx7 sample code werkt, en dat later dan naar 8 tillen (als je echt specifieke dx8 features nodig mocht hebben)

Usenet is zo gek nog niet

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op donderdag 24 januari 2002 22:34 schreef Yarvieh het volgende:
Als je je nou es wat minder ging concentreren op de paar regels code die je al hebt (en duidelijk niet werken) en es kijkt hoe die dx7 sample code werkt, en dat later dan naar 8 tillen (als je echt specifieke dx8 features nodig mocht hebben)
de dx8 API is from scratch geschreven, en lijkt dan ook niet op die van dx7 :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Op donderdag 24 januari 2002 22:34 schreef Yarvieh het volgende:
Als je je nou es wat minder ging concentreren op de paar regels code die je al hebt (en duidelijk niet werken) en es kijkt hoe die dx7 sample code werkt, en dat later dan naar 8 tillen (als je echt specifieke dx8 features nodig mocht hebben)

Usenet is zo gek nog niet
Thanx !!!
Ik hoop dat ik nu wat verder kom hiermee.
Ik zal het straks even gaan proberen.

  • SG
  • Registratie: Januari 2001
  • Laatst online: 13-09 07:59

SG

SG surft naar info hardewaren

Op donderdag 24 januari 2002 22:37 schreef OiSyN het volgende:

[..]

de dx8 API is from scratch geschreven, en lijkt dan ook niet op die van dx7 :)
DirectX zijn toch com modulen, dus je bedoeld zeker de implementatie van de nieuwe interfaces van directX 8(.x) Metname de Directdraw & Dirct3D die zijn versmolten verknipt etc.
:)

X399 Taichi; ThreadRipper 1950X; 32GB; VEGA 56; BenQ 32" 1440P | Gigbyte; Phenom X4 965; 8GB; Samsung 120hz 3D 27" | W2012SER2; i5 quadcore | Mac mini 2014 | ATV 4g | ATV 4K


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op vrijdag 25 januari 2002 20:12 schreef SuperG het volgende:

[..]

DirectX zijn toch com modulen, dus je bedoeld zeker de implementatie van de nieuwe interfaces van directX 8(.x) Metname de Directdraw & Dirct3D die zijn versmolten verknipt etc.
:)
Uhm ja dat is toch hetzelfde? De d3d8 interface is heel anders dan die van d3d7, omdat ie van de grond af opnieuw is opgezet -> dus de API is from scratch geschreven :) (er wordt nog steeds van COM gebruik gemaakt, maar dat heeft er verder weinig mee te maken)

Maar ik bedoelde idd alleen d3d en directdraw (ddraw bestaat niet in dx8), de rest is wel ongeveer hetzelfde gebleven

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 21:09
Het probleem is opgelost !
Het werkt nu !!
En het lag aan..... VS.Net !
Dat was nog de Beta 2 en die maakte blijkbaar een foutje met het maken van de COM Interop voor DX8. :(
Ik heb nu de Final geïnstalleerd en nu werkt het wel.
Pagina: 1