Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 16:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Managed DirectX.D3D Problem

Discussion on Managed DirectX.D3D Problem within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Managed DirectX.D3D Problem

Hallo Community,
ich beschäftige mich momentan ein bisschen mit managed D3D. Hab mir dazu ein Tutorial angesehen und die Source nachgebaut (bzw. kopiert). Hat auch alles einwandfrei funktioniert. Im Tutorial wurde mit zwei Würfeln gearbeitet (jeder bestehend aus 12 Dreiecken --> 36 Punkte).
Ich wollte dann mich mal selber testen und wollte eine sich drehende Pyramide machen. Die Pyramide besteht aus 6 Dreiecken (2 für die Grundfläche und für jede Mantelfläche je eines), also 18 Punkten. Ich habe (meines erachtens nach sogar richtig) die Koordinaten angegeben und jeden Schritt aus dem Tutorial in meine eigene Source mit eingebaut. Das Problem ist nun, dass es nicht funktioniert. Es kommt zwar der schwarze Hintergrund (Device richtig initialisiert?), aber es taucht einfach keine Pyramide auf.
Jetzt bin ich echt am verzweifeln (es gibt ja nicht einmal eine Fehlermeldung nach der man googlen könnte), weil ich einfach keinen Fehler finde.
Ich hoffe jetzt auf irgendeinen guten .net Programmierer, der den Fehler findet (wahrscheinlich ist der so einfach, dass ich mir am liebsten die Tastatur gegen den Kopf hauen würde ).

Tutorial Source:

Meine Source:
Auch wenn ich in meinem Sourcecode etwas anders auf die Klasse, welche sich mit D3D beschäftigt zugegriffen habe, sollte es doch trotzdem funktionieren.

Für beide Quellcodes wurden (je die selben) Teile der managed Developer Runtime vom DirectX SDK August 2007 als Referenz mit eingebunden.

Hoffend, dass mir jemand helfen kann
Jeoni

P.S.: Ich möchte keine Kommentare wie "VB.net suckt, nimm C#" o.ä. lesen. Die beiden Sprachen unterscheiden sich (grob) nur in der Syntax.
Desweiteren ist mir natürlich bekannt, dass managed D3D unperformanter ist, als unmanaged D3D und dass .net Sprachen blöd sind. Das muss nicht weiter erörtert oder erwähnt werden
Also bitte nur Lösungsvorschläge zum Problem posten und nichts derart Allgemeines, danke.
Jeoni is offline  
Old 06/17/2012, 02:19   #2

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Quote:
Originally Posted by Jeoni View Post
und dass .net Sprachen blöd sind.
:O

Deswegen seh ich mir nichtmal den Source im Spoiler an.
Auch wenn ich nicht oft Desktop Apps mache, finde ich .NET super für Anwendungssoftware.
boxxiebabee is offline  
Old 06/17/2012, 10:00   #3


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Das ist auch nur zum Teil meine Meinung. Ich finde .net auch relativ ok, solange man damit keine großen, performanten Programme machen will.
Ich wollte das nur anbringen, damit hier niemand sagt ".net ist blöd, weil unperformant, nimm C/C++"
Denn bei D3D kann man solche Sprüche grundsätzlich schon erwarten.
Jeoni is offline  
Old 06/17/2012, 14:02   #4

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
managed directx wird nicht mehr weiterentwickelt und wurde quasi von MS mit XNA abgelöst, XNA jedoch "steht" in der entwicklung im Moment auch (nur directx9, vermutlich wegen der xbox) ich empfehle daher dir SlimDX mal anzuschauen, bevor du dich zu sehr an MDX o.ä. gewohnt hast ^^

dies soll kein "X ist scheiße, nimm Y" spam sein, sondern lediglich ein hinweis
x]vIrus[x is offline  
Old 06/17/2012, 15:50   #5


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Danke für den Hinweis. Wusste ich auch schon (DX SDK August 2007 war das letzte SDK mit managed Support). Ich will lediglich mal in MS DX reinschauen. Viel machen werde ich damit nicht. Vielleicht sehe ich mir später auch mal XNA oder SlimDX an.

Ich hoffe, dass bald jemand den / die Fehler findet.
MfG
Jeoni is offline  
Old 06/18/2012, 19:04   #6

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
uppe ma bitte das projekt als zip oder rar, dann schau ichs mir an
x]vIrus[x is offline  
Thanks
1 User
Old 06/18/2012, 20:48   #7


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Kein Problem.


(aus dem DirectX SDK August 2007)
Auf Virenscans verzichte ich erstmal (es geht ja nur um Sources). Wenn du mir nicht traust, lösche meine Vorkompilierten exe Dateien und lad dir das original DXSDK von Microsoft runter
Danke, dass du mir versuchst zu helfen und viel Erfolg
Jeoni
Jeoni is offline  
Old 06/18/2012, 22:32   #8

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
hi, dein problem war relativ einfach, jedoch habe ich dort zuletzt gesucht ^^

im anhang dein Archiv, im prinzip musst du noch was über matrizenmultiplikation lernen ^^

effektiv hast du deine pyramide durch die fehlerhafte implementierung der multiplikation einfach außerhalb des sichtbaren bereiches gezeichnet
Attached Files
File Type: rar VBD3D_New.rar (72.3 KB, 3 views)
x]vIrus[x is offline  
Thanks
1 User
Old 06/18/2012, 23:02   #9


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Alles klar, vielen Dank.
Aber am anfang waren die Rotationen doch gar nicht "an". Da wurde die fehlerhafte Matrizenmultiplikation doch gar nicht ausgeführt, oder?
Mein Fehler war, soweit ich das jetzt im Vergleich beurteilen kann, dass ich keine "Startpostition" der Pyramidenmatrix festgelegt habe, was in dem korrigierten Code durch Matrix.Identity geschafft ist. Ist es nicht besser diese "Startposition" ganz am Anfang (vor der While-Schleife in der RenderLoop-Sub) zu setzen, statt jeden Frame neu? Wie ist das in der Tutorial Source gelöst worden? Ich sehe da nichts Vergleichbares. Da wird die Matrix "einfach so" multipliziert, ohne Startposition oder ähnliches. Und wie kommt es dann zu stande, dass die beiden Würfel nebeneinander sind und nicht irgendwie ineinander stecken?
Hoffe, dass du mir weiterhelfen kannst
Jeoni

/Edit: Ich hab noch ein paar Makel entdeckt (eher von der Schönheitssorte, nichts Gravierendes).
Meine Animation Sub sieht nun so aus:
Die Startpositionszuweisung hab ich vor der While-Schleife der RenderLoop Sub gepackt. Ich hoffe, dass das keine Fehler sind.
Jeoni is offline  
Old 06/20/2012, 23:20   #10

 
x]vIrus[x's Avatar
 
elite*gold: 37
Join Date: Apr 2004
Posts: 2,154
Received Thanks: 250
also im tut verursacht das hier die verschiebung:
p_MatCube2 = Matrix.Multiply(Matrix.RotationY(cubeangle), _
Matrix.Translation(-5, 0, 0))

Tanslation

Warum du keine Rotation gesehen hast ist, weil du quasi (wenn wir jetzt mal von matrix weggehen) 0 x 10 gemacht hast, deine matrix ist überall 0, und egal was man mit 0 multipliziert, es ergibt immer 0. da eine matrix auch gleichzeitig die größe repräsentiert, hast du eine pyramide mit der größe 0 und der position 0 mit der rotation 0 an der position 0 gezeichnet

das tutorial multipliziert 2 rotationsmatrizen miteinander, beide haben die größe 1, nur eine andere rotation, also siehst du deine pyramide

schönheitsfehler im code kannst du behalten, ich war froh, dass ich den syntax für ne if else if else bedingung herausgefunden hab :P VB syntax *würg*
x]vIrus[x is offline  
Thanks
1 User
Old 06/24/2012, 16:31   #11


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Alles klar, vielen Dank. Nun habe ich ein weitere Problem:
Ich wollte mal schrift zeichnen und in diversen Tutorials ist erklärt, dass man dafür das Direct3D.Font Objekt benötigt. Leider findet er das bei mir nicht.
Code:
Imports Microsoft.DirectX.Direct3d
Imports Microsoft.DirectX
...
Dim moDevice As Device 'Funktioniert
Dim moDevice2 As Direct3D.Device 'Funzt auch
Dim moFont As Font 'Funktioniert nicht
Dim moFont As Direct3D.Font 'ebenfalls nicht
Benutzen tu ich das DirectX SDK von August 2007 und auch in der beiliegenden Documentation ist das Font-Objekt aufgeführt, aber im Code scheint es nicht existent zu sein. Er schlägt mir daher auch nicht vor, wenn ich schon "Direct3D.F" geschrieben habe, dass es mit ".Font" sein könnte.
Kann mir wer helfen?
MfG
Jeoni
Jeoni is offline  
Reply

Tags
d3d, directx, managed, problem


Similar Threads Similar Threads
DirectX 9.0c problem
03/20/2011 - GunZ - 4 Replies
dudes i have problem when i put any` hack in gunz ... after i start the game ...open windows and wanna install directx 9.0c but i have last version on my pc ?!
directx problem (:
12/10/2010 - Technical Support - 4 Replies
huhu wenn ich directx installieren will dann kommt die fehler meldung ich solle in der DXError.log und noch irgendwas nach schauen für mehr infos. hab ich auch getan , dort steht dieses : -------------------- module: dxupdate(Jun 2 2010), file: dxupdate.cpp, line: 189, function: GetDXVersion Failed API: RegQueryValueEx() Error: (2) - The system cannot find the file specified.
Directx 9.0c .... Problem
04/02/2010 - Technical Support - 18 Replies
Jo leute also ich hab heute mein sims deluxe installiert aus fun vwills bissl zocken naya aufjedenfalll installiert etc. Und dann wenn ichs starte bleibt es 5-10sek schwarz dann steht dort Es konnten keine DirectX9.0c-kompatiblen Grafikadapter auf diesem Computer gefunden werden.
Directx problem
02/01/2010 - SRO Private Server - 10 Replies
Anyone know why Mysro don't work for me i have directx 10 and win xp. It want 9.0b directx but i can't install now... Screen: http://img697.imageshack.us/img697/9043/beztytuup n.th.jpg
DirectX problem
06/11/2009 - SRO Private Server - 1 Replies
ok i fixed the direct x thing but now i have a new error (--------------------------- Silkroad Online --------------------------- Sorry. Failed to execute Silkroad. --------------------------- OK --------------------------- ) i get this whn i press start PLEASE HELP



All times are GMT +1. The time now is 16:42.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.