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
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 )
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 . Sper ca zilele astea pot sa pot sa postez niste screenshoturi mai eye-candy
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 .
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.