Aktuelle Zeit: 15.05.2024, 01:18

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 26.06.2007, 20:35 
Offline

Registriert: 26.06.2007, 20:26
Beiträge: 4
Hallo,

ich bin neu was das Thema 3D angeht - hab mir allerdings folgendes vorgenommen:

Eine 3D-Diashow. Das heißt sowas, wie ACDSee und Co. auch anbietet, allerdings mit 3D Effekten (Bilder fliegen durch den Raum, kommen näher, verschwinden, usw.) - am liebsten mit .NET.

Technisch gesehen brauch ich dafür doch nur eine Fläche, die ich mit einer Textur (=anzuzeigendes Bild) belege und dann durch den Raum wedeln lasse?!?

Am Anfang hab ich mich bei D3D und OpenGL-Programmierung umgeschaut, dann bin ich auf diverse 3D-Engines gestoßen, u.a. Irrlicht

Bin ich bei Irrlicht richtig?
Muß ich ein Mesh in einem 3D-Designprogramm erstellen, oder kann ich auch einfach meine benötigten "Vierecke" via C# erstellen?

Vielen Dank für Tipps!


Nach oben
 Profil  
 
BeitragVerfasst: 27.06.2007, 08:30 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
nun ja irrlicht kann eigentlich sehr viel mehr als nur rechteckige flächen zu bewegen, aber natürlich geht das und meiner meinung nach auch ziemlich schnell..
ob du deine vierecke mit c# schreibst oder ein mesh verwendest ist letztendlich gleich.

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
BeitragVerfasst: 27.06.2007, 13:07 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Zitat:
Muß ich ein Mesh in einem 3D-Designprogramm erstellen

Also ich würde sagen, das wäre Overkill... ;)
Lass doch einfach den SceneManager weg und rendere alles so, dann hast du absolute Kontrolle über alles und benötigst keine externe Dateien (Alternativ ist natürlich auch ein eigener SceneNode möglich, da gibts ein Tutorial drüber)!

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 29.06.2007, 15:59 
Offline

Registriert: 26.06.2007, 20:26
Beiträge: 4
hmmh und wie mach ich das?

Mit Irrlicht.Core.Plane3D? Ein .NET-Beispiel dazu gibt es unter den Tutorials wohl nicht... hmh.

Falls ich mit Plane3D auf der richtigen Spur bin... dann muß ich dieses "Plane" ja auch der Szene hinzufügen? Allerdings gibts unter device.SceneManager ja kein AddPlane3D.... oder lieg ich da falsch?

Wie würde ich auf das Plane dann eine Textur darauf legen?

Danke für die Hilfe.

Julian


Nach oben
 Profil  
 
BeitragVerfasst: 29.06.2007, 17:13 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
also die klasse plane3d ist eher nur für berechnungen mit ebenen und nicht für die darstellung..
zu deinem problem passt mehr das hier: http://irrlicht3d.de/forum2/viewtopic.php?f=6&t=139
bis jetzt wird die fläche nur von oben dargestellt..
naja wie du das ding rotierst frag mal jemand anderen ;) ich hab 0 ahnung von 3d-programmierung (sollte ich, wenn ich hier mod bin, vllt mal ändern.. )

_________________
yo. life's so bloody short.
Ihr dachtet Schulfernsehn sei die ultimative Folter? Falsch: Fahrstuhlmusik, extra leise.


Nach oben
 Profil  
 
BeitragVerfasst: 29.06.2007, 17:42 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Schau dir vllt als erstes mal das englischsprachige CustomSceneNode-Tutorial an und versuchst, es iwie nach .NET zu konvertieren.
Das manipulierst du dann so, dass es nur noch ein Quadrat/Rechteck anzeigt.
Auf dieses Rechteck legst du dann eine Textur.

Bis dahin solltest du dann genug Wissen haben, das, was du vorhast, zu implementieren... das einzige schwierige wird es sein, die Infos aus dem Tut nach .NET zu konvertieren - Warum nimmst du eigentlich kein C++?

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 29.06.2007, 17:52 
Offline

Registriert: 26.06.2007, 20:26
Beiträge: 4
Ahhh... unter Irrlicht.Video find ich das also!
Werd mir das Beispiel mal anschauen..

Warum nicht C++? Weil ich dafür keine Entwicklungsumgebung/Compiler/Erfahrung hab. Gibts sowas for free?

Mit C# und SharpDevelop kenn ich mich dagegen schon etwas aus.

Julian


Nach oben
 Profil  
 
BeitragVerfasst: 29.06.2007, 18:07 
Offline
Moderator

Registriert: 25.02.2007, 14:35
Beiträge: 323
Wohnort: Münster
Klar gibts sowas kostenlos.

CodeBlocks zum Beispiel. Hat den MinGW-Compiler schon mit drin.


Nach oben
 Profil  
 
BeitragVerfasst: 29.06.2007, 18:35 
Offline

Registriert: 26.06.2007, 20:26
Beiträge: 4
sooo hab codeblocks mal installiert und das tut3 auch gleich zum laufen gebracht....

gleich mal ein paar fragen:

Code:
      Vertices[0] = video::S3DVertex(0,0,10, 1,1,0, video::SColor(255,0,255,255), 0, 1);
      Vertices[1] = video::S3DVertex(10,0,-10, 1,0,0, video::SColor(255,255,0,255), 1, 1);
      Vertices[2] = video::S3DVertex(0,20,0, 0,1,1, video::SColor(255,255,255,0), 1, 0);
      Vertices[3] = video::S3DVertex(-10,0,-10, 0,0,1, video::SColor(255,0,255,0), 0, 0);


das definiert die eckpunkte der dreiseitigen pyramide.... wobei die jeweils ersten drei parameter die koordinaten sind. laut API-doku http://irrlicht.sourceforge.net/docu/st ... ertex.html sind die nächsten drei der Normalenvektor.... aber wozu?? ich definiere doch einen PUNKT, und keine ebene. was brauch ich da einen normalenvektor?


Nach oben
 Profil  
 
BeitragVerfasst: 30.06.2007, 04:42 
Offline
Moderator

Registriert: 26.03.2007, 20:06
Beiträge: 114
Um eine Halbwegs realistische Beleuchtung zu bekommen, wird der Normalenvektor für die Beleuchtung pro Vertex definiert. Eigentlich ist er nix weiter als der Durchschnittstvektor aller anliegenden Flächen. Wenn man nur einen Vektor pro Fläche hätte würde das auf Flatshading hinaus laufen. So kannst du Gouraudshading realisieren.

Falls dir das nix sagt, einfach mal googlen.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de