COMPILER


TUTORIAL

Keresés

Bemutatkozás

Ez az oldal elsősorban gyereknek készült. Egy általam kitalált programozási nyelvet fordít át WebGL nyelve. Az új böngészők ezt már képesek 3D-ben megjeleníteni.

Az oldal ingyenes, ezért bármilyen támogatásnak örülök. (Megosztás, reklámozás, anyagi támogatás.)

Niethammer Zoltán


PayPal azonosító:
niethammer.zoli@gmail.com 

3D Időkép

Fejlesztés alatt van a 3D időkép vizualizáció, amely az ingyenes adatbázis  alapján élőben mutatja a legfontosabb időjárási adatokat. 

A fejlesztés részleteiről itt olvashatsz: 3d-idokep

10. Lecke: Limit, eltolás

Ebben a leckében egy táblás játék geometriáját készítem el. Maga a alaptábla egy egyszerű téglatest, ami kapott egy kockás textúrát.

Érdekessége a modellnek, hogy a bábukat lehet majd mozgatni az egérrel. [1] Erre való a MOZGATHATÓ utasítás. Bekapcsolása esetén minden egyszerű geometria amit alá írsz, elmozdítható lesz. Ezért érdemes a kód végére írni ezeket a sorokat. Sajnos csoportokat nem lehet így mozgatni. A mozgatás lényege, hogy a képernyő síkjában húzott egér koordinátáit átszámolja a rendszer 3D koordinátákra. Így egy húzással mindhárom koordináta változhat. A példában ez elég zavaró lenne, hogy néha az XZ sík alá, vagy fölé kerülne a bábú.

Ilyenkor a LIMIT utasítással korlátozható a test pozíciója. [2] Fontos, hogy egyéni neve legyen a testnek!

Maga az utasítás három részből áll: LIMIT.HELY.X, LIMIT.HELY.Y, LIMIT.HELY.Z 

Ha valamelyik nincs megadva, akkor ott nem érvényesül a korlátozás. [3] Első paraméterként az objektum nevét kell megadni, majd a minimum, és maximum értékeket.

Bővebben: 10. Lecke: Limit, eltolás

9. Lecke: Térkép

Sokszor van olyan feladat, ahol előre meghatározott rácspontokba kell objektumokat helyezni. Ilyen például egy sakktábla is. Ilyen feladatokra találtam ki a TÉRKÉP utasítást. Valójában három utasítás szükséges, mivel előzetesen definiálni kell néhány adatot, hogy meg lehessen rajzolni a térképet.

[1][2] Első lépésben megrajzoltam 2 db bábú figurát. Csoportba helyzetem mindkettő részeit. A csoport előtt adtam meg a koordinátáikat. A példában közel vannak a kész térképhez, de később a minta objektumokat el lehet helyezni a látóhatáron kívülre. Pl.: hely(-3000,0,0)

A csoportoknak B1, és B2 nevet adtam.

[3] Ezután a TÉRKÉP.ELEM utasítással egy tetszőleges karakterhez rendelem a csoportneveket. Az „x” lesz a B1 objektum, az „o” lesz a B2 objektum a térképen.

[4] A következő sorban megadtam a térképrajzolás kezdeti koordinátáit. Ehhez a ponthoz viszonyítva másolja majd az objektumokat a térkép utasítás.

[5] Majd meg kell adni a térképrács méretét. A TÉRKÉP.RÁCS utasítás első 3 paramétere a dx, dy, dz értéke, vagyis ennyit lép a kirajzolt objektum után a TÉRKÉP utasítás. Ebben az esetben dx=2, a többi nulla, tehát jobbra 2 egységgel rajzolja a következő elemet.

[6] A második 3 paraméter adja meg, hogy egy sornyi TÉRKÉP utasítás után a következő TÉRKÉP utasítás a kezdőponthoz képest mennyivel mozduljon el. A példában dz=2, a többi nulla, tehát előre 2 egységgel rajzolja a következő sort.

[7] Végül jöhet maga a térkép. A TÉRKÉP utasítás paramétereként egy karaktersort kell megadni. Ebben csak az előre megadott karaktereket használhatod, és a szóközt. A szóköz helyére nem rajzol semmit.

8. Lecke: Anyagok

A következő videóban az anyagokkal foglalkozok. A test felszíni mintázatát több utasítás is szabályozza. A SZÍN utasítás legyen az első, mert ez befolyásolja a textúrák színét is. A SZÍN utasításban max. 5 paraméter adható meg. Az első a legfontosabb, mivel ez adja meg a test alapszínét a ráeső lámpa színével kalkulálva. Legtöbbször fehér fényt használunk, vagyis piros szín beállításakor tényleg piros lesz a tárgy felszíne.

A második szín a fényes felületek színe. Alapesetben fehér. A harmadik szín az árnyékos részek színe. Ez pedig fekete alapesetben.

Ezeket a színeket többféleképpen is meg lehet adni:

  • magyar nyelven néhány alapszín beírható: fehér, fekete, piros, kék, zöld, sárga, lila, szürke, ezüst)
  • angol nyelven a szabványos HTML neveket kell használni: http://html-color-codes.info/color-names/
  • a legjobb az RGB színkódok használata: http://html-color-codes.info/

A piros szín:  red, piros, #FF0000, #ff0000, vagy csak FF0000, ff0000

A fehér szín:  white, fehér, #FFFFFF, #ffffff, vagy csak FFFFFF, ffffff

Az így megadott szín addig érvényes, amíg másik SZÍN utasítást nem talál a fordító!

A negyedik paraméter a fényes rész csillogása. Nulla esetnén nem csillog. Az ötödik paraméter a test átlátszósága. 

Ezután jöhet a TEXTURE utasítás, ami egy pixeles képet feszít a test felszínére. A TEXTURE elé kell írni a BUMP utasítást, ami szintén egy pixeles kép, de ez a test felszínének érdességét szabályozza. 

 

 

Néhány példa a különféle anyagokra: