Du bist nicht angemeldet.

Freakstar

Deprimierter optimist xD

  • »Freakstar« ist männlich
  • »Freakstar« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

1

Freitag, 28. Mai 2010, 11:54

Meine DirectX Tuts [3/5] online

Hey Leute,
ich stelle hier meine ganzen Tutorials zu DirectX rein,

Tut 1 - Initialisieren von DirectX in VB, Download | PDF ~820 kb
Tut 2 - Kamera und Vertex, Download | PDF ~750 kb
Tut 3 - Vertex Teil II, Rotation Download | PDF ~ 153 kb
Tut 4 - DirectInput, Tastatur Download | PDF ~190kb
Tut 4 Teil 2 - DirectInput, Maus Download | PDF ~190kb

Legende:
Fertig
Fast fertig(Noch nicht hochgeladen)
Noch in Bearbeitung/Noch nicht Angefangen
Nachbearbeitung

Hier findet ihr immer Aktuelle News:
»Freakstar« hat folgende Dateien angehängt:

Status: Chilln

Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »Devtronic« (18. Juni 2010, 22:11)


Es haben bereits 3 registrierte Benutzer diesen Beitrag als hilfreich eingestuft.

Benutzer, die diesen Beitrag hilfreich fanden:

Eistee, meyer0815, osterholz

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

2

Samstag, 29. Mai 2010, 22:51

Tut 2: Timer Intevall = 40 ergibt ein FPS-Anzahl von 25 reicht doch noch für dein Auge, oder?...xD
ich finde den Up-Vektor könntest du eigt. direkt angeben(man verwendet ja eigt. immer den selben)...
den VertexBuffer brauchst du auch nicht bei jedem Rendervorgang neu erstellen, einmal reicht dabei völlig...

sonst hab ich keine Fehler gefunden und ich finde es Super, dass hier dann alles so kompakt kommt ;)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

3

Mittwoch, 2. Juni 2010, 12:36

@jvbsl:
ok, werd ich im nächsten Nachtragen, im nächsten Tut geht es um Texturen + Matrix Rotation :D

lg

Status: Chilln

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

4

Sonntag, 6. Juni 2010, 22:16

also den VertexBuffer erstellst du immernoch jedesmal neu->unperformant und unnötig...

Zitat


Matrix.Rotation X/Y/Z = Rotiert die zugehörige Achse um den Wert der in
der Klammer steht.

hierzu würde ich noch ergänzen, dass der angegebene Wert im Bogenmaß angegeben ist( Bogenmaß * 180 / PI = Grad umstellen sollte kein Problem sein...:P)

der Rest ist eigt. wieder ganz gut(gibt aber auch nicht mehr wirklich viel :P)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

DarkEnjoy

Registrierter Benutzer

Beiträge: 80

  • Private Nachricht senden

5

Mittwoch, 9. Juni 2010, 20:51

Hm... das Microsoft.DirectX ding gibt es bei mir nicht... woran ligt das? bei mir gibts nich mit DX, hab aber v 11 installiert
Mein lieblings Minecraft-Server =)
Ich bin Koony97 =)


jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

6

Mittwoch, 9. Juni 2010, 23:46

du musst das Microsoft DirectX SDK installiert haben(der Client benötigt das DirectX 9.0c Redistributable)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

7

Donnerstag, 10. Juni 2010, 08:33

hast du das DirectX SDK runtergeladen?
wenn nicht:
http://www.microsoft.com/downloads/detai…02-438a3ba730ba

lg.

Status: Chilln

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

8

Freitag, 11. Juni 2010, 21:44

So, das Vierte Tutorial ist nun auch fertig, DirectInput Teil 1, Tastatur

Status: Chilln

Nibel

adorable

Beiträge: 210

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 18

  • Private Nachricht senden

9

Samstag, 12. Juni 2010, 12:11

So bei mir bleibt der Inhalt die ganze Zeit grau.
Ich habe auf jeden CPU-Typ umgestellt, das SDK installiert, ich hab genau deinen Code eingefügt er bleibt grau.
Hast du ne Idee ?

Da ich mich auch in C++ mit Direct3D beschäftige, weiß ich das es klappt, ich krieg da auch einen blauen Hintergrund hin : D

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

10

Samstag, 12. Juni 2010, 20:13

hmmm, verweise festgelegt? probier mal Den Code vom ersten Tut per Copy & paste

lg.

Status: Chilln

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

11

Samstag, 12. Juni 2010, 20:59

also ich bins mal wieder :P

du hast es irgendwie immer noch nicht geschafft den VertexBuffer nur einmal zu erstellen. Weißt du überhaupt, was ich damit gemeint habe?
Aufbau:
bei "Der komplette Code" sollte für die Überschrift alleine nicht eine Seite verwendet werden ;)

an DirectInput hab ich nur noch auszusetzen, dass du das ganze nicht sauber schließt(es fehlt z.B. KeyBoard.Unaquire()...)

was mir erst jetzt noch aufgefallen ist:

Zitat


Dev.RenderState.CullMode = Cull.Clockwise & Cull.CounterClockwise

ich dachte das müsste wenn dann so heißen:

Visual Basic Quellcode

1
Dev.RenderState.CullMode = Cull.Clockwise Or Cull.CounterClockwise

Or ist ein logischer Operator & ist ein Zeichenverkettungsoperator (bsp. 1 & 2 = 12 und ein solch hoher Wert ist in diesem Enumerator nicht mehr vorhanden)
1 Or 2 = 3(wäre eher richtig ;))

@Nibel:
guck am besten mal, was dir das Output Fenster anzeigt beim Debuggen, dort werden oft Fehlermeldungen angezeigt...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

