Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

3D rendering/raytrace library

Pagina: 1
Acties:

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-11 20:49

Sponge

Serious Game Developer

Topicstarter
Hoi,

Ik zit al een tijdje te zoeken naar libraries/API's die van een vertex- of trianglelist een mesh kunnen genereren inclusief textures and lighting. Belangrijkste argument dat het een software render/ray tracer/rasterizer zou moeten zijn, omdat OpenGL of DirectX de kans op problemen (vanwege verschillende hardware) te groot is. Daarnaast moet er gewoon niet te veel zooi zijn qua externe files. Liefst gewoon een enkele DLL :). De library zou bruikbaar moeten zijn in C++/Delphi

Nu weet ik dat dit in het algemeen wel mee valt, maar aangezien het software is die op bedrijfs PC's komt met allerlei ingestelden rechten en mogelijk wat oudere hardware is het gewoon niet geschikt.

Na heel wat zoeken op internet en het langs gaan van de DevMaster engine list, heb ik nog erg weinig gevonden. Op dit moment is alleen POV-Ray iets wat hier op lijkt. Maar het lijkt mij dat er meer van zulke software moet zijn (al dan niet commercieel).

Het moet dus:

- Library/API zijn
- Van een lijst vertices een 3d mesh kunnen renderen
- Met texturing
- Met (simpele) lighting
- Aanpasbaar camera locatie
- NIET realtime. Gewoon statische images.

Heeft iemand misschien nog verdere suggesties / ervaringen?

  • MLM
  • Registratie: Juli 2004
  • Laatst online: 12-03-2023

MLM

aka Zolo

Ik heb zelf recentelijk een raytracer gebouwd. Als je een redelijke basis hebt qua vector-wiskunde en je zoekt ray/triangle intersect code op internet, heb je in een goeie 10 uur wel iets gebouwd wat werkt (niet erg snel natuurlijk, maar aangezien je geen snelheid wilt).

Daarnaast, Direct3D is prima te gebruiken in C++ (Delphi zou ik niet weten), en Direct3D is ontworpen om hardware-onafhankelijk te zijn, en daar kan je ook prima een lijst textured triangles op het scherm mee krijgen, en dat gaat ook nog eens een stuk sneller.

En daarnaast, ik denk dat bijna alle engines die je aantreft op het internet gebaseerd zijn op Direct3D en/of OpenGL...

-niks-


  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Inderdaad als je niet te hoge direct3D calls gebruikt is het prima platform en hardware onafhankelijk, en wat jij wilt kan prima in DX7 of 8

(zelfs alle intel chipsets e.d. supporten al lang (software) DX9) As do alle grafische kaarten van Nvidia/AMD/Matrox van de afgelopen 4 -5 jaar.

Verder zou ik echt geen software pakket voor weten, maar misschien kun je libs van AC3D gebruiken (dacht dat die daar de mogelijkheid voor boden, maar pin me er niet op vast)

~ Mijn prog blog!


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
therat10430 schreef op donderdag 18 oktober 2007 @ 20:06:
Inderdaad als je niet te hoge direct3D calls gebruikt is het prima platform en hardware onafhankelijk, en wat jij wilt kan prima in DX7 of 8
En voor OpenGL zou hetzelfde moeten gelden.

Uit de Wikipedia-pagina over OpenGL:
OpenGL serves two main purposes:

To hide the complexities of interfacing with different 3D accelerators, by presenting the programmer with a single, uniform API.
To hide the differing capabilities of hardware platforms, by requiring that all implementations support the full OpenGL feature set (using software emulation if necessary).

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
MrBucket schreef op donderdag 18 oktober 2007 @ 20:13:
[...]

En voor OpenGL zou hetzelfde moeten gelden.

Uit de Wikipedia-pagina over OpenGL:
OpenGL serves two main purposes:

To hide the complexities of interfacing with different 3D accelerators, by presenting the programmer with a single, uniform API.
To hide the differing capabilities of hardware platforms, by requiring that all implementations support the full OpenGL feature set (using software emulation if necessary).
Oops je hebt gelijk, misschien is Open_GL nog wel beter hiervoor, omdat hier niet zo veel verschillende versies van zijn (we zitten op dit moment op versie 1.5 en dat is al erg lang zo toch?)

Alleen Vista is dan weer iets minder Open_GL vriendelijk, maar dit uit zich geloof ik alleen in performance verlies, wat voor statische images niet al te erg is denk ik.

~ Mijn prog blog!


  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 24-11 12:28

dawuss

gadgeteer

En vergeet vooral niet dat OpenGL op platforms anders dan alleen Windows ook werkt.

Als je echt raytracing wil, zul je toch wel iets verder moeten gaan kijken dan hardware acceleratie.

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


  • Not Pingu
  • Registratie: November 2001
  • Laatst online: 20-11 21:40

Not Pingu

Dumbass ex machina

SwiftShader is een library die hele goede performance schijnt te geven. Geen idee wat het mag kosten, maar het zal wel vrij prijzig zijn. Het doet geen raytracing maar als je dat wil kun je dat, zoals MLM zegt, ook zelf bouwen met niet al te veel moeite.

Certified smart block developer op de agile darkchain stack. PM voor info.


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 28-11 20:49

Sponge

Serious Game Developer

Topicstarter
Hm, Ik heb soms de ervaring dat OpenGL niet werkt omdat de DLL's niet geinstalleerd zijn in Windows, snap nooit waarom, maar het is me enkele malen voorgekomen.

Ben toch een beetje verbaast dat er niet meer van zulke libraries zijn, die gewoon in software de vertices transformen. Maar goed, blijkbaar zal ik dan inderdaad toch maar voor OGL / DX moeten kiezen. Zelfbouw is niet echt een optie (tijd gebrek / en alhoewel het erg interessant is, ismijn wiskunde knobbel niet erg groot ;))

Overigens heb ik genoeg ervaring met DX (zie signature ;)), en weet dat het gewoon daar in kan, Maar het ging me er meer om dat ik de gebruiker liever niet wil confronteren met de optie om DirectX te moeten installeren. Alhoewel Windows XP natuurlijk al versie 7 of 8 standaard heeft.

In ieder geval bedankt voor de reacties! :).

Verwijderd

Sponge schreef op vrijdag 19 oktober 2007 @ 17:36:
Ben toch een beetje verbaast dat er niet meer van zulke libraries zijn, die gewoon in software de vertices transformen.
http://www.mesa3d.org/

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
Irrlicht werkt erg erg fijn en heeft de optie om terug te vallen (of gebruik te maken) van twee verschillende software renderers.

  • beany
  • Registratie: Juni 2001
  • Laatst online: 16:51

beany

Meeheheheheh

Je kan bij DirectX de reference mode gebruiken. Dan wordt alles berekend zonder gebruik te maken van de video hardware. Wordt normaal gebruikt om te vergelijken of de hardware doet wat ook de bedoeling is :)

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

Pagina: 1