[.NET] Heel simpele 3D engine

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Hey,

Ik ben op zoek naar een hele simpele 3D engine voor een desktop applicatie in C# (.NET). Ik heb natuurlijk op google gezocht, maar wat ik daar vooral mee vond waren heel uitgebreide engines om echt 3D games mee te maken. Dat zoek ik juist niet.

Het enige wat de engine hoeft te doen is blokken (kubussen) tekenen. Ik hoef geen belichting effecten, geen ingewikkelde textures (een simpel plaatje is genoeg), etc.

Stel je maar even voor dat ik op m'n PC met lego wil bouwen :P Gewoon een schermpje waar je de blokken in kunt zien, wat je een beetje rond kan draaien en misschien "doorheen kan vliegen".

De blokken bevinden zich allemaal op een vaste 'grid'. Een blok kan alleen maar een hele cell vullen (1x1x1 unit). Er zijn geen grotere blokken, het zijn gewoon allemaal losse kubussen die ik moet plaatsen en daarna zichtbaar moet maken voor de gebruiker.


Weet iemand een engine die ik hiervoor kan gebruiken? Natuurlijk zal elke 3D engine aan mijn eisen voldoen, maar ik zoek natuurlijk de engine met de minimale features, omdat ik eigenlijk geen features nodig heb behalve textures. Dat maakt het programmeerwerk voor mij natuurlijk veel makkelijker, tenminste dat neem ik aan...


Ik denk dat men XNA game studio wel zal aanraden, ik weet dat je daar 3D games in kunt maken (hoewel ik alleen een beetje ervaring met 2D in XNA heb), maar ik zoek dus geen game maar juist een desktop applicatie. Kan ik XNA gebruiken in een desktop applicatie?


Ik vraag jullie dus niet om te gaan onderzoeken welke engine ik het beste kan gebruiken, ik hoop simpelweg dat er iemand is die mijn situatie herkent en een handige engine weet te noemen. Ik kan nu zelf wel de eerste de beste engine gaan zoeken en ermee aan de slag gaan, maar ik heb hier totaal geen ervaring mee, en het zou jammer zijn als ik maanden lang met de 'verkeerde engine' aan de slag ga, terwijl er complete engines klaar liggen die ik zo veel makkelijker zou kunnen gebruiken.


Dus als iemand een geschikte engine kent, dan hoor ik dat graag!
Bedankt.

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • ErikKo
  • Registratie: Mei 2009
  • Laatst online: 18:39

ErikKo

Rippie

Zo simpel als jij het omschrijft, kan zonder heel veel moeite met OpenGL.
En mocht ik met een google toevallig deze link tegenkomen. :)

Acties:
  • 0 Henk 'm!

Verwijderd

XNA zou je daar prima voor kunnen gebruiken. Je zou ook direct op DirectX kunnen programmeren, maar ik denk dat XNA precies is wat je zoekt! Een PC game is toch stiekem eigenlijk ook een desktop applicatie, dus waarom zou je er geen XNA voor kunnen gebruiken?

[ Voor 29% gewijzigd door Verwijderd op 03-01-2011 05:57 ]


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 08-09 11:33
Inderdaad XNA is perfect, omdat het als je niets uitbreid precies is wat jij zoekt. Je hoeft slechts een model van een kubus te importeren en een camera te maken en dan ben je eigenlijk al klaar.

Dit sample leert jou ook nog eens meteen hoe je dat allemaal moet doen :) http://create.msdn.com/en...atalog/sample/graphics_3d .

Als je XNA wil hosten binnen een Winforms of WPF omgeving moet je wel wat truuks uithalen, maar ook daar zijn genoeg opties voor op de officiele site.

Je zou zoals ctor aangeeft ook direct tegen DirectX aan kunnen programeren, maar het opzetten van een scherm en het tekenen van een model kost dan erg veel werk (dat begin is bij XNA al voor je gedaan). Ook is het zo dat er geen ondersteunde managed DirectX wrapper voor .NET is (behalve XNA dan).

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • beany
  • Registratie: Juni 2001
  • Laatst online: 17-09 13:56

beany

Meeheheheheh

Als ik zo lees wat je wilt... vergeet XNA, vergeet OpenGL, vergeet DirectX en neem WPF. Dat is er voor om desktop applicaties te maken en heeft aardige 3D ondersteuning. In iedergeval kan je er veel meer mee in 3D dan jij nodig hebt.

En WPF neemt alle 3D ellende voor je uit handen. XNA ook, maar dat is wat lastiger te integreren in een desktop applicatie. Om nog maar over OpenGL en DirectX te zwijgen.

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Bedankt! Ik kom er nu pas achter dat WPF ook 3D ondersteund O-) Nooit geweten 8)7 . Beetje vreemd moet ik zeggen, maar het lijkt wel makkelijk te implementeren dus daar zal ik zeker naar kijken. XNA zal ik ook proberen, eerst maar eens uitzoeken hoe ik dat in een winforms applicatie gebruik.

Nu kan ik in ieder geval vooruit :)

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • michiel_
  • Registratie: Juli 2005
  • Niet online
Bedenk ook dat je bij bovengenoemde technieken een vorm van een scene graph zal moeten gebruiken, zeker als er sprake is van een grote hoeveelheid kubussen. Een handige zoekterm voor jou probleem is voxel (volumetric picture element, 3D pixel).

Als het gaat om kleinere hoeveel kubussen (<1000 ofzo), kan je gewoon lineair renderen uiteraard, en mag je bovenstaande negeren :).

Heeft het... iets te maken met minecraft? ;)

edit: Misschien is dit een goede basis om te beginnen: http://techcraft.codeplex.com/

[ Voor 8% gewijzigd door michiel_ op 03-01-2011 11:11 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Totaal niet bij stil gestaan inderdaad :)

Acties:
  • 0 Henk 'm!

  • beany
  • Registratie: Juni 2001
  • Laatst online: 17-09 13:56

beany

Meeheheheheh

Verwijderd schreef op maandag 03 januari 2011 @ 11:18:
[...]

Totaal niet bij stil gestaan inderdaad :)
Maar niet verwachten dat je daarmee de next-gen ultra l33t top of the bill shooter kan maken.

Het is uiteraard beperkt. Maar voor wat simpele dingetjes voldoet het prima. In het .Net framework 4(ik dacht zelfs al bij 3.51) kan je ook je eigen pixel shaders maken/gebruiken. Ook voor de niet 3D(de 2D dus) elementen voor allerlei effecten.

Wat extra info:
Heel simpel -> http://www.wpftutorial.net/IntroductionTo3D.html
Uitgebreid -> http://msdn.microsoft.com/en-us/library/ms753347.aspx

Kern van het verhaal:

code:
1
<Viewport3D />

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Ik denk dat ik inderdaad WPF maar eens uit de kast ga halen :) Werd sowieso al tijd, zit er al een tijdje tegenaan te kijken maar nooit echt de tijd genomen om er aan te beginnen. Vind het wat lastig om de overstap te maken van winforms naar WPF... Iemand die een goed boek kan aanraden misschien, een waar een goede kennis van VB of C# al aangenomen wordt? Zeg maar een boek dat de overgang van winforms naar WPF duidelijk maakt, dat zou handig zijn :)

Mijn iRacing profiel


Acties:
  • 0 Henk 'm!

  • beany
  • Registratie: Juni 2001
  • Laatst online: 17-09 13:56

beany

Meeheheheheh

Ik heb de 2008 versie, en die vond ik best wel goed, alhoewel ik geen andere boeken over dit onderwerp heb gelezen: http://www.comcol.nl/detail/69778.htm

Die 2008 versie heb ik dus gelezen toen ik net met WPF begon en heeft me erg goed geholpen.

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Je hebt gelezen hoeveel de maker van Minecraft verdiend heeft en dacht "dat kan ik ook"? :P

https://niels.nu


Acties:
  • 0 Henk 'm!

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 09-09 10:50
Haha, nee niets van minecraft :p
Ik moet gewoon een aantal blokken kunnen tekenen in een 3d schermpje dat de gebruiker dan kan bekijken, en dit alles in desktop applicatie.

Mijn iRacing profiel

Pagina: 1