SimpleDX11 Projekt

Anwendungen, Tools, Userlibs und anderes nützliches.
Nero
Beiträge: 285
Registriert: 08.11.2004 01:50

Re: SimpleDX11 lib Projekt

Beitrag von Nero »

Hab die zip neu hochgeladen für die passenden includes

Hier mal der Test code

Code: Alles auswählen


#DefaultAdapter = 0

; Wichtige Include dateien
XIncludeFile "SimpleDX11_Imports.pb" 
XIncludeFile "SimpleDX11_Structures.pb" 
XIncludeFile "SimpleDX11_Interfaces.pb" 
XIncludeFile "SimpleDX11_HelperProcedures.pb"

; Tastatur initialisieren
If Not InitKeyboard()
  MessageRequester("Fehler", "Die Tastatur konnte nicht initialisiert werden!")
  End  
EndIf


;/////////////////////
;//     GLOBALS     //
;/////////////////////

sdxFactory.IDXGIFactory1                   =0
sdxAdapter.IDXGIAdapter1                   =0
sdxDevice.ID3D11Device                     =0
sdxImmediateContext.ID3D11DeviceContext    =0 

Procedure CleanUp()
  Shared sdxFactory, sdxAdapter, sdxDevice
  
  If sdxFactory          : sdxFactory\Release()           : EndIf
  If sdxAdapter          : sdxAdapter\Release()           : EndIf
  If sdxDevice           : sdxDevice\Release()           : EndIf
EndProcedure

; Ein fenster öffnen
#Window = 0
WID.l
If OpenWindow(#Window, 50, 200, 800, 600,"Test Simple DirectX 11 Screen (Device 1)",#PB_Window_SystemMenu | #PB_Window_SizeGadget)
  WID = WindowID(#Window)
Else
  MessageRequester("Fehler", "Fenster konnte nicht geöffnet werden!")
  End
EndIf


If CreateDXGIFactory1(@IID_IDXGIFactory1, @sdxFactory)
  MessageRequester("Fehler", "IDXGIFactory1 konnte nicht erstellt werden!")
  CleanUp()
  End  
EndIf

If sdxFactory\EnumAdapters1(#DefaultAdapter, @sdxAdapter)
  MessageRequester("Fehler", "IDXGIAdapter1 konnte nicht enumeriert werden!")
  CleanUp()
  End  
EndIf

*desc = AllocateMemory(128)
sdxAdapter\GetDesc1(*desc)
Debug PeekS(*desc, -1, #PB_Unicode)


If D3D11CreateDevice(sdxAdapter, #D3D_DRIVER_TYPE_HARDWARE, #Null, #Null, #Null, #Null, #D3D11_SDK_VERSION, @sdxDevice, @sdxFeaturLevel, @sdxImmediateContext)  
  MessageRequester("Fehler", "ID3D11Device konnte nicht erstellt werden!")
  CleanUp()
  End  
EndIf

; Hauptschleife
Repeat  
  Event.l = WindowEvent() 
  Delay(1)
Until Event = #PB_Event_CloseWindow 

CleanUp()
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: SimpleDX11 lib Projekt

Beitrag von DrShrek »

Nero: Hast Du Skype?
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: SimpleDX11 lib Projekt

Beitrag von DrShrek »

Also mal fürs erste: Lib2PBImport funktioniert nicht richtig.
Es macht statt .i (für pointer) immer ein .l

Das ist schon mal eine erste Fehlerquelle.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: SimpleDX11 lib Projekt

Beitrag von DrShrek »

Hier mal ein Beispiel wie es besser deklariert wird (SimpleDX11_imports.pb):

Code: Alles auswählen

Import #LIB_DXGI
...
CreateDXGIFactory1.i(*riid.i, *ppFactory.i) As "_CreateDXGIFactory1@8"
Und so hast Du es deklariert:

Code: Alles auswählen

Import #LIB_DXGI
...
CreateDXGIFactory1(a.l,b.l) As "_CreateDXGIFactory1@8"
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Nero
Beiträge: 285
Registriert: 08.11.2004 01:50

Re: SimpleDX11 lib Projekt

Beitrag von Nero »

DrShrek hat geschrieben:Nero: Hast Du Skype?
Noch nicht wieder Installiert brauche es so selten kann es aber am WE mal installieren.
DrShrek hat geschrieben:Also mal fürs erste: Lib2PBImport funktioniert nicht richtig.
Es macht statt .i (für pointer) immer ein .l

Das ist schon mal eine erste Fehlerquelle.
Jep hast recht.

EDIT 1:
Ohman ich depp :oops: hatte adapter auf NULL und daher Drivertype auf #D3D_DRIVER_TYPE_HARDWARE hätte aber #D3D_DRIVER_TYPE_UNKNOWN sein müssen :coderselixir:


Nun geht es /:-> hab das zip geupdatet.

Bild

EDIT 2:
Ich denke irgendwie ist der Thread nicht mehr im richtigen Forum :lol:
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: SimpleDX11 lib Projekt

Beitrag von DrShrek »

Nero hat geschrieben: EDIT 2:
Ich denke irgendwie ist der Thread nicht mehr im richtigen Forum :lol:
Doch eine Chance für ein z.B. SVN Project?
Ich wäre dabei ;-)
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Nero
Beiträge: 285
Registriert: 08.11.2004 01:50

Re: SimpleDX11 lib Projekt

Beitrag von Nero »

Hm erstmal sollte geklärt werden was es im endefeckt werden soll :lol:

Ursprünglich hatte ich es so gedacht das ich mir mit C++ ne lib schreibe über die
ich dann DX einfach initialisieren kann und die mir befehle für 2D bzw 3D zur verfügung
stellt also wie die Befehle die bei PB dabei sind nur auf DX11 basis.
Also keine kommplette 3D engine.

Dann welche Sprache PB oder VC++?
Desweiteren bin ich nicht wirklich für ne UserLib, erstens ich hab keinen schimmer wie ich eine
mit PB erstelle und der C++ Code im PB SDK Ordner erzeugt mit VC Express 2010 nur error's beim Compilieren,
hab da nach dem ersten versuch garnicht weiter geschaut es hinzubiegen.
Daher hatte ich einfach ne normale static lib erstellt und mir die PB befehle importiert die ich brauchte.
So muß man die Lib zwar in PB importieren aber das ist ja nicht wirklich nen Problem.
Auf der anderen Seite PB ist bequemer zu programmieren :lol: allerdings da es DX11 in PB nicht gibt ne menge
handarbeit :roll:

Aber noch ist alles offen bisher gibts ja nix auser ein paar test codes.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: SimpleDX11 lib Projekt

Beitrag von DrShrek »

Also ich bin auch eher eine native C++ Library.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Nero
Beiträge: 285
Registriert: 08.11.2004 01:50

Re: SimpleDX11 lib Projekt

Beitrag von Nero »

Ich erstelle mal ein neues VC++ project nur mit DX Initialisierung dann kannst du es dir anschauen und
deine meinung sagen.
Poste es dann morgen oder am Sontag je nach dem wie ich morgen zeit habe.
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Re: SimpleDX11 lib Projekt

Beitrag von DrShrek »

Es geht Dir doch um ein DX11 Subsystem welches die DX9 Befehle von PureBasic abdeckt, oder?
Oder um etwas anderes?
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten