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

Anonymous

unregistriert

11

01.08.2006, 21:27

Phili
Na ja, da gibt es viele "unelegante" Lösungen. Am besten ist für Binärdaten einfach ReadFile, CreateFile und GetFileSize ;) Unschlagbar

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

12

01.08.2006, 21:30

Also ich benutze

fopen_s()
_filelength(_fileno())
fclose()

Damit bin ich praktisch gross geworden :lol:
Wie elegant das ist, weiss ich aber nicht...
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

Phili

unregistriert

13

01.08.2006, 21:34

@nix da
Ok, aber dass kann ja jeder machen, wie er will, das gehört nicht in ein Shader-Tutorial. ;)

Anonymous

unregistriert

14

01.08.2006, 21:35

big_muff
Kein Standard ;) Kommt mal wieder aus der Borland Gegend.

Phili
Klar, das nicht. Aber nur wenn Du einen hohen "Edelfaktor" erreichen willst ;)

Anonymous

unregistriert

15

01.08.2006, 21:39

Phili
Es währe noch gut, zu erklären was die einzelnen Parameter vom Shadercompiler und so machen. Wenn man kein D3DX benutzt, sollte dies ein großes Thema sein. Also: "Wie bekomme ich aus meinem HLSL ein Kompilat?"

Wenn ich jetzt mal einen auf "Doof" mache und das lese: "Dann kommt "vsa"/"psa" ebenfalls über die Eingabeaufforderung mit denen wir den Assembly-Code dann kompilieren. und die daraus resultierende Datei können wir mit unserer Klasse einlesen."

Frage ich mich (zurecht): Hmn, wie vsa/psa? Wie Eingabeaufforderung? Welches Programm? Das selbe?! Hä?! Keinen Bock mehr! Benutz ich lieber D3DX!

Auch was ich mir jetzt unter /T und vs_2_0 vorstellen soll, ist da so eine Sache!

Daher guter Rat: Genau hier im Kernpunkt, wo D3DX halt viel benutzt wird, solltest Du ordentlich ausbauen.

Olko

Frischling

  • Private Nachricht senden

16

02.08.2006, 00:35

Ich bin mir nicht sicher aber ist in diesem Code-Abschnitt nicht ein Fehler? Der durch "new float[16]" angeforderte Speicher wird doch nicht mehrfreigegeben, bzw. überhaupt verwendet, da der Zeiger Zwischen direkt auf die Matrix gesetzt wird.

C-/C++-Quelltext

1
2
3
4
5
6
PHMAMatrix mat; 
mat = //was man halt will 

float *Zwischen=new float[16]; 
Zwischen=(float*)&MatrixTranspose(mat);  // AB HIER ZEIGT Zwischen AUF DIE MATRIX

D3DDev->SetVertexShaderConstantF(0, Zwischen, 4); 
delete [] Zwischen;

Phili

unregistriert

17

02.08.2006, 11:55

@nix da
Ok, hab jetzt nochn extra Tutorial geschrieben, nur über die Shader-Compiler!

Phili

unregistriert

18

02.08.2006, 19:19

@David Scherfgen

Im Grunde kannst du sämtliche beiträge bis auf den ersten löschen, ich hab die Kommentare bereits einarbeitet und so ist es nur unübersichtlich. Es geht schließlich ums Tut und nicht um die ganzen Disskussionen danach...

19

02.08.2006, 19:34

Guck mal was Olko schrieb...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Phili

unregistriert

20

02.08.2006, 19:39

@Olko
Hast recht.
Hab den kurzen Beispielcode nur so hingeschludert, da passiert sowas eben...
sry

Werbeanzeige