Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 18.06.2006, 00:49 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 18.06.2006, 08:40 Titel: |
|
|
F-Xer hat Folgendes geschrieben: | im fb. ordner konnt ich nur ein beispiel mit .bi datein finden aber keins mit dll hab ich was übersehen ? |
Die Bi Datein sind so zusagen eine Anleitung für Freebasic wie es die DLL ansprechen soll. (Wie heissen die Funktionen, Was sind die Parameter ....)
Wenn du also eine Bi Datei einbindest, kannst du mit der betreffenden DLL arbeiten. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 18.06.2006, 14:10 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 18.06.2006, 17:28 Titel: |
|
|
Also ich Versuchsmal:
Zitat: | also brauch ich eine bi datei für jede dinamic link librarie ? |
Jein, oder besser:
Mit ist es viel bequemer, ohne wird's zum Gebastel.
(Hab ich aber auch schon Betrieben)
Zitat: | oder eine für alle dll's ? |
Sagen wir's mal so:
Für jede DLL Gruppe "brauchst" du eine Bi Datei.
z.B. Steckt die WinAPI in der Datei "windows.bi" und das obwohl die WinAPI aus verschiednen DLL's besteht.
Zitat: | EDIT : Wenn ja wo krig ich die her ? Liegen die im sdk ? |
Wenn es um die Bi Datei geht: Die liegen in der Regel im Pfad "FreeBASIC\inc".
Siehe auch (wenn es um DirectX geht) http://freebasic.net/forum/viewtopic.php?t=4410. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 19.06.2006, 19:44 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 19.06.2006, 21:46 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 19.06.2006, 22:42 Titel: |
|
|
Hallo,
da du, wie ich sehe, nicht davon abzubringen bist, DirectX zu benutzen hier eine kurzer Überblick eines DirectX-Programms.
Um auf alle DirectX-Schnittstellen zugreifen zu können musst du zuallererst folgende *.bi Datei einbinden:
Nun hast du Zugriff auf alle DirectX-Funktionen.
Jedes DirectX-Programm von mir ist eigentlich immer unterteilt in:
1.Engine
2.Programm
Das mache ich deswegen, weil DirectX-Progs sonst sehr unübersichtlich werden. Man stelle sich nur die ganzen Funktionen zur Rechnung mit Matrizen, Vectoren und Farben in einer einzigen Datei vor. Das wäre nicht mehr so leicht durchschaubar.
Nun aber zum Wesentlichen:
Was Punkt 1 enthält sollte nun hinreichend geklärt sein, sodass wir gleich zu Punkt 2 kommen.
Das Programm
Ein DirectX-Programm ist wiederum wie folgt unterteilt:
1)Init-Funktion
2)Exit-Funktion
3)Move-Funktion
4)Render-Funktion
5)Funktion zur Bearbeitung von Fensternachrichten
zu 1)
Die Init-Funktion macht alles, was zum Starten von DirectX nötig ist:
Sie erstellt ein Window mit CreateWindow (WINAPI), das von DirectX zur Grafikausgabe benutzt wird.
Sie generiert auch die IDirect3D-Schnittstelle:
Code: |
Dim g_pD3D As PDIRECT3D9
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)
|
und natürlich auch die IDirect3DDevice-Schnittstelle:
Die Generierung dieser Schnittstelle ist allerdings etwas umfangreicher:
Du musst eine Struktur namens D3DPRESENT_PARAMETERS ausfüllen und mit Hilfe von der CreateDevice-Methode (die die IDirect3D-Schnittstelle zur Verfügung stellt) die IDirect3DDevice-Schnittstelle erzeugen. In der D3DPRESENT_PARAMETERS-Struktur legt man alles, was für die Grafikausgabe wichtig ist, fest. (z.B. Größe des Bildbuffers, das Fenster zur Grafikausgabe uvm.)
2)
Die Exit-Funktion fährt DirectX herunter und sollte bei allen erzeugten Schnittstellen die Release()-Methode aufrufen, um diese herunterzufahren.
3)
Die Move Funktion bewegt, wie der Name schon sagt, alle Objekte im DirectX-Programm.
4)
Die Render Funktion bereitet die Grafikausgabe vor und bringt schlussendlich alle Grafik-Objekte auf den Bildschirm.
5)
Die Funktion zur Bearbeitung von Fensternachrichten macht genau das gleiche wie die WndProc() in jeder anderen Windows-Anwendung.
Dass dies ein kleiner Überblick und kein -WennIchDasLesKannIchAlles- Tutorial ist, versteht sich denke ich von selbst.
Ich habe dir die Schlagwörter, nach denen du in der DirectX-SDK suchen musst, fett gedruckt. Ich denke, dass du das SDK hast, denn ohne das brauchst du erst garnicht anzufangen....
Um die DLLs brauchst du dir übrigens überhaupt keine Gedanken machen.
Die d3dx9*.dll muss man nicht mitliefern (und auch nicht mit INCLIB selbst einbinden), da jeder "Zocker" eigentlich immer eine recht aktuelle DirectX-Version installiert hat.
Bei gezielten Fragen versuche ich dir gerne weiterzuhelfen, aber bei einer so umfangreichen Frage á la "Wie lerne ich, DirectX-Programme zu schreiben" würde es ganze Bücher füllen, dir alles zu erklären.  |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 30.06.2006, 23:25 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 01.07.2006, 00:20 Titel: |
|
|
F-Xer hat Folgendes geschrieben: | Na toll, jetzt hab ih den ersten teil trotz diverser arbeiten in der schule durchgelesen und stelle fest das im SDK das ich hab keine einzige ".bi" datei ligt , und auf der fb. seite bei den library downloads war auch nix
EDIT:Der link im link geht scheinnbar net |
Du musst dir eigentlich überhaupt keine Sorgen um die *.bi-Dateien machen, da alle nötigen Dateien in dem FB-Include-Verzeichnis drin sind. |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 01.07.2006, 02:01 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 01.07.2006, 03:19 Titel: |
|
|
du machst einfach
#include "directx.bi"
oder wie auch immer die .bi heißt, die liegt irgendwo in deinem Freebasic-ordner im verzeichnis "inc", die dll wird dann von alleine benutzt. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 01.07.2006, 23:08 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:54, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 01.07.2006, 23:21 Titel: |
|
|
Nichts für ungut, aber was hälst du davon, erst ein wenig mehr zum Thema Programmieren an und für sich zu lernen, bevor Du irgendwelche großartigen Projekte anfängst? _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 01.07.2006, 23:21 Titel: |
|
|
F-Xer hat Folgendes geschrieben: | wenn ich was mit direct x programmiere und das prog feritig ist muss ich die bi datei nicht mitliefern oder ? |
Nein |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 01.07.2006, 23:31 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:53, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 01.07.2006, 23:45 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:53, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 01.07.2006, 23:54 Titel: |
|
|
1)
nein musst du nicht, außer du fängst gleich mit Texturen an....
F-Xer hat Folgendes geschrieben: | Wenn ich anfange fan ich wahrscheinlich mit einzelnen engine abschnitten an z.B. ein bas flie zum poligone erstellen , eins zum verschiben , wie soll ich sie abspeichern oder soll ich sie compilen und dann mit eun einbinden ?
|
Du kannst auch *.bas-Dateien egal wo im Quellcode per #include einbinden.
Zu dem Text vor dem Zitat sag ich mal nichts, da ich nicht verstehen kann, wieso du dir die Maßstäbe so hoch setzt.
Sei doch erstmal zufrieden, wenn du es schaffst einen einzigen Punkt mit DirectX auf den Bildschrim zu bringen....  |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 02.07.2006, 00:07 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:53, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
F-Xer
Anmeldungsdatum: 08.05.2006 Beiträge: 195
|
Verfasst am: 02.07.2006, 11:35 Titel: |
|
|
Deleted
Zuletzt bearbeitet von F-Xer am 10.03.2013, 21:53, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
|