Sanctus3D - Soft - Brasov - 2009 Nationala

Informatii generale

  • Categorie: Soft
  • Judetul: Brasov

Descriere

Sanctus3D este un engine 3D scris in C++ folosing API-ul OpenGL folosit pentru jocuri sau aplicatii ce au ca scop vizualizarea in 3D.
Engine-ul este scris astfel incat sa foloseasca placa video la maxim si spre deosebire de majoritatea engine-urilor acesta are renderer de tip deferred(iluminare ca efect de post-processing). Momentan engine-ul functioneaza din C++ si C# dar se poate pentru orice limbaj suporta dll-uri

Tehnologii

C++ OpenGL GLSL C# Net Framework

Cerinte sistem

Processor 1.8 GHZ
Placa video cu suport de SM 3 de preferinta Nvidia.
512 mb Ram

Realizatori

Atzberger Lorin

  • Scoala: Colegiul de Informatica Grigore Moisil
  • Clasa: XI
  • Judet: Brasov

Screenshots

:smiley: nu sunt singurul cu un motor grafic in OPENGL!

dar se poate pentru orice limbaj suporta dll-uri


Sa inteleg ca pana la urma va va pune tot jocul intr-un dll , si de acolo il poti apela cu parametrii tai din orice limbaj?

Ce joc?
Am spus ca fac un motor grafic.
Ala e intr-un dll si asa il folosesti.
Am reusit in sfarsit sa implementez deferred lighting cum trebuie.
Say hello 100 lights without lag :wink:)

folosit pentru jocuri sau aplicatii ce au ca scop vizualizarea in 3D.


Banuiesc ca poate fi folosit si la jocuri.

Ah scuze. Cred ca nu am inteles eu ce vroiai sa spui.
Creadeam ca zici ca tot jocul va fi intr-un dll pe cand e clar ca doar motorul grafic in bagat acolo.
Da desigur ca poti face jocuri cu el. (chiar daca momentan jocuri mai banale)
Trebuie sa mai implementez ceva optimizari la sistemul de iluminare, dupa mai am de lucru la animatii ca vreau sa fie prin shader si sa termin sistemul de teren.
Dupa banuiesc ca va putea fi folosit la ceva mai complex :smile:.
Sper ca zilele astea pot sa pot sa postez niste screenshoturi mai eye-candy

Nu ma prea pricep la OprenGL, dar cum transpui modelele 3D in engine?

Pai am array-uri de vertex-uri, de coordonate pt texturi, normale, binormale,tangenete si un array de indexuri pentru triunghiuri. Si dau pointerii catre OpenGL iar dupa apelez o functie care sa se uite in pointeri si sa deseneze.
Momentan doar obj si 3ds sunt suportate dar trebuie sa mai adaug cate ceva.
Intre timp am mai facut ceva optimizari. Se descurca ok cu 256 de lumini dar cred ca s-ar putea si mai bine :smile:.

Terenul e un model pe care il incarci sau il generezi dupa un heigthmap?

Incearca sa implementezi multi-texturare( in functie de inaltime) pentru teren.

Cate triunghiuri are scena cu 256 de lumini?

La ce folosesti SM3?

Terenul e mesh generat de un height map.
Oricum acum lucrez la un teren mult mai avansat care ar trebui sa aiba din cate am citit in jur de 33 de milioane de triunghiuri fara mare pierdere.
Desigur ca o sa implementez si multitexturarea. Chiar e deja in plan si stiu cum o sa o fac.
Scena cu 256 de lumini e pe un teren mai simplu ca sa vad cum afecteaza. Are totusi in jur de 60.000 triunghiuri. Partea cea mai faina e ca nu conteaza cate triunghiuri are. Poate sa aiba 50 de milioane. Calculele de lumina tot atata timp iau. Lumina e efect de post processing nu e ca la forward renderer.
SM 3 il folosesc la texturi NPOT. Mergea si cu TextRectangle_ARB (sau ceva de genul) dar imi imaginez ca o sa mai ia ceva timp pana o sa il public ca produs finit si pana atuncea lumea o sa mai avanseze. De exemplu un Geforce 9400GT e 150 RON. Iar eu lucrez pe un 8600 GM (considerabil mai slab). Pe 9400GT fac doar testele de compatibilitate. Sper sa apuc sa imi iau si un ati ca sa pot testa si pe el inainte sa vin in tabara.
Oricum din cate stiu eu calculatoarele alea nu au puterea necesara deci probabil o sa prezint de pe laptop.

Abia astept sa-ti vad proiectul, mai ales ca 2 ani la rand si eu am mers tot cu un engine 3D, doar ca facut in directX.