|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 24.06.2008, 15:01 Titel: |
|
|
Hi,
Zitat: | Frage: kann ich mit zwei applikationen (bzw dlls) das gleiche Direct3dDevice benutzen? |
Applikationen: Ja, gehen tut alles, nur nicht so einfach und daher solltest du lieber darauf verzichten. (2 verschiedene Anwendungen teilen sich einfach zu wenig als das es einfach oder gar sinnvoll wäre)
DLLs: Das ist problemlos möglich, hängt natürlich davon ab was genau du denn vor hast. Sollte es so aussehen das du dein "Steam" Ui hast und darin dein "Spiel" anzeigen möchtest so geht das ja, entweder per SwapChains oder per SwapChain und Textur.
Je nachdem was du vorhast gibt es verschiedene Dinge zu beachten... die wir dir aber nur dann erzählen können wenn die passenden Fragen aufkommen.
Zum Dynamischen laden der DLLs, wüsste ich gerne ob du überhaupt schon eine DLL erzeugt hast oder ob du noch bei den Statischen Libs bist. Wenn du nun schon bei den DLLs angelangt bist dann sollte sich dein pluginSystem einfach lösen lassen indem du in der DLL nach aussen hin eine CreatePlugin() Funktion anbietest.
Diese Funktion musst du per GetProcessAddress(..) nachdem du deine DLL geladen hast auf einen Funktionspointer mappen und diese Funktion dann aufrufen. Im Idealfall wird diese CreatePlugin(...) Funktion nun ein Objekt erstellen, ein hübsches Interface zB welches du verwenden kannst:
CPP: | IPlugin* CreatePlugin(...)
{
return new MyPlugin(...);
} |
CPP: | typedef IPlugin* (*pCreatePluginFunc)(...);
pCreatePluginFunc pCreatePlugin = reinterpret_cast<pCreatePluginFunc>(::GetProcAddress(ModuleHandle, "CreatePlugin"));
IPlugin* pMyPlugin = pCreatePlugin(...); |
Was genau du nun mit dem erstellten Plugin anfängst bleibt dir überlassen, wenn du das Plugin nun mit zB deinem DirectX Devices fütterst kann dieses Plugin problemlos darauf zugreifen.
mfg Mark |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|