Herní grafické enginy (3.) - GLScene

Když mluvím o 3D enginech vyvíjených pro hry nebo jiné aplikace, rozhodně bych neměl zapomenout na nejznámější open-source projekt pro Delphi založený na OpenGL a nazvaný GLScene. Jedná se o sadu visuálních komponent umožňující snadný návrh a rendering 3D scény.

Popis

Engine byl od začátku navrhován jako všeobecně použitelný 3D engin. Jeho největší výhodou pro začátečníky je rychlý vývoj založený na RAD (Rapid Application Development - rychlý vývoj aplikací, zkrátka uchopit komponentu a umístit ji na formulář :-)). Ke zvládnutí 3D grafiky ani nemusíte ovládat žádné spletitosti OpenGL, Direct3D, ani 3D algebru!!! K samotnému enginu je přibaleno několik desítek demíček, které by měly pomoci zvládnout používání GLScene.

Vlastnosti

Kdybych zde měl vypisovat úplně všechny vlastnosti, určitě by se mi na jednu průměrně dlouhou stránku nevešly,proto vyberu z výpisu jen to nejdůležitější:

Scéna: Hierarchická struktura objektů, snadný pohyb a rotace, předdefinované objekty (od krychle až po čajovou konvici), HUD objekty, pomocné objekty (šipky, skydome,...), speciální efekty (před i po renderování scény, snadno rozšiřitelné), částicové systémy, import souborů z formátů 3D studia, OBJ, MD2, STL, TIN a PLY

Materiály: Snadné použití, knihovna materiálů pro opětovné používání materiálů, podpora ambient, diffuse, emission, specular a shininess, automatické generování alpha-kanálu, podpora texturových formátů OpenGL včetně komprese DXT a S3TC, více jak 150 předdefinovaných barev jako clrLightBlue nebo clrCoolCopper, snadné přesouvání textur, podpora 32-bitových bitmap.

Rendering: Automatické použití hardwarové OpenGL akcelerace, pokud možno, vícenásobné renderování jedné nebo více scén, snadná změna kamery, rendering do souboru, bitmapy nebo na tiskárnu, podpora full-screen módu, odrazy a zrcadlení, stíny.

Zvuky: Vestavěná 3D podpora pro zdroj i posluchače, automatická aktualizace pozice, rychlosti i orientace posluchače, knihovna zvukových samplů, zvukové managery pro WaveOut, Bass a FMOD.

Není nad jednoduchost

    První kroky
  • Vytvořte novou aplikaci s formulářem
  • Na formulář umístěte komponentu GLScene
  • také GLSceneViewer s parametry:
      align: alnone
      backgroundcolor: clbtnface
  • do GLSceneEditoru
      přidejte kameru (GLCamera1): Pozice.z := 10
      přidejte cube (Cube1), showaxes := true
  • v GLSceneViewer nastavte
      camera := GLCamera1;
      lighting := false
  • v GLSceneEditoru nastavte
      cube1.texture.image := obrazek.bmp nebo .jpg
      cube1.texture.disabled := false
  • na formulář
      přidejte TrackBar, 50..500, frequenc := 50, position := 50, name := focal
      TrackBar.OnChange: GLCamera1.focallength := focal.position
    Další kroky
  • Přidejte TrackBar, 0..360, frequency := 10, position := 0, name := XAxisRot
    1. TrackBar.OnChange: cube1.pitchangle := XAxisRot.position
  • Přidejte TrackBar, 0..360, frequency := 10, position := 0, name := YAxisRot
    1. TrackBar.OnChange: cube1.pitchangle := YAxisRot.position
  • Přidejte TrackBar, 0..360, frequency := 10, position := 0, name := ZAxisRot
    1. TrackBar.OnChange: cube1.pitchangle := ZAxisRot.position
    Výsledek
  • Rotace kolem souřadnic objektu
  • S nastavenými souřadnicemi
    1. TrackBar.OnChange: cube1.pitchangle := YAxisRot.position
  • Přidejte TrackBar, 0..360, frequency := 10, position := 0, name := ZAxisRot
    1. TrackBar.OnChange: cube1.pitchangle := ZAxisRot.position

Zatím jsem jen opisoval pochvalné věci z domovské stránky GLScene, nyní ke věcem horším: To, že je engin tak universální je na úkor snížení rychlosti - nedoporučoval bych ho na nějakou náročnou hru. Perfektně se hodí tam, kde se nechceme se učit OpenGL nebo Direct3D (a to bysme při programování hry měli znát...) Mám na mysli třeba jednodušší hry, editory scén atd. (jeden kvalitní editor od českého autora se jmenuje SizeMAX - už, neznám přesnou adresu ale zkuste hledat...) Autoři sice tvrdí, že i podpora RAD není na úkor výkonu procesoru, já si ale myslím pravý opak - program s jedním MD2 objektem neběhá zas tak svižně, natož aby těch objektů bylo víc :-).

Vyšlo 13.10.2002, v blogu: 0 1 2 3 4 5 6 7 8

Děkuji, že jste se rozhodl(a) přečíst tento článek. Budu rád i za komentář. Pokud Vás tento článek zaujal a rádi byste jej doporučili ostatním, podpořte mně prosím tím, že věnujete minutku svého času a uděláte mi reklamu na linkuj.cz, vybrali.sme.sk či jagg.cz. Přeji příjemné čtení

Poslední články

Diskuse k blogu

Zatím nikdo nevložil komentář. Chcete být první? Přidání příspěvku
©PC-guru.cz 2000-2008 | Optimalizováno pro 1024*768