myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grafik und Sound » Managed Direct3D Tutorial - Diskussionsthread
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Managed Direct3D Tutorial - Diskussionsthread

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
myCSharp.de
Moderationshinweis von herbivore (17.03.2014 15:46):

Managed DirectX ist eine veraltete Technologie, die von Microsoft schon viele Jahre nicht mehr unterstützt wird. Hier gibt es eine Übersicht der Alternativen:  [FAQ] Wie finde ich den Einstieg in die 3D-Programmierung mit C#?
 
hauptmann hauptmann ist männlich
myCSharp.de-Mitglied

Dabei seit: 19.07.2003
Beiträge: 704
Herkunft: Österreich/Kärnten


hauptmann ist offline Füge hauptmann Deiner Kontaktliste hinzu

Managed Direct3D Tutorial - Diskussionsthread

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Bitte ALLE Fragen und Diskussionen rund um das  Managed Direct3D Tutorial in diesen Thread.
18.04.2007 20:39 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
anwesend anwesend ist männlich
myCSharp.de-Mitglied

Dabei seit: 16.03.2006
Beiträge: 28
Entwicklungsumgebung: VS 05, Web
Herkunft: Österreich/NÖ


anwesend ist offline MSN-Passport-Profil von anwesend anzeigen

2D Sprites

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das Tutorial ist super, auch wenn ich es nur bis Kap 2 brauche Augenzwinkern (und die Textures)
vielleicht sollte man auch sagen das bei mit kein
CreateFlags.HardwareVertexProcessing
sondern nur der software processing geht ... Augenzwinkern

jedenfalls meine frage:

gibt es eine ganz einfache art ein sprite auf dem bildschirm darzustellen?
(sprite-klasse? - wie funktioniert die) und wie funktioniert das dann mit ner mask

und gleich noch was Augenzwinkern ist bei DX auch eine kollisionserkennung dabei wenn man eine mask für das bild macht?
(erkennung ob sich die jpg/bmps überschneiden... aber nur der "ausgestanzte" teil)

MFG Thomas


Edit:

weis schon wie das anzeigen funktioniert:

zwischen dem begin und end:

C#-Code:
m_Device.BeginScene();

Texture tex = TextureLoader.FromFile(m_Device,@"..\..\..\res\slime.bmp";);
Point pnt = new Point(1, 1);
Sprite spr = new Sprite(m_Device);

spr.Begin(SpriteFlags.None);
spr.Draw2D(tex, pnt, 0, pnt, Color.White);
spr.End();

m_Device.EndScene();

Dieser Beitrag wurde 4 mal editiert, zum letzten Mal von anwesend am 24.04.2007 21:11.

24.04.2007 19:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
DerHulk DerHulk ist männlich
myCSharp.de-Mitglied

avatar-1789.png


Dabei seit: 23.12.2005
Beiträge: 270
Entwicklungsumgebung: VisualStudio
Herkunft: Koblenz


DerHulk ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo hauptmann,

wollte mal fragen ob und wenn ja wann das Tutorial erweitert wird ?
Ist ein super Artikel!

mfg Hulk
30.04.2007 20:22 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Mystique Mystique ist männlich
myCSharp.de-Mitglied

avatar-1933.png


Dabei seit: 01.06.2006
Beiträge: 148
Entwicklungsumgebung: Visual Studio .Net 2003 / 2008
Herkunft: Stuttgart


Mystique ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hey Hauptmann smile

in deinem Artikel behandelst du leider noch nicht das speichern eines Mesh in ein .x-File. Ich hab auch schon hier im Forum gesucht und auch im Netz aber irgendwie scheinen da mehrere Probleme damit zu haben und keiner hat wirklich eine Lösung.. es kann doch nicht so schwer sein..

ich habs probiert mit Mesh.Save

und so sah mein Aufbau aus..

C#-Code:
int [] adj = new int [itsMesh.NumberFaces * 3];

itsMesh.GenerateAdjacency(0, adj);

ExtendedMaterial[] em = new ExtendedMaterial[0];

itsMesh.Save(theFileName, adj, em, XFileFormat.Binary);

ich krieg allerdings schon bei "GenerateAdjacency" eine "InvalidCallException" und hab keine Ahnung wieso.. in allen Beispielen die ich im Netz gefunden hab, wird das so gemacht.. vielleicht ne Ahnung / nen Tip?

greetz..

[Edit] ich muss dazu noch erwähnen, dass ich noch mit 1.1 arbeite.. hab sowas gelesen, dass in 2.0 Mesh.Save weg is und das nu anders gelöst wurde..

[Edit2] noch eine Feststellung.. wenn ich ein Mesh mit Mesh.Sphere erzeuge oder wenn ich ein Mesh aus einem bestehenden .x-File lade und dann das gleiche wie oben mache, dann funktionier das Speichern.. und liefert auch gewünschtes Ergebnis.. Nur mein selber erzeugtes Mesh mag nicht.. Das Mesh kann ich aber super darstellen und damit machen was ich will, funktioniert alles prima.. nur beim GenerateAdjacency eben nicht.. was kann denn da schief gegangen sein? (zu viele punkte werdens ja wohl nicht sein?)

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Mystique am 24.05.2007 09:01.

24.05.2007 08:49 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.464
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Mystique, hallo zusammen,

der einleitende Satz:

Zitat:
Bitte ALLE Fragen und Diskussionen rund um das Managed Direct3D Tutorial in diesen Thread.

ist so zu verstehen, dass dieser Thread für Fragen, Hinweise und Diskussionen zum Tutorial selbst gedacht ist. Also z.B. dass das Tutorial hinsichtlich des Speichern von Meshes erweitert werden sollte, oder das der Abschnitt xy zu schwer verständlich oder zu ungenau ist, o.ä ... und nicht zuletzt natürlich auch für Lob. :-)

Wenn du/ihr ein konkretes Problem mit der Programmierung von DirectX habt und die Forensuche nicht hilft, öffnet bitte einen eigenen Thread in "Grafik und Sounds".

herbivore
24.05.2007 09:05 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Mystique Mystique ist männlich
myCSharp.de-Mitglied

avatar-1933.png


Dabei seit: 01.06.2006
Beiträge: 148
Entwicklungsumgebung: Visual Studio .Net 2003 / 2008
Herkunft: Stuttgart


Mystique ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo herbivore..

unglücklich mein Fehler.. ich war mir zunächst auch unsicher ob ich das jetzt hier posten soll oder ob ich einen neuen Thread eröffnen soll.. war wohl die falsche Entscheidung.. sorry unglücklich

Problem übrigens (wie es so meistens ist.. ich such mir nen Tag lang nen Ast ab, dann poste ich das Problem und 5 mins später find ich die Lösung enttäuscht ) mittlerweile gelöst..

Beim Erstellen des Meshes hab ich das falsche Flag übergeben..

mit MeshFlags.WriteOnly hat es nicht funktioniert.. umgeändert in MeshFlags.SimplifyFace funktioniert es jetzt.. falls mal jemand vor ähnlichem Problem steht..

greetz..
24.05.2007 09:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegt mehr als ein Monat.
unclesam unclesam ist männlich
myCSharp.de-Mitglied

Dabei seit: 26.03.2007
Beiträge: 237
Entwicklungsumgebung: VS '05 & '08
Herkunft: Nassau


unclesam ist offline Füge unclesam Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

hallo hauptmann,

bin grad dein Tutorial zu directx am durcharbeiten und erhalte eine BadImageFormatException in den Methoden InitGfx und Render. Da ich momentan Vista benutze und dort ja auch Directx10 vorhanden ist, weiß ich jetzt nicht ob es an mir liegt und ich die falsche DLL eingebunden habe, oder ob dir dieser "Anfängerfehler" bekannt ist und an der falschen Programmierung meinerseits liegt.


EDIT: hab grad dank der Hilfe von Hauptmann die Lösung gefunden. Das Problem ist die 64bit Version von Vista.

 Hilfe

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von unclesam am 03.07.2007 22:56.

03.07.2007 22:16 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
quibb quibb ist männlich
myCSharp.de-Mitglied

avatar-1299.gif


Dabei seit: 11.07.2007
Beiträge: 53
Entwicklungsumgebung: VS .net 2008 Prof.
Herkunft: Wiesbaden


quibb ist offline Füge quibb Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hey.

also irgentwie kommt bei mir immer dieser Fehler:

C:\Dokumente und Einstellungen\...\main.cs(4,8): error CS1518: Expected class, delegate, enum, interface, or struct

das ganze auf

C#-Code:
public void InitGfx() {

bezogen.

Bin gerade auf VS .NET '05 umgestiegen, jmd. selbiges Problem ?
11.07.2007 12:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.464
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

11.07.2007 12:36 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
quibb quibb ist männlich
myCSharp.de-Mitglied

avatar-1299.gif


Dabei seit: 11.07.2007
Beiträge: 53
Entwicklungsumgebung: VS .net 2008 Prof.
Herkunft: Wiesbaden


quibb ist offline Füge quibb Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja das stimmt wohl! smile

hab den Fehler auch schon gefunden.

Gruesse
quibb
11.07.2007 13:21 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 9 Monate.
ANSI_code ANSI_code ist männlich
myCSharp.de-Mitglied

avatar-2839.jpg


Dabei seit: 27.12.2007
Beiträge: 467
Entwicklungsumgebung: Microsoft Visual C# 2008
Herkunft: Bayern


ANSI_code ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

tut mir leid, aber ich verstehe diesen Aufruf nicht:

C#-Code:
    while(example.Created)
    {
        example.Render();
        Application.DoEvents();
    }
    example.Shutdown();

wieso sollte man die Form(Kann man das noch so bezeichnen?) ständig neuzeichen, und warum verschwindet im 2. Bsp. das Dreieck, wenn man die größe ändert, wo das Teil doch ständig neugezeichet wird? Ich glaube ich habe irgendwas von Grundaus falsch verstanden.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ANSI_code am 02.05.2008 21:25.

02.05.2008 21:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.464
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo ANSI_code,

in einem reinen Windows-Forms Programm, würde man so eine Schleife vermeiden. Stattdessen würde man als Haupt(nachrichtenverarbeitungs)schleife Application.Run verwenden. In DirectX-Programmen ist ein Aufbau mit einer Hauptschleife, die ständig neu zeichnet, das normale.

herbivore
03.05.2008 08:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
ANSI_code ANSI_code ist männlich
myCSharp.de-Mitglied

avatar-2839.jpg


Dabei seit: 27.12.2007
Beiträge: 467
Entwicklungsumgebung: Microsoft Visual C# 2008
Herkunft: Bayern


ANSI_code ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

und warum verschwindet das Dreieck dann, wenn man die Größe ändert? (bei bsp. 2.)

edit: Wie ändert man die Windowed Eigenschaft? Einfach false zuweisen wirft eine Dirext3D.InvalidCallException im Device-Konstruktor.Aufruf.

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von ANSI_code am 03.05.2008 11:37.

03.05.2008 11:27 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
d3mon d3mon ist männlich
myCSharp.de-Mitglied

Dabei seit: 01.06.2008
Beiträge: 1
Entwicklungsumgebung: Microsoft Visual Studio 2005


d3mon ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Community,
Ich bin neu hier, und bin gerade dabei das Tutorial durchzuarbeiten. Leider hab ich schon bei dem Ersten Programm einein Fehler den ich nicht lösen kann.

Zitat:
Fehler 1 Der Name "DXSampleApp_KeyPress" ist im aktuellen Kontext nicht vorhanden. E:\temp\tutorialDX\tutorialDX\MDXSampleApp.cs 20 59 tutorialDX

Ich mein es ist mir klar, dass er DXSampleApp_KeyPress nirgends findet, das hab ich auch nirgends definiert, aber ich find in dem Tutorial auch nichts, das ich ausgelassen habe..

Also was genau muss ich nun machen, um das Programm zum laufen zu bekommen?

//edit:
Wurde gelöst. Hab das mit den Eventhandler nicht gesehen, dass der weiter unten einen anderen Namen hat.

gruß d3mon

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von d3mon am 02.06.2008 18:47.

01.06.2008 18:00 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 7 Monate.
shambl3r
myCSharp.de-Mitglied

Dabei seit: 13.02.2008
Beiträge: 23


shambl3r ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

beschäftige mich auch grad mit dem Tutorial leider tritt bei mir jedesmal ein System.OutOfMemoryException auf und zwar durch den Aufruf von box.DrawSubset(0)

Weiß jmd woran das liegen könnte?
08.01.2009 09:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegt mehr als ein Jahr.
yamukud
myCSharp.de-Mitglied

Dabei seit: 21.09.2009
Beiträge: 22


yamukud ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Schönes Tutorial, auch wenn es hinsichtlich DirectX10/64-bit erweitern könnte.

Danke für die Arbeit und einen tollen Einblick in die Direct-X-Welt.

Wenn das nun OpenSource wäre... Ich schweife ab!

Noch kurz zum Schmunzeln:
In jedem 2. Absatz schreibst du "Bis hierhin wars ja langweilig" ;) :)

Lg und da Ostern schon vorbeigerauscht ist im Voraus ein schönes Pfingstfest,

yamukud
07.04.2010 11:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
JAck30lena JAck30lena ist männlich
myCSharp.de-Team

avatar-2653.jpg


Dabei seit: 01.10.2006
Beiträge: 11.397
Entwicklungsumgebung: Visual Studio 05/08/10 Prof.


JAck30lena ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat:
auch wenn es hinsichtlich DirectX10/64-bit erweitern könnte.

MDX wird schon seit direcX ?8? nciht mehr weiterentwickelt... alternativen bietet das XNA framework und viele andere .net grafikengines.
07.04.2010 11:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
yamukud
myCSharp.de-Mitglied

Dabei seit: 21.09.2009
Beiträge: 22


yamukud ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Oh, ich verstehe.

Danke,
yamukud
07.04.2010 11:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.232
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von yamukud:
Schönes Tutorial, auch wenn es hinsichtlich DirectX10/64-bit erweitern könnte.

Danke für die Arbeit und einen tollen Einblick in die Direct-X-Welt.

Wenn das nun OpenSource wäre...

Dann wäre evtl. SlimDX etwas für dich, da sind diese Features alle drin. Im Gegensatz zu XNA.
07.04.2010 11:58 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegt mehr als ein Monat.
Versor
myCSharp.de-Mitglied

avatar-3129.gif


Dabei seit: 06.06.2010
Beiträge: 24
Entwicklungsumgebung: Visual Studio 2010 Express


Versor ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,
ich habe beschlossen, nach etlichen Jahren wieder etwas für meine Programmierkenntnisse zu tun. Leider fällt das Anknüpfen etwas schwer.

Umso mehr freue ich mich, daß es hier so eine tolle Community gibt (bißchen Schleimen muß sein). Leider macht mir die Fehlersuche noch etwas Probleme. Und bei diesem Tutorial hab ich ein für mich "unlösbares" Problem.

Ich arbeite mit Win7 64bit und einer Zweikern-Graka. Ich habe das Problem, daß ich bei Schritt 2 des Tuts nur einen schwarzen Hintergrund, aber kein Dreieck sehe, wenn ich über den Grafik-RAM rendern will. Über den System-RAM funktioniert aber alles blendend.

Liegt es am System - oder an meinen mangelhaften Programmierkenntnissen?

Folgendes ist mir noch aufgefallen:
Bei beiden Rendermethoden wird das Resultat erst nach dem zweiten Durchlauf der Paint-Schleife angezeigt. Nach dem ersten Durchlauf hab ich nur ein Fenster mit grauem Hintergrund. Das auskommentierte "this.Invalidate(); " behebt das, aber dann wird ununterbrochen neu gezeichnet - auch ohne Änderung.
Beim Einzelschritt-Debuggen sehe ich, daß nach dem Befehl

C#-Code:
stream.Write(verts);

in Zeile 66 direkt in die Paint-Methode gesprungen wird. Das

C#-Code:
m_VertexBuffer.Unlock();

wird nie aufgerufen. (Klar, wir benutzen den Puffer ja während der ganzen Renderzeit - aber wofür brauchen wir dann den Befehl überhaupt?)

Ich mußte die Sache für VS 2010 Express etwas umstricken. Leider unterstützt .Net4 momentan noch nicht (voll) DirectX. Ich mußte auf .Net 3.5 zurückstellen, erhalte deshalb ein paar Warnungen - aber es läuft überhaupt.
Den Destruktor in Zeile 30 brauche ich glaub ich nichtmal - aber bin mir nicht sicher, deshalb bleibt er vorerst.

Das Projekt hab ich mal im Anhang hochgeladen...


Vorab schonmal vielen Dank

EDIT 20.06.2010: Das halte ich jetzt im Kopf nicht aus. Ich habe jetzt die Sache mal ignoriert und bin im Tutorial einfach mal weiter vorgegangen. Bei Schritt 3 geht es ja um die Transformationen. Diese werden dort aber ohne Stream erklärt - also dachte ich mir, ich bastel dort einfach mal die Infos aus dem Schritt 2 rein - und siehe da: Er rendert!!!
OK, so nicht - zumindest nicht mit mir! verwundert Jetzt vergleiche ich den Schritt 2 und Schritt 3 1:1. Alles scheint genauso aufgebaut. Ich kommentiere mal die Transformationssachen aus Schritt 3 aus - jetzt habe ich quasi 2x das gleiche Programm. Nur, daß Schritt 2 IMMERNOCH nicht aus dem GrafikRAM rendert. ZEFIX. Also ändere ich den VertexType auf PositionColored (anstelle TransformedColored aus dem Tutorial). Und plötzlich erscheint doch auch tatsächlich das Dreieck auf dem Schirm.
Falls also jemand ein ähnliches Problem haben sollte, hier wäre eine Lösung. Ich weiß aber nicht, warum das so ist. Ich vermute, hier gibt es einfach ein Problem in der DX-Bibliothek.
Jetzt bin ich heiß - ich brauche mehr Wissen. Ich muß unbedingt weiterlesen!
Danke nochmal für das geniale Tutorial - und daß hier keiner geantwortet hat. So habe ich mich wenigstens selbst mit der Materie befaßt!


Dateianhang:
unknown D3D_Tutorial.rar (51,04 KB, 331 mal heruntergeladen)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Versor am 20.06.2010 18:18.

06.06.2010 12:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
fdsurfer fdsurfer ist männlich
myCSharp.de-Mitglied

Dabei seit: 18.04.2010
Beiträge: 1
Entwicklungsumgebung: Visual Studio C#
Herkunft: Karlsruhe


fdsurfer ist offline

Super Tutorial....

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

ich bin eigendlich Entwickler für µCs. Zur Anzeige benutzen wir C#. Ich habe bereits viele habe das Tipps von hier ( www.mycsharp.de) bekommen.
Derzeit sind wir dabei ein sehr einfaches Spiel für unseren Sensor zu basteln. Dafür habe ich mich für das DirectX entschieden. Das Tutorial ist echt gut. Ich habe es recht schnell geschafft mein Spiel für den Sensor zu basteln.

