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

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

11

16.04.2006, 12:54

So ich glaub inzwischen, es konnte an den Header, welche ich includiere liegen, wisst ihr zufällig, ob einer davon zu alt, oder nicht konform ist, o.ä.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include <windows.h>
#include <IO.h>
#include <FCntl.h>
#include <DXErr9.h>
#include <D3D9.h>
#include <D3DX9.h>
#include <DInput.h>
#include <DSound.h>
#include <DShow.h>
#include <direct.h>
#include <string>
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Anonymous

unregistriert

12

16.04.2006, 13:31

wtf? wofür brauchst Du soviele Header?!?!?!

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

13

16.04.2006, 13:41

Welche sollte ich denn weglassen können!? Das ist eine 3D-Engine!
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Anonymous

unregistriert

14

16.04.2006, 13:49

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include <windows.h> 
#include <IO.h> // Für was?!

#include <FCntl.h> // Für was?!

#include <DXErr9.h> // Für was?!

#include <D3D9.h> 
#include <D3DX9.h> // Für was?!

#include <DInput.h> 
#include <DSound.h> 
#include <DShow.h> 
#include <direct.h> // Für was?!

#include <string>

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

15

16.04.2006, 14:37

Also:

#include <IO.h>
#include <FCntl.h>

für diese Funktionen und Flags (ich kenne keinen anderen Weg die Dateigröße bestimmen zu lassen!)

C-/C++-Quelltext

1
2
3
4
int iFile = 0;
    ::_sopen_s(&iFile, sTemp.c_str(), _O_BINARY | _O_RDONLY, _SH_DENYNO, 0);
    long lSize = ::_filelength(iFile);
    ::_close(iFile);


---------------------------------------------------------

#include <DXErr9.h>

Für die Log-Funktionen:
DXGetErrorString9W(hResult) und DXGetErrorDescription9W(hResult)

----------------------------------------------------------

#include <D3DX9.h>

Für Effekte und Texturen (das einzige wofür ich DX brauche!)

----------------------------------------------------------

#include <direct.h>

hmmm... weiß auch nicht... Find nicht mehr wozu ich sie eingebunden habe... Danke jedenfalls... ist jetzt weg! :D
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Anonymous

unregistriert

16

16.04.2006, 14:46

Black-Panther
Für das Dateihandling solltest Du die C-Funktionen sowie C++ streams links liegen lassen! Die sind langsam und bieten nicht die sicherheit wie die API Funktionen.

Zum lesen einer Dateigröße gibt es die API Funktion GetFileSize
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/getfilesize.asp

Diese erwartet als 1. ein gültiges Dateihandle und als 2. einen optionalen Parameter wo die Dateigröße in Bytes gespeichert werden soll.

Nicht Vergessen: Handle wieder freigeben!

<dxerr9.h> habe ich bisher nie benötigt, da ich eigentlich nie Fehler in meinen DirectX Applikationen habe naja und D3DX? Habe nur ein Grafikformat: tga

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

17

16.04.2006, 22:35

Zitat von »"nix da"«

Black-Panther
Für das Dateihandling solltest Du die C-Funktionen sowie C++ streams links liegen lassen! Die sind langsam und bieten nicht die sicherheit wie die API Funktionen.

Zum lesen einer Dateigröße gibt es die API Funktion GetFileSize
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/getfilesize.asp

Diese erwartet als 1. ein gültiges Dateihandle und als 2. einen optionalen Parameter wo die Dateigröße in Bytes gespeichert werden soll.

Nicht Vergessen: Handle wieder freigeben!


Ok... werd ich mir bei Gelegenheit mal anschauen!

Zitat von »"nix da"«


<dxerr9.h> habe ich bisher nie benötigt, da ich eigentlich nie Fehler in meinen DirectX Applikationen habe naja und D3DX? Habe nur ein Grafikformat: tga


Hmmm... Wie speicherst du dann Würfel-Texturen (SkyBox), oder Volumentexturen mit tga?
Falls ich mal Zeit habe, werd ich mich vielleicht um die Implementierung einer eigenen Texture-Lade-Funktion bemühen, aber wie soll ich zB die Effekte ohne DX managen? Außerdem spricht derzeit nichts gegen die Verwendung von DX (auch auf die Gefahr hin, dass du mich jetzt kurz und klein schimpfst!)^^
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Anonymous

unregistriert

18

16.04.2006, 22:47

Black-Panther
Ich benutze keine Skyboxen? Ich benutz für 3D Hintergründe echte 3D Modelle (Deformierte Sphere mit einer Textur drauf) da diese mehr Realismus erzeugen. Und effekte? Ich hab nen Scenemanager, der macht das. Dafür benötige ich keine Effekte von D3DX.

Black-Panther

Alter Hase

  • »Black-Panther« ist der Autor dieses Themas

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

19

16.04.2006, 23:04

Wie benutzt du dann HLSL-Shader?
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

Anonymous

unregistriert

20

16.04.2006, 23:07

Black-Panther
Ich benutze Assemblershader, die compiliere ich mit einem Externen Tool und speichere diese dann ab. Später lade die dann nur noch in das Kompilat in das Programm rein und benutze es.

Werbeanzeige