Informatii generale
- Categorie: Soft
- Judetul: Cluj
Descriere
Ideea de baza din spatele generarii procedurale este ca, orice rezultat ai avea, poate fi obtinut dintr-un anumit numar de operatii de baza. Astfel, in loc sa stochezi rezultatul final, vei stoca doar ce-ai facut pentru a ajunge acolo. In acest mod, fisierele vor ocupa mult mai putin spatiu ca inainte (uneori rata de compresie poate fi chiar 1:1.000.000.000, in cazul unor texturi).
Tehnica generarii procedurale este folosita, de obicei, in simulari 3D, ideal find pentru jocuri. Aceasta poate fi folosita la aproape toate elementele unui joc, si anume la modele 3D, texturi, sunet si animaţii. Să zicem ca avem un joc care ocupa 4 GB. Dintre aceştia, 2 GB sunt ocupati de texturi, 1GB de modele 3D, iar restul de sunet, harti si asa mai departe. Daca din cei 2GB de texturi, macar 1,6 GB, reprezentand texturile non-esenţiale (pentru cladiri, obiecte si asa mai departe), ar fi stocate ca scripturi procedurale, acestea ar ocupa maximum 10 MB. Analog si pentru modelele 3D. Astfel, dintr-un joc care, in mod normal, ar ocupa destul de mult spatiu, se poate ajunge la ceva ce nici nu se simte. Apoi, la rulare, programul isi generează pe rand toate resursele pe baza scripturilor.
Generarea procedurala este folosita de cateva grupuri de entuziasti in ale programarii. Acestea se numesc demo group-uri si orbiteaza in jurul Demoscene-ului (www.demoscene.info) si Pouet (www.pouet.net). Aceste group-uri creeaza demo-uri neinteractive de 64kb, 32kb sau chiar 4kb, cu ajutorul acestei tehnici. Exista anumite demo-uri de 128kb care genereaza aproximativ 1.5 GB de date.
Eterna ofera utilizatorului acces la generarea procedurala, mai exact, partea de modelare 3D. Practic, cu ajutorul acestui tool pot fi create modele 3D, iar apoi salvate ca si script procedural, pentru a fi folosite în diverse aplicaţii. Programul vine cu o interfata simpla si intuitiva. Acesta iti pune la dispozitie 8 operatii, grupate in shape-uri (box, sphere, torus, cylinder) si operatii propriu-zise (select, scale, move, rotate). Shape-urile sunt generate cu ajutorul primitivelor din DirectX. Operatiile prorpiu-zise pot fi aplicate global (afectand tot modelul), sau local (afectand doar un anumit shape). Editarea proprietatilor unei operatii se poate face direct, introducand valori, sau indirect, folosind widget-urile care apar pe ecran la selectarea unei operatii. In cazul in care un shape va fi folosit mai mult de o data, exista posibilitatea de a fi convertit in Prefab, pentru a fi folosit ulterior. Odata adaugate in model, acestea pot fi editate si reconvertite in Prefab. De asemenea, apar si elementele de baza gen undo/redo, cut/copy/paste, dar si paste in place, paste before si paste after. Pe langa asta, exista si doua moduri de vizualizare, solid si wireframe, precum si optiunea de a desena vertex-urile. Modelele rezultate ocupe foarte putin spatiu, uneori chiar sub 100 bytes, iar codul de generare vine odata cu aplicatia, pentru ca modelele sa poata fi folosite. Cu toate aceste, Eterna nu se ocupa de texturare. Pimitivele din DirectX nu vin cu texture coordinates, prin urmare acelea vor trebui setate de programator.
Tehnologii
Microsoft Visual C# 2005, DirectX
Cerinte sistem
-Windows XP/Vista/7
-procesor: minim 1 Ghz
-256 MB Ram
-.Net framework 2.0 Sp 1
-2 MB HDD
Realizatori
Baciu Alin-Serban
- Scoala: Liceul Teoretic “Onisifor Ghibu”
- Clasa: XII
- Judet: Cluj