12

Sonntag, 13. Juni 2010, 10:42

oO der Vertexbuffer hab ich in die Init Sub gepackt....
und danke für den Tip mit CullMode

lg.

Status: Chilln

Nijin

Registrierter Benutzer

  • »Nijin« ist männlich

Beiträge: 8

Dabei seit: 29. Mai 2010

  • Private Nachricht senden

13

Sonntag, 13. Juni 2010, 15:18

Hallo,

das ist jetzt das erste Mal, dass ich es geschafft habe, eine DirectX-Anwendung zu "schreiben", die auch wirklich mal etwas macht!

Als Anregung für weitere Tutorials finde ich jedoch, dass einige Definitionen fehlen, um Fragen wie „Wie kann ich mein eigenes Spiel Realisieren“ oder „Wie benutze ich DirectX?“ (Wie du es ja ursprünglich vorhattest) zu beantworten.

Nur als Beispiel:

Visual Basic Quellcode

1
2
Parameter.EnableAutoDepthStencil = True ' Autotiefe
Parameter.AutoDepthStencilFormat = DepthFormat.D16 ' Format der Autotiefe

Was ist den Autotiefe, wie verwende ich sie?

Auserdem wird nirgends ausreichend erklärt was eine Matrix und ein Vertex oder VertexBuffer ist. (zumindest, für meine Verhältnise - wie gesagt, das sind nur Anregungen. Klar kann das der User selber nachgooglen. Aber ich denke, das ist doch ein wichtiger Bestandteil eines solchen Tutorials.)

Ich finde es trotzdem klasse, dass du dir die Mühe machst, DirectX möglichst Einsteigerfreundlich zu erklären. Jedoch habe ich das Tutorial mehr oder weniger nur als Copy&Paste benutzen können. Ich versuche es trotzdem weiter, selbst noch etwas dazubauen zu können. :)
(Was ist eigentlich das "Dev.Transform.World" - verzerre ich damit die "Welt" oder drehe ich das Rechteck?)

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

14

Sonntag, 13. Juni 2010, 16:17

Zitat


Dim vertex As CustomVertex.PositionColored() = CType(VertexBuf.Lock(0, LockFlags.None),
CustomVertex.PositionColored())
vertex(0) = New CustomVertex.PositionColored(0, 1, 0, Color.Blue.ToArgb)
vertex(1) = New CustomVertex.PositionColored(1, -1, 0, Color.Red.ToArgb)
vertex(2) = New CustomVertex.PositionColored(-1, -1, 0, Color.Green.ToArgb)
[...(World-Transformationen)]
VertexBuf.Unlock()

dieser Teil steht noch im Tick Event, dabei reicht es auch völlig aus, dies direkt beim Initialisieren zu übernehmen...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

15

Montag, 14. Juni 2010, 22:07

@Nijn:
Joa, deswegen schreibe ich z.Z. parallel noch ein Glossar zu DX
ich dachte schon Intellisense erklärt den rest was zu unverständlich ist

sry @ all...

lg.

Status: Chilln

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

16

Montag, 14. Juni 2010, 22:21

EnalbeAutoDepthStencil legt fest, ob DepthStencil von Direct3D verwaltet werden soll, somit wird auch automatisch festgelegt, bis zu welcher Tiefe gelöscht werden soll(was bei jedem mal neu zeichnen Notwendig ist...)...

diese Einstellungen lässt du am besten so stehen ;)

was eine Matrix ist, lernt man ja eigt. auch in der Schule, zwar muss ich zugeben, hatten wir das auch noch nicht(RS halt), aber dank DirectX hab ich da schon etwas vorgearbeitet...
http://de.wikipedia.org/wiki/Matrix_%28Mathematik%29

der VertexBuffer setzt sich zusammen aus Vertex(http://de.wikipedia.org/wiki/Vertex, davon Rechnergrafik ;)) und dem Wort Buffer(Puffer was so viel heißt wie Zwischenspeicher)...hier werden also Punkte zwischengespeichert, welche ein Objekt ergeben, welches du dann später auf dem Bildschirm anzeigen kannst...

Dev.Transform.Word->damit änderst du die Matrix der Welt, du kannst somit die Welt drehen, skalieren(somit auch verzerren) und positionieren...
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Jonebohne

OpenSource 4 ever

Beiträge: 93

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

17

Dienstag, 15. Juni 2010, 20:32

Bei mir kann man im Visual Studio die Zielkonfiguration nicht ändern. Das Auswahlfeld ist einfach nicht da...

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

18

Donnerstag, 17. Juni 2010, 11:54

kannst du mal einen Screenshot machen? hast du einen x64 processor/system? wenn nein kann es daran liegen ;)

lg.

Status: Chilln

jvbsl

Noob

  • »jvbsl« ist männlich

Beiträge: 7 206

Dabei seit: 7. April 2010

Hilfreich-Bewertungen: 397

  • Private Nachricht senden

19

Donnerstag, 17. Juni 2010, 12:09

die ZielCPU kannst du soweit ich weiß auch in der .vbrpoj Datei manuell festlegen ;)
Ich wollte auch mal ne total überflüssige Signatur:
---Leer---

Devtronic

Deprimierter optimist xD

  • »Devtronic« ist männlich
  • »Devtronic« ist der Autor dieses Themas

Beiträge: 590

Dabei seit: 7. September 2008

Frühere Benutzernamen: Freakstar

Hilfreich-Bewertungen: 7

  • Private Nachricht senden

20

Freitag, 18. Juni 2010, 12:08

jop, ich glaub das war

XML

1
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>


lg.

Status: Chilln

Social Bookmarks