Jetzt haben wir ein Netbook gekauft auf dem Windows 7 (DirectX 11) läuft. Leider ist es mir bisher nicht gelungen, mein auf einem WinXP System (DirectX 9) laufenden Code dort einzusetzten.
Ich habe mir bereits das neueste SDK herunter geladen und bin aber nicht weiter gekommen. Hat schon mal wer einen Code auf Win7 erstellt??



Ich habe die Zeile:

C#-Code:
device = new Device(0, DeviceType.Hardware, panalDrawing, CreateFlags.HardwareVertexProcessing, presentParams);

in einem try / catch block unter gebracht. Dabei bricht mir der Code an der Stelle ab!

Die Meldung lautet:

Zitat:
Error in the application.
-2005530516 (D3DERR_INVALIDCALL)
at Microsoft.DirectX.Direct3D.Device..ctor(Int32 adapter, DeviceType deviceType, Control renderWindow, CreateFlags behaviorFlags, PresentParameters[] presentationParameters)
at ProxdimmDX_Test.ProxDimmDX_Display.setDevice() in D:\proxdimmdx_tester\proxdimmdx_test code\ProxdimmDX_Test\ProxDimmDX_Display.cs:line 391

Hat da wer eine Idee?

Gruß,
fdsurfer
14.06.2010 17:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 3 Jahre.
Pureon Pureon ist männlich
myCSharp.de-Mitglied

Dabei seit: 21.09.2012
Beiträge: 2
Entwicklungsumgebung: VS2012, C#
Herkunft: Emmerich am Rhein


Pureon ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi !

Ich hoffe, mein Post ist so in etwa richtig erstellt !

Eine wichtige Frage :

Wie schon oben einmal beschrieben, habe ich auch das Problem, dass ich bei

C#-Code:
example.InitGfx();

eine Ausnahme erhalte in der steht :

Fehlermeldung:
BadImageFormatException wurde nicht behandelt.
ist keine zulässige Win32-Anwendung. (Ausnahme von HRESULT: 0x800700C1)

Gut, scheinbar läuft mein Programm auf 64bit, nur habe ich keinen Schimmer,
wie ich mein Projekt in 32bit laufen lassen kann.

Wäre schön, wenn mir da einer hilft !

Schöne Grüße, Stefan
08.10.2013 19:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.232
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi Pureon,

im VisualStudio kannst du die Zielplattform zwischen x86 und x64 umstellen. Von Managed DirectX würde ich dir aber unbedingt abraten. Das ist eine veraltete Technologie, die von Microsoft schon viele Jahre nicht mehr unterstützt wird. Hier gibt es eine Übersicht der Alternativen:  [FAQ] Wie finde ich den Einstieg in die 3D-Programmierung mit C#?

Christian

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von MrSparkle am 08.10.2013 19:27.

08.10.2013 19:27 Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 5 Monate.
TorresDennis TorresDennis ist männlich
myCSharp.de-Mitglied

Dabei seit: 08.03.2014
Beiträge: 5
Entwicklungsumgebung: Visual Studio


TorresDennis ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Dieses Tutorial liegt ja weit zuruck, gibt es was Aktuelleres?
17.03.2014 08:33 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.464
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo TorresDennis,

was MrSparkle im Beitrag über deinem gesagt hat, beantwortet deine Frage wohl hinreichend:

Zitat von MrSparkle:
Von Managed DirectX würde ich dir aber unbedingt abraten. Das ist eine veraltete Technologie, die von Microsoft schon viele Jahre nicht mehr unterstützt wird. Hier gibt es eine Übersicht der Alternativen:  [FAQ] Wie finde ich den Einstieg in die 3D-Programmierung mit C#?

Wenn Tutorials du anderen Technologien benötigst, dann suche bitte im Netz zunächst selbst danach. Solltest du wider erwarten nicht fündig werden, kannst du in  Buchempfehlungen (und nur dort) nach passenden Tutorials fragen.

herbivore
17.03.2014 15:45 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 12 Jahre.
Der letzte Beitrag ist älter als 5 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.11.2019 01:43