์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

whitedune - ํด๋ผ์šฐ๋“œ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์—์„œ whitedune์„ ์‹คํ–‰ํ•˜์„ธ์š”.

์ด๊ฒƒ์€ Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” whitedune ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


whitedune - ๊ทธ๋ž˜ํ”ฝ vrml97 ํŽธ์ง‘๊ธฐ ๋ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋„๊ตฌ

๊ฐœ์š”


ํ™”์ดํŠธ๋“„ [ ๋ณ€ํ˜• ์˜ต์…˜ ] [ ์Šคํ…Œ๋ ˆ์˜ค๋ทฐ ์˜ต์…˜ ] [ ์ž…๋ ฅ ์žฅ์น˜ ์˜ต์…˜ [ ์ถ• ์˜ต์…˜ ] [
์˜คํ•ด ] [ ํŒŒ์ผ.wrl ํŒŒ์ผ.x3dv ํŒŒ์ผ.xml ... ]

ํ™”์ดํŠธ๋“„ [ ๋ณ€ํ™˜ ์˜ต์…˜ ] ํŒŒ์ผ ์ด๋ฆ„

ํ™”์ดํŠธ๋“„ -illegal2vrml [ -์ ‘๋‘์‚ฌ ์ ‘๋‘์‚ฌ ] ํ”„๋กœํ† ํŒŒ์ผ.wrl ํŒŒ์ผ.wrl ...

๊ธฐ์ˆ 


ํ™”์ดํŠธ๋“„ / white_whitedune์€ ๊ฐ€์ƒ ํ˜„์‹ค ๋ชจ๋ธ๋ง์„ ์œ„ํ•œ ๊ทธ๋ž˜ํ”ฝ ํŽธ์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค.
์–ธ์–ด(VRML97), ISO/IEC 14772-1:1997.
๋˜ํ•œ VRML97 Amendment 1์— ์„ค๋ช…๋œ NurbsSurface ๋…ธ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
white_whitedune์€ ๋˜ํ•œ VRML๋กœ ์ธ์ฝ”๋”ฉ๋œ X3DV ํŒŒ์ผ์„ ๋กœ๋“œํ•˜๊ณ  ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ XML ์ธ์ฝ”๋”ฉ์œผ๋กœ X3D ํŒŒ์ผ์„ ๋กœ๋“œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
vrml97/x3d ๋ฒˆ์—ญ๊ธฐ.
ํŒŒ์ผ ์ด๋ฆ„ - ํ‘œ์ค€ ์ž…๋ ฅ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
Dune์€ ์ผ๋ฐ˜์ ์œผ๋กœ OpenGL์˜ ์…”ํ„ฐ๊ธ€๋ผ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…์ฒด ๋ณด๊ธฐ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
"์ฟผ๋“œ๋ฒ„ํผ" ๋ชจ๋“œ.
๋ณ€ํ™˜ ์˜ต์…˜ ๋˜๋Š” -illegal2vrml ๋ช…๋ น์ค„ ์ธ์ˆ˜,
white_whitedune์€ ๊ทธ๋ž˜ํ”ฝ์ด ์•„๋‹Œ ๋ช…๋ น์ค„ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
๋ณ€ํ™˜ ์˜ต์…˜์€ VRML/X3DV ํŒŒ์ผ์„ ์†Œ์Šค ์ฝ”๋“œ ๋˜๋Š” ๋‹ค๋ฅธ 3D๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ž˜ํ”ฝ ํ˜•์‹. ์ด ์˜ต์…˜์€ ๋ช…๋ น์ค„์—์„œ ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ผ๋ถ€ ์˜ต์…˜์€
๊ทธ๋ž˜ํ”ฝ ์ปจํ…์ŠคํŠธ(์˜ˆ: ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ xterm ๋ช…๋ น), ์ผ๋ถ€ ์›์ธ
๋ณ€ํ™˜ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. OpenGL ์ปจํ…์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด
3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋จผ์ € ์ž„์‹œ ๊ทธ๋ž˜ํ”ฝ ์ฐฝ์„ ์—ด๊ณ  ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ ๊ทธ๋ž˜ํ”ฝ ์ฐฝ์„ ๋‹ซ๊ณ 
์ถœ๊ตฌ. ์ด๊ฒƒ์€ ํ˜„์žฌ M$Windows์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ์งธ๋Š” Mesa ์˜คํ”„์Šคํฌ๋ฆฐ ๋ Œ๋”๋ง์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(ํ”„๋กœ๊ทธ๋žจ์€ --with-
osmesa ๊ตฌ์„ฑ ์˜ต์…˜). Mesa ์˜คํ”„ ์Šคํฌ๋ฆฐ ๋ Œ๋”๋ง์„ ์‚ฌ์šฉํ•˜๋ฉด OpenGL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ˆœ์ˆ˜ํ•œ ๋ช…๋ น์ค„ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น.
์„ธ ๋ฒˆ์งธ๋Š” Linux/UNIX/MacOSX์—์„œ glx ๊ธฐ๋ฐ˜ ์˜คํ”„ ์Šคํฌ๋ฆฐ ๋ Œ๋”๋ง์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š”
ํ”„๋กœ๊ทธ๋žจ์€ ๊ทธ๋ž˜ํ”ฝ ์ฐฝ์„ ์—ด์ง€ ์•Š์ง€๋งŒ ์–ด์จŒ๋“  ์ž‘๋™ํ•˜๋Š” X11 ๋””์Šคํ”Œ๋ ˆ์ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—
ํ…์ŠคํŠธ ์ฝ˜์†” Xvfb X11 ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” X11 ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
XNUMXD๋ดํƒˆ์˜ -illegal2vrml ์˜ต์…˜์€ ํ™•์žฅ์ž๊ฐ€ ์ž˜๋ชป๋œ VRML97 ํŒŒ์ผ์„ ๋ณต๊ตฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
์„ ์ฐธ์กฐ ๋ถˆ๋ฒ•2vrml(1) ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งจํŽ˜์ด์ง€.

๋ณ€ํ˜• ์˜ต์…˜


-4ํ‚ค์ฆˆ ์–ด๋ฆฐ์ด๋ฅผ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ 3D ๋ชจ๋ธ๋Ÿฌ๋กœ ๋‹จ์ˆœํ™”๋œ GUI๋กœ whitedune์„ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค.

-x3dv ํŒŒ์ผ์ด ๋กœ๋“œ๋˜์ง€ ์•Š์œผ๋ฉด ์ƒˆ X3DV ํŒŒ์ผ๋กœ whitedune์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ์ ์œผ๋กœ whitedune์€ ์ƒˆ VRML97 ํŒŒ์ผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

-์บ„๋น„ ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด์‹ ๋ถˆ๊ฐ€๋Šฅํ•œ ํ™•์žฅ ๋…ธ๋“œ๋ฅผ ์ง€์›ํ•˜์—ฌ whitedune์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
kambi VRML ๊ฒŒ์ž„ ์—”์ง„.

-์”Œ์šฐ๋‹ค ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด์‹ ๋ถˆ๊ฐ€๋Šฅํ•œ ํ™•์žฅ ๋…ธ๋“œ๋ฅผ ์ง€์›ํ•˜์—ฌ whitedune์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
ํŠน๋ณ„ํ•œ ๋ชฐ์ž…ํ˜• VRML97 ๋ทฐ์–ด ํ‘œ์ง€/covise.

-4์บํŠธ CATT ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ ๋‚ด๋ณด๋‚ด๊ธฐ/๋ณ€ํ™˜๊ธฐ๋กœ์„œ ๊ฐ„์†Œํ™”๋œ GUI๋กœ whitedune ์‹œ์ž‘
8 ์‚ฌ์šด๋“œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์†Œํ”„ํŠธ์›จ์–ด.

-bw ์ปฌ๋Ÿฌ ์•„์ด์ฝ˜ ๋Œ€์‹  ํ‘๋ฐฑ ์•„์ด์ฝ˜ ์‚ฌ์šฉ

-๋…์ผ ์‚ฌ๋žŒ
๋…์ผ์–ด ๋ฉ”๋‰ด, ๋Œ€ํ™” ์ƒ์ž ๋ฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์‚ฌ์šฉ

-์ดํƒˆ๋ฆฌ์•„ ์‚ฌ๋žŒ
์ดํƒˆ๋ฆฌ์•„์–ด ๋ฉ”๋‰ด ๋ฐ ๋Œ€ํ™” ์ƒ์ž ์‚ฌ์šฉ, ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์—ฌ์ „ํžˆ ์˜์–ด๋กœ ํ‘œ์‹œ๋จ

-์˜์–ด
์˜์–ด ๋ฉ”๋‰ด, ๋Œ€ํ™” ์ƒ์ž ๋ฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.
LANG ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ์„ค์ •์„ ๋ฎ์–ด์”๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ์˜ต์…˜


-vrml97
ํŒŒ์ผ์„ VRML97 ISO/IEC 14772-1:1997๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ฐ๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-vrml97levelx3dv
ํŒŒ์ผ์„ X97D ํด๋ž˜์‹ VRML์˜ VRML14772 ISO/IEC 1-1997:3 ํ˜ธํ™˜ ๋ถ€๋ถ„์œผ๋กœ ๋ณ€ํ™˜
ISO/IEC ISO/IEC 19776-2:2005 ์ธ์ฝ”๋”ฉ, ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ฐ๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-x3d ํŒŒ์ผ์„ XML๋กœ ์ธ์ฝ”๋”ฉ๋œ X3D๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ฐ๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-์นด๋‹˜ ํŒŒ์ผ ์ด๋ฆ„ ํŒจํ„ด
ํŒŒ์ผ์„ kanim ํŒŒ์ผ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์”๋‹ˆ๋‹ค.
kanim ํŒŒ์ผ ํ˜•์‹์€ ๋‹ค๋ฅธ VRML ํŒŒ์ผ์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์žˆ๋Š” XML ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
VRML ํŒŒ์ผ๋„ ์ƒ์„ฑ๋˜๋ฉฐ ์ด๋ฆ„์€ ๋‹ค์Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„ ํŒจํ„ด๋‹ค์Œ
filenamepattern์€ ํŒŒ์ผ ํ™•์žฅ์ž์—์„œ ๋‹จ์ถ•๋œ ๋‹ค์Œ
๋ฐ‘์ค„, ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž ๋ฐ .wrl ํ™•์žฅ์ž.
๋ชจ๋“  VRML ํŒŒ์ผ์€ ๋…ธ๋“œ๊ฐ€ ๋™์ผํ•œ ๋™์ผํ•œ VRML ์žฅ๋ฉด์„ ์„ค๋ช…ํ•˜์ง€๋งŒ ์ผ๋ถ€ ์ˆซ์ž๋Š”
ํ•„๋“œ๊ฐ€ ์• ๋‹ˆ๋ฉ”์ด์…˜๋ฉ๋‹ˆ๋‹ค.
์ด ์œ ํ˜•์˜ ํŒŒ์ผ์€ ์˜คํ”ˆ ์†Œ์Šค VRML ๊ธฐ๋ฐ˜ Kambi ๊ฒŒ์ž„ ์—”์ง„์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋งŒ๋“ ๋‹ค
๋‚ด๋ณด๋‚ธ VRML ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ kanim ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
timesensor/interpolator ๊ธฐ๋ฐ˜ ์• ๋‹ˆ๋ฉ”์ด์…˜.

-์ด์ƒํ•œ ๋‚˜๋ผ ๋ชจ๋“ˆ๋””๋ ‰ํ† ๋ฆฌ
ํŒŒ์ผ์„ ํ•„์š”ํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์— ํฌํ•จ๋œ ์ž๋ฐ” ์†Œ์Šค ํŒŒ์ผ๋กœ ๋ณ€ํ™˜
SUN wonderland ๋ฒ„์ „ 0.5 ๋ชจ๋“ˆ์„ ๋นŒ๋“œํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
๋ชจ๋“ˆ์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ž…๋ ฅ์—์„œ ๋นŒ๋“œ๋œ ๊ฒฝ์šฐ ํŒŒ์ผ ์ด๋ฆ„ (์—†์ด
ํ™•์žฅ์ž)๋กœ ๋ชจ๋“ˆ๋””๋ ‰ํ† ๋ฆฌ/exportX3dv/ํŒŒ์ผ ์ด๋ฆ„
์ด ๋””๋ ‰ํ† ๋ฆฌ์™€ ํ•„์š”ํ•œ ๋‹ค๋ฅธ ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์ด ํŒŒ์ผ๋„
๋งŒ๋“ค์–ด์ง„. ๋‹ค๋ฅธ ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ๋ฎ์–ด์“ฐ์ง€ ์•Š๊ณ  ๋Œ€์ƒ java๋งŒ
์†Œ์Šค ์ž์ฒด๋ฅผ ๋ฎ์–ด์”๋‹ˆ๋‹ค. ๋Œ€์ƒ Java ์†Œ์Šค ํŒŒ์ผ์˜ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋ชจ๋“ˆ๋””๋ ‰ํ† ๋ฆฌ/exportX3dv/ํŒŒ์ผ ์ด๋ฆ„/src/classes/org/jdesktop/์›๋”๋žœ๋“œ/๋ชจ๋“ˆ/ํŒŒ์ผ ์ด๋ฆ„/ํด๋ผ์ด์–ธํŠธ/jme/cellrenderer/ํŒŒ์ผ ์ด๋ฆ„.์ž๋ฐ”
๋Œ€์ƒ Java ์†Œ์Šค ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž์ž…๋‹ˆ๋‹ค.
์›๋”๋žœ๋“œ ๋ชจ๋“ˆ์„ ์–ป์œผ๋ ค๋ฉด ๋ชจ๋“ˆ๋””๋ ‰ํ† ๋ฆฌ/exportX3dv/ํŒŒ์ผ ์ด๋ฆ„ ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ,
์ด ๋””๋ ‰ํ† ๋ฆฌ์— ๋“ค์–ด๊ฐ€ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ๊ฐœ๋ฏธ ๋ช…๋ น. ์ผ๋ฐ˜์ ์ธ jar ํŒŒ์ผ
์›๋”๋žœ๋“œ ๋ชจ๋“ˆ์€ ๋‹ค์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ๋””๋ ‰ํ† ๋ฆฌ/exportX3dv/ํŒŒ์ผ ์ด๋ฆ„/๊ฑฐ๋ฆฌ
๋””๋ ‰ํ† ๋ฆฌ.
Wonderland Java ์†Œ์Šค ๋‚ด๋ณด๋‚ด๊ธฐ์˜ ์ถœ๋ ฅ์„ ๋ช…๋ น์œผ๋กœ ์ปดํŒŒ์ผํ•  ๋•Œ
๊ฐœ๋ฏธ, Java ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ๋‹ค์Œ์—์„œ javac ํƒœ๊ทธ๋ฅผ ํ™•์žฅํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ wonderland/build-tools/build-scripts/build-setup.xml ์˜ˆ:
<์ž๋ฐ• ...
...
ํฌํฌ = "์ฐธ"
๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ธฐ ํฌ๊ธฐ="256m"
์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ="1024m"
>
ํ˜„์žฌ, -์ด์ƒํ•œ ๋‚˜๋ผ ์˜ต์…˜์€ ์—†์ด ์ •์  3D ๋ชจ๋ธ๋Ÿฌ ์ถœ๋ ฅ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
์• ๋‹ˆ๋ฉ”์ด์…˜ ๋˜๋Š” ์ƒํ˜ธ ์ž‘์šฉ.
์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ์ง„ํ–‰ ์ค‘์ด๋ฉฐ ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-x3d4์›๋”๋žœ๋“œ
SUN wonderland 3์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ํŒŒ์ผ์„ XML๋กœ ์ธ์ฝ”๋”ฉ๋œ X0.4D๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋‹ค์Œ ์œ„์น˜์— ์”๋‹ˆ๋‹ค.
ํ‘œ์ค€ ์ถœ๋ ฅ ๋ฐ ์ข…๋ฃŒ.
SUN wonderland 0.4๋Š” colorPerVertex ๋ฐ fullsize๊ฐ€ ์žˆ๋Š” IndexedFaceSets๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
์ƒ‰์ƒ ๋…ธ๋“œ. ์ด ๋‚ด๋ณด๋‚ด๊ธฐ ๋„๊ตฌ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ์ด IndexedFaceSets๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ (ํ˜„์žฌ) colorPerVertex๊ฐ€ false์ธ ๋…ธ๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ „์ฒด ํฌ๊ธฐ ์ƒ‰์ƒ ๋…ธ๋“œ.
์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-ac3d ํŒŒ์ผ์„ AC3D ํ˜•์‹(๋ฒ„์ „ AC3Db)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ 
์ถœ๊ตฌ. ์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
AC3D ํŒŒ์ผ ํ˜•์‹์€ 3D ๋ชจ๋ธ๋Ÿฌ ac3d์˜ ์ž…/์ถœ๋ ฅ ํŒŒ์ผ ํ˜•์‹์ž…๋‹ˆ๋‹ค.
ac3d 3d ๋ชจ๋ธ๋Ÿฌ๋Š” VRML/X3D์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์˜ˆ: ac3d 3d
๋ชจ๋ธ๋Ÿฌ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋˜๋Š” ์ƒํ˜ธ ์ž‘์šฉ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). ๋”ฐ๋ผ์„œ AC3D ํŒŒ์ผ ํ˜•์‹
์ผ๋ฐ˜์ ์œผ๋กœ VRML/X3D ํŒŒ์ผ์˜ ์™„์ „ํ•œ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

-catt8geo outputdir_with_material_geo
ํŒŒ์ผ์„ catt geo ํ˜•์‹(๋ฒ„์ „ 8)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์—ฌ๋Ÿฌ .geo ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋””๋ ‰ํ† ๋ฆฌ๋กœ outputdir_with_material_geo ์ข…๋ฃŒํ•˜์‹ญ์‹œ์˜ค.
catt geo ํŒŒ์ผ ํ˜•์‹์€ catt acustic์˜ ์ž…๋ ฅ ๊ธฐํ•˜ํ•™ ํŒŒ์ผ ํ˜•์‹์ž…๋‹ˆ๋‹ค.
์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ”„๋กœ๊ทธ๋žจ.
์ด ๋””๋ ‰ํ† ๋ฆฌ์˜ master.geo ํŒŒ์ผ outputdir_with_material_geo ํฌํ•จํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค
์ƒ์„ฑ๋œ ๋‹ค๋ฅธ .geo ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ช…๋ น์ž…๋‹ˆ๋‹ค.
๋””๋ ‰ํ† ๋ฆฌ์— ํ•„์š”ํ•œ ABS ๋ช…๋ น์ด ํฌํ•จ๋œ material.geo ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ณ€ํ™˜ํ•˜๊ธฐ ์ „์—. ABS ์ด๋ฆ„์˜ ์žฌ๋ฃŒ ์ด๋ฆ„์€ DEF์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
VRML ๋…ธ๋“œ์˜ ์ด๋ฆ„.
material.geo ํŒŒ์ผ์ด outputdir_with_material_geo ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ,
white_whitedune์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
catt ํ”„๋กœ๊ทธ๋žจ์ด VRML97 ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
VRML/X3D์˜ ํŠน์ง•.
๋”ฐ๋ผ์„œ catt geo ํŒŒ์ผ ํ˜•์‹์€ VRML/X3D ํŒŒ์ผ์˜ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

-ldraw ํŒŒ์ผ์„ ldraw ํŒŒ์ผ ํ˜•์‹์˜ ์ฃผ์š” ๋ถ€๋ถ„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€์œผ๋กœ ์ž‘์„ฑ
์ถœ๋ ฅ.
ldraw ํŒŒ์ผ์˜ ํ—ค๋”๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ—ค๋”๋Š” ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
ldraw ํŒŒ์ผ์ด๋ฉฐ ์ด์ „์— ํ‘œ์ค€ ์ถœ๋ ฅ์— ๊ธฐ๋ก๋˜์—ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ ์ด
๋ฐฐ์น˜ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ˆ˜ํ–‰๋จ).
ldraw ํŒŒ์ผ ํ˜•์‹์€ 3D ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ASCII ํŒŒ์ผ ํ˜•์‹์ž…๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ ์˜คํ”ˆ ์†Œ์Šค ํ”Œ๋ผ์Šคํ‹ฑ ๋ฒฝ๋Œ ์„ค๋ช… ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด. ์ด์— ๋Œ€ํ•œ ์˜ˆ
ํ”„๋กœ๊ทธ๋žจ์€ LeoCAD์ž…๋‹ˆ๋‹ค.

-์ ‘๋‘์‚ฌ ์ ‘๋‘์‚ฌ
XNUMXD๋ดํƒˆ์˜ -์ ‘๋‘์‚ฌ ๋ณ€ํ™˜๊ณผ ํ•จ๊ป˜ ์˜ต์…˜์€ ๋‹ค์Œ์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ์ฝ”๋“œ ์ƒ์„ฑ ์˜ต์…˜. ๋‹ค์Œ์— ๋Œ€ํ•œ ์„ ํ–‰ ์ ‘๋‘์‚ฌ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์†Œ์Šค ์ฝ”๋“œ ์ถœ๋ ฅ์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์ด๋ฆ„.
์˜ˆ๋ฅผ ๋“ค์–ด, ์†Œ์Šค ์ฝ”๋“œ๋Š” "Node", "Scenegraph"๋ผ๋Š” ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ƒ์„ฑํ•˜๊ณ 
"์ฝœ๋ฐฑ". ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
"-์ ‘๋‘์‚ฌ X3d"๋Š” ์ด๋ฆ„์„ "X3dNode", "X3dSceneGraph"๋กœ ๋ณ€๊ฒฝํ•˜๊ณ 
"X3d์ฝœ๋ฐฑ".

-c ํŒŒ์ผ์„ C ํ—ค๋”/์†Œ์Šค ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ฐ๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์„น์…˜ ์ฐธ์กฐ C/C++/์ž๋ฐ” SOURCE ์ˆ˜์ถœ

+c ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -c ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค ํŒŒ์ผ์„ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -c ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-3c ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -c ์˜ต์…˜์ด์ง€๋งŒ ์„œํ”ผ์Šค๋Š” ๋จผ์ € ์‚ผ๊ฐ ์ธก๋Ÿ‰๋˜๊ณ 
๊ทธ๋Ÿฐ ๋‹ค์Œ TriangleSet ๋…ธ๋“œ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

+3c ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -3c ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค ํŒŒ์ผ์„ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -3c ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-meshc ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -c ์˜ต์…˜์ด์ง€๋งŒ ํ‘œ๋ฉด์€ ๋จผ์ €
ํด๋ฆฌ๊ณค ๋ฉ”์‰ฌ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ IndexedFaceSet ๋…ธ๋“œ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

+๋ฉ”์‰ฌ ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -meshc ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -meshc ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-C++ ํŒŒ์ผ์„ C++ ํ—ค๋”/์†Œ์Šค ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ฐ๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์„น์…˜ ์ฐธ์กฐ C/C++/์ž๋ฐ” SOURCE ์ˆ˜์ถœ

+c++ ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -C++ ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -C++ ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-3c++ ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -C++ ์˜ต์…˜์ด์ง€๋งŒ ์„œํ”ผ์Šค๋Š” ๋จผ์ € ์‚ผ๊ฐ ์ธก๋Ÿ‰๋˜๊ณ 
๊ทธ๋Ÿฐ ๋‹ค์Œ TriangleSet ๋…ธ๋“œ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

+3c++ ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -3c++ ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -3c++ ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-meshc++
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -C++ ์˜ต์…˜์ด์ง€๋งŒ ํ‘œ๋ฉด์€ ๋จผ์ €
ํด๋ฆฌ๊ณค ๋ฉ”์‰ฌ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ IndexedFaceSet ๋…ธ๋“œ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

+๋ฉ”์‰ฌC++ ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -meshc++ ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -meshc++ ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-์ž๋ฐ” ํŒŒ์ผ์„ Java ์†Œ์Šค ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ํ‘œ์ค€ ์ถœ๋ ฅ์— ์“ฐ๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋‚ด๋ณด๋‚ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์„น์…˜ ์ฐธ์กฐ C/C++/์ž๋ฐ” SOURCE ์ˆ˜์ถœ

+์ž๋ฐ” ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -์ž๋ฐ” ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -์ž๋ฐ” ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-3์ž๋ฐ” ์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -์ž๋ฐ” ์˜ต์…˜์ด์ง€๋งŒ ์„œํ”ผ์Šค๋Š” ๋จผ์ € ์‚ผ๊ฐ ์ธก๋Ÿ‰๋˜๊ณ 
๊ทธ๋Ÿฐ ๋‹ค์Œ TriangleSet ๋…ธ๋“œ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ OpenGL ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

+3์ž๋ฐ” ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -3์ž๋ฐ” ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -3์ž๋ฐ” ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-meshjava
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -์ž๋ฐ” ์˜ต์…˜์ด์ง€๋งŒ ํ‘œ๋ฉด์€ ๋จผ์ €
ํด๋ฆฌ๊ณค ๋ฉ”์‰ฌ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ IndexedFaceSet ๋…ธ๋“œ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

+๋ฉ”์‰ฌ์ž๋ฐ” ์ ‘๋‘์‚ฌ
์ด ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. -meshjava ์˜ต์…˜์ด์ง€๋งŒ ๋ถˆ์™„์ „ํ•œ ์†Œ์Šค๋ฅผ ์”๋‹ˆ๋‹ค.
์— ์˜ํ•ด ์ž‘์„ฑ๋œ ์†Œ์Šค ํŒŒ์ผ์— ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ -meshjava ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์†Œ์Šค ํŒŒ์ผ์—์„œ ์ƒˆ๋กœ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ์ ‘๋‘์‚ฌ
๋…ผ์˜.

-๋งŽ์€ ํด๋ž˜์Šค
์ดํ›„์—๋งŒ ์œ ํšจ -์ž๋ฐ”, -3์ž๋ฐ”, -meshjava or -์ด์ƒํ•œ ๋‚˜๋ผ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ "๋„ˆ๋ฌด ๋งŽ์€ ์ƒ์ˆ˜"์— ๋งž์„œ ์‹ธ์šฐ๋ ค๋Š” ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ์‹œ๋„์ž…๋‹ˆ๋‹ค.
์ž๋ฐ”์—์„œ ๋ฌธ์ œ. ์ผ๋ฐ˜ Java ๊ธฐ๋ฐ˜์˜ ์ถœ๋ ฅ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์†Œ์Šค ์ฝ”๋“œ ๋‚ด๋ณด๋‚ด๊ธฐ, Java ํด๋ž˜์Šค ํŒŒ์ผ์˜ ํ˜„์žฌ ํ˜•์‹์ด 64K๋กœ ์ œํ•œ๋จ
์†Œ์œ„ "์ƒ์ˆ˜". 1, 2 ๋˜๋Š” 3๊ณผ ๊ฐ™์€ ์‹ค์ˆ˜ ์ƒ์ˆ˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ
ํด๋ž˜์Šค ๋“ฑ์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜ ์ •์˜์™€ ๊ฐ™์€ ๊ฒƒ.
์™€ ๋”๋ถˆ์–ด -๋งŽ์€ ํด๋ž˜์Šค ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ถ„๋ฆฌ๋œ ํด๋ž˜์Šค๋กœ ๋ถ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.
XNUMXD๋ดํƒˆ์˜ -๋งŽ์€ ํด๋ž˜์Šค "๋„ˆ๋ฌด ๋งŽ์€ ์ƒ์ˆ˜"์— ๋ถ€๋”ชํžˆ๋ฉด ์˜ต์…˜์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋ฌธ์ œ. vrml/x3dv ํŒŒ์ผ์— DEF ๋ช…๋ น์ด ๋งŽ์€ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—ฌ์ „ํžˆ "๋„ˆ๋ฌด ๋งŽ์€ ์ƒ์ˆ˜" ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ฐ DEF ๋ช…๋ น์ด ์ถ”๊ฐ€
๊ธฐ๋ณธ ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜. ์ด ๊ฒฝ์šฐ์—๋Š” ์–‘์„ ์ค„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฉ”๋‰ด ํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” DEF ๋ช…๋ น์˜ ์ˆ˜ ํ–‰์œ„ ... ํœด์‹ of ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ์ง€์‚ฌ ...
์ œ๊ฑฐ ... DEF name
์˜ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ๋Š˜๋ ค์•ผ ํ•  ํ•„์š”์„ฑ ์™ธ์—๋„ javac ์ปดํŒŒ์ผ๋Ÿฌ(-Xms/-Xmx)
์˜ต์…˜์„ ๋Š˜๋ฆฌ๋ ค๋ฉด ํฌ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ
(-XX:PermSize=/-XX:MaxPermSize=)์˜ ์ž๋ฐ” ํ†ต์—ญ์‚ฌ.

์Šคํ…Œ๋ ˆ์˜ค ๋ทฐ ์˜ต์…˜


-๋…ธ์Šคํ…Œ๋ ˆ์˜ค
Linux/UNIX์—์„œ ๋น„ ์Šคํ…Œ๋ ˆ์˜ค๋ทฐ ๋ชจ๋“œ ๊ฐ•์ œ ์‹คํ–‰(์˜ˆ: ์…”ํ„ฐ๊ธ€๋ผ์Šค๋ฅผ ์†Œ์œ ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)

-์Šคํ…Œ๋ ˆ์˜ค
๊ฐ•์ œ ์Šคํ…Œ๋ ˆ์˜ค ๋ทฐ ๋ชจ๋“œ.
์Šคํ…Œ๋ ˆ์˜ค๋Š” ์ฟผ๋“œ๋ฒ„ํผ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ํ•˜๋“œ์›จ์–ด/์†Œํ”„ํŠธ์›จ์–ด ์กฐํ•ฉ์— ๋Œ€ํ•ด์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
์Šคํ…Œ๋ ˆ์˜ค("์ฐฝ ์•ˆ์˜ ์Šคํ…Œ๋ ˆ์˜ค"), ๋ถ„ํ•  ํ™”๋ฉด ์Šคํ…Œ๋ ˆ์˜ค(์˜ˆ: "OpenGlVR")๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
์ฟผ๋“œ๋ฒ„ํผ ์Šคํ…Œ๋ ˆ์˜ค๋ฅผ ์ง€์›ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด/์†Œํ”„ํŠธ์›จ์–ด ์กฐํ•ฉ์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์—ฐ๊ฒฐ์„ ์œ„ํ•œ ์…”ํ„ฐ๊ธ€๋ž˜์Šค ๋˜๋Š” "์Šคํ…Œ๋ ˆ์˜ค ๋ณต์ œ ๋ณด๊ธฐ"๋ฅผ ์ง€์›ํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ
onewall์˜ ๋น„๋จธ.

- ์• ๋„ˆ๊ธ€๋ฆฌํ”„ ์•ˆ๊ฒฝ ์ข…๋ฅ˜
์ปฌ๋Ÿฌ ์• ๋„ˆ๊ธ€๋ฆฌํ”„ ์•ˆ๊ฒฝ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ—˜์  ์Šคํ…Œ๋ ˆ์˜ค๋ทฐ ๋ชจ๋“œ๋ฅผ ๊ฐ•์ œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์•ˆ๊ฒฝ ์ข…๋ฅ˜ red_green, green_red, red_blue ๋˜๋Š” blue_red์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ OpenGL ๋ˆ„์  ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ•˜๋“œ์›จ์–ด์—์„œ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜ํ”ฝ ์นด๋“œ/๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๋งŽ์•„ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-์•ˆ๊ณผ ์˜์‚ฌ ์‹œ๋ ฅ ์ธก์ •๊ธฐ
๊ด€์ฐฐ์ž์˜ ๋‘ ๋ˆˆ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ.
ํƒœ๋งŒ ์‹œ๋ ฅ ์ธก์ •๊ธฐ 0.06, ๋ˆˆ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์Œ์ˆ˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ˆˆ์„ ๋ฐ”๊ฟ€ ํ•„์š” ์—†์Œ).
๋ˆˆ ๊ตํ™˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•˜๋“œ์›จ์–ด๋ฅผ ๋‹ค์‹œ ๊ตฌ์„ฑํ•˜์‹ญ์‹œ์˜ค.e).

-์Šคํฌ๋ฆฐ ๋””์ŠคํŠธ ์Šคํฌ๋ฆฐ ๊ตฌ๋ถ„๊ณ„
์‹œ์ฒญ์ž์˜ ๋ˆˆ๊ณผ ๋ชจ๋‹ˆํ„ฐ ํ™”๋ฉด ์ค‘์•™ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ.
ํƒœ๋งŒ ์Šคํฌ๋ฆฐ ๊ตฌ๋ถ„๊ณ„ 0.8์ž…๋‹ˆ๋‹ค.

-์‹œ์•ผ ์‹œ์•ผ๊ฐ๋„
VRML ๊ด€์ ์—์„œ Field of View ํ•„๋“œ๋ฅผ ๋ฎ์–ด์“ฐ๊ณ ์—์„œ fieldofviewindegree๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์ •๋„.
์ข‹์€ ์Šคํ…Œ๋ ˆ์˜ค๋ทฐ์ž‰์€ ๊ด€์ ์˜ fieldOfView ํ•„๋“œ๋ฅผ ๋ฌด์‹œํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
์œก์•ˆ์˜ fieldOfView๋Š” ์•ฝ 18๋„์ด๊ณ  VRML ๊ธฐ๋ณธ๊ฐ’์€ 45๋„์ž…๋‹ˆ๋‹ค.

์ž…๋ ฅ ์žฅ์น˜ ์˜ต์…˜


๋‹ค์Œ ์˜ต์…˜์€ whitedune์ด ์ผ์น˜ํ•˜๋Š” ์ž…๋ ฅ ์žฅ์น˜๋กœ ์ปดํŒŒ์ผ๋œ ๊ฒฝ์šฐ์—๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
๋“œ๋ผ์ด๋ฒ„ ์ง€์›(์˜ˆ: IRIX์—์„œ Linux ์กฐ์ด์Šคํ‹ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์—†์Œ).

-์กฐ์ข…๊ฐ„ ์กฐ์ด์Šคํ‹ฑ ์žฅ์น˜
Linux ๋˜๋Š” M$Windows์—์„œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
๋ฆฌ๋ˆ…์Šค์—์„œ, ์กฐ์ด์Šคํ‹ฑ ์žฅ์น˜ Linux ์กฐ์ด์Šคํ‹ฑ์˜ ์žฅ์น˜์ž…๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ
/dev/input/js0 ๋˜๋Š” /dev/js0).
M$Windows์—์„œ๋Š” ์กฐ์ด์Šคํ‹ฑ ์žฅ์น˜ ์ˆซ์ž์ž…๋‹ˆ๋‹ค. M$Windows์— ๋”ฐ๋ผ
๋ฒ„์ „์—์„œ ์ด ์ˆซ์ž๋Š” 0, 1 ๋˜๋Š” 0์—์„œ 15 ์‚ฌ์ด์˜ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.

-SDL์กฐ์ด์Šคํ‹ฑ ์กฐ์ด์Šคํ‹ฑ ์žฅ์น˜
ํ˜„์žฌ MacOSX์—์„œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ ์กฐ์ด์Šคํ‹ฑ ์žฅ์น˜ ์ˆซ์ž(์˜ˆ: 0, 1, 2,
...).

-์ŠคํŽ˜์ด์Šค๋ณผ ์šฐ์ฃผ ๋ณผ ์žฅ์น˜
์šฐ์ฃผ ๋ณผ ์žฅ์น˜ ์ŠคํŽ˜์ด์Šค๋ณผ์— ์—ฐ๊ฒฐ๋œ ์ง๋ ฌ ์žฅ์น˜์ž…๋‹ˆ๋‹ค(๋ณดํ†ต ๋ฌด์–ธ๊ฐ€
/dev/ttyd2 ๋˜๋Š” /dev/ttyS0๊ณผ ๊ฐ™์€).
๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ libsball ์ง€์›์œผ๋กœ ์ปดํŒŒ์ผ๋œ ๊ฒฝ์šฐ์—๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

-nxt๋‹ค์ด์–ผ USB ์žฅ์น˜
์ด ์˜ต์…˜์€ ๋งˆ์ธ๋“œ์Šคํ†ฐ nxt ๋ชจํ„ฐ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ž…๋ ฅ ์žฅ์น˜์™€ ๊ฐ™์€ ๋‹ค์ด์–ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ง€
3๊ฐœ์˜ ๋ชจํ„ฐ ๊ฐ๊ฐ์— ๋ฐ”ํ€ด ๋˜๋Š” ๊ธฐ์–ด๋ฅผ ๋ถ€์ฐฉํ•˜๊ณ  ๋ธŒ๋ฆญ์— ์—ฐ๊ฒฐํ•˜๊ณ 
USB๋ฅผ ํ†ตํ•ด ๋ธŒ๋ฆญ์„ ์ปดํ“จํ„ฐ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ white_whitedune์ด
์˜ˆ๋ฅผ ๋“ค์–ด Linux์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ libusb ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.
USB ์žฅ์น˜ USB๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ mindstorms nxt ๋ธŒ๋ฆญ์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค(0์€
์ฒซ ๋ฒˆ์งธ nxt ๋ธŒ๋ฆญ, ๋‘ ๋ฒˆ์งธ nxt ๋ธŒ๋ฆญ์˜ ๊ฒฝ์šฐ 1 ๋“ฑ).
XNUMXD๋ดํƒˆ์˜ -nxt๋‹ค์ด์–ผ ์˜ต์…˜์€ ํœ  ์ถ• ์˜ต์…˜์„ ์ž๋™์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

-xinput xinput์ด๋ฆ„
xinput์ด๋ฆ„ Xinput ํ”„๋กœํ† ์ฝœ์ด ์ง€์›ํ•˜๋Š” ์žฅ์น˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ
๋งˆ์ ค๋ž€์ด๋‚˜ ๋‹ค์ด์–ผ๋ฐ•์Šค์ฒ˜๋Ÿผ).
๋Œ€๋ถ€๋ถ„์˜ Unix/X11 ๊ตฌํ˜„์—์„œ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

-xinputlist
๋‹ค์Œ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Xinput ์žฅ์น˜ ์ด๋ฆ„ ๋ชฉ๋ก์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. xinput์ด๋ฆ„ ์œ„ํ•œ
-xinput ์˜ต์…˜ ๋ฐ ์ข…๋ฃŒ.
๋Œ€๋ถ€๋ถ„์˜ Unix/X11 ๊ตฌํ˜„์—์„œ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

-xinputlistlong
์ถ• ์ •๋ณด์™€ ํ•จ๊ป˜ Xinput ์žฅ์น˜ ์ด๋ฆ„ ๋ชฉ๋ก์„ ์ธ์‡„ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ Unix/X11 ๊ตฌํ˜„์—์„œ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

-์–ดํ”Œ๋ก ๋ฌด๋ฆฌ ์žฅ์น˜ [ aflock ์˜ต์…˜ ] -ํŠธ๋ž˜์ปค ์ƒˆ์žฅ -์ง€ํŒก์ด ์ƒˆ์žฅ
๋ฌด๋ฆฌ ์žฅ์น˜ Ascension Flock of Birds ๋งˆ์Šคํ„ฐ์— ์—ฐ๊ฒฐ๋œ ์ง๋ ฌ ์žฅ์น˜์ž…๋‹ˆ๋‹ค.
์†ก์‹ ๊ธฐ(๋ณดํ†ต /dev/ttyd2 ๋˜๋Š” /dev/ttyS0์™€ ๊ฐ™์€ ๊ฒƒ).
Dune์€ ๋‹ค์Œ ๊ตฌ์„ฑ์„ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ๋‹จ์ผ RS232 ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ์—ฌ๋Ÿฌ FOB("
Birds, ์„ค์น˜ ๋ฐ ์šด์˜ ๊ฐ€์ด๋“œ, ๋…๋ฆฝํ˜• ๋ฐ ๋‹ค์ค‘
์†ก์‹ ๊ธฐ/๋‹ค์ค‘ ์„ผ์„œ ๊ตฌ์„ฑ", ํŽ˜์ด์ง€ 3("์†Œ๊ฐœ" ์žฅ),
๊ทธ๋ฆผ 2).
์ƒˆ์žฅ ๋งˆ๊ทธ๋„คํ‹ฑ ํ—ค๋“œ ํŠธ๋ž˜์ปค์˜ Bird Unit ์ฃผ์†Œ(-ํŠธ๋ž˜์ปค) ๋˜๋Š”
"3D ๋งˆ์šฐ์Šค"(-์ง€ํŒก์ด)๋กœ ๊ตฌ์„ฑ๋œ Fast Bird Bus(FBB ์ฃผ์†Œ)์—์„œ
๋ฒ„๋“œ ์œ ๋‹›์˜ ๋”ฅ์Šค์œ„์น˜.
์ด ํ”„๋กœ๊ทธ๋žจ์€ ์ƒˆ ๋ฌด๋ฆฌ๋ฅผ ์ผ๋ฐ˜ ์ฃผ์†Œ ๋ชจ๋“œ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
(์œ„์—์„œ ์„ค๋ช…ํ•œ ์„ค๋ช…์„œ์˜ 12ํŽ˜์ด์ง€, ๊ทธ๋ฆผ 4 ์ฐธ์กฐ).

-ํ—ค๋“œ ๋‚ด๋น„๊ฒŒ์ด์…˜
ํ—ค๋“œํŠธ๋ž˜์ปค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํ˜„์žฌ ๋ณ€ํ˜• ๋ชจ๋“œ(ํšŒ์ „ ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
-headnavigation์ด ์—†๋Š” ๊ธฐ๋ณธ๊ฐ’์€ ๋ณ€ํ™˜ ๋ชจ๋“œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ณธ๊ฐ’
๋จธ๋ฆฌ๊ฐ€ ์›€์ง์ด๋ฉด ๊ฐ€์ƒ์„ธ๊ณ„๊ฐ€ ์›€์ง์ด๊ณ ,
ํ•˜์ง€๋งŒ ๋จธ๋ฆฌ๋งŒ ํšŒ์ „ํ•˜๋ฉด ๊ฐ€์ƒ ์„ธ๊ณ„๋Š” ์ •์ง€ํ•ฉ๋‹ˆ๋‹ค. ์™€ ๋”๋ถˆ์–ด
headnavigation ์˜ต์…˜์—์„œ ๊ฐ€์ƒ ์„ธ๊ณ„๋Š” ํ—ค๋“œ ํšŒ์ „์— ๋”ฐ๋ผ ๋ฐ˜์‘ํ•ฉ๋‹ˆ๋‹ค.
ํ˜„์žฌ ๋ณ€ํ™˜ ๋ชจ๋“œ. ์ƒ๋Œ€๋ฐฉ๊ณผ ๋Œ€ํ™”ํ•˜๋Š” ๋™์•ˆ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•˜์‹ญ์‹œ์˜ค.
์ฒญ์ค‘. ๋งํ•˜๋Š” ๊ฒƒ์€ ์ž‘๊ณ  ๋น ๋ฅธ ๋จธ๋ฆฌ ํšŒ์ „์„ ์ผ์œผํ‚ค๊ณ  ์ž‘๊ณ  ๋น ๋ฅธ
๊ฐ€์ƒ ์„ธ๊ณ„์˜ ํšŒ์ „. ์ž ์žฌ๊ณ ๊ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธ์ƒ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ง€์ง„๊ณผ ๋ฉ€๋ฏธ์— ๊ฑธ๋ฆด ์œ„ํ—˜์ด ๋” ํฝ๋‹ˆ๋‹ค.

-์„ผ๋‹ฌ์›จ์ด
์žฅ์น˜๊ฐ€ (๊ฑฐ์˜) ํ•ญ์ƒ ๊ฐ’์„ ์ „์†กํ•œ๋‹ค๊ณ  whitedune์— ์•Œ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด ๊ฐ’์€
๋ณ€ํ™˜ ๋ช…๋ น์œผ๋กœ ์ž๋™ ํ•ด์„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Ascension Flock of Birds ์žฅ์น˜(-aflock)์— ์ž๋™์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

- ์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์„ธ์š”
Inputdevice ์ž‘์—…์€ ์ฐฝ ํฌ์ปค์Šค๋ฅผ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ํ•˜๋‚˜์˜ whitedune ์ฐฝ์œผ๋กœ๋งŒ ์ž‘์—…ํ•  ๋•Œ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด onewall์„ ์‚ฌ์šฉํ•  ๋•Œ.

์ถ• ์˜ต์…˜


-x|-y|-z|-xrot|-yrot|-zrot=[-][์ •์ˆ˜_์ถ•๋ฒˆํ˜ธ]
[,[๊ณ„์ˆ˜][,[๊ฐ€์†][,[๋ฐ”ํ€ด][,๋ฌด์‹œ]]]]

-all|-allxyz|-allrot=[๊ณ„์ˆ˜][,[๊ฐ€์†][,[๋ฐ”ํ€ด][,๋ฌด์‹œ]]]

-none=integer_axisnumber

-์ถ•=max_number_axes

์•ก์‹œ์Šค๋ ˆ์ „๋“œ


- ์ถ•์—์„œ ๊ฐ’์˜ ๋ถ€ํ˜ธ๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐ ์‚ฌ์šฉ

์ •์ˆ˜_์ถ•๋ฒˆํ˜ธ
xyz xrot yrot์— ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ถ• ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š” ์ •์ˆ˜
zrot ๋ฐฉํ–ฅ.
์ด ์ˆซ์ž๋Š” ์ž…๋ ฅ ์žฅ์น˜์˜ ์ถ• ์ˆ˜๋ณด๋‹ค ํด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
none ์˜ต์…˜์˜ integer_axisnumber๋Š” ์ด ์ถ•์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ธ์ž ์ถ•์— ๋Œ€ํ•œ ๊ณฑ์…ˆ๊ธฐ๋กœ ๋ถ€๋™
all, allrot ๋ฐ allxyz ์˜ต์…˜์˜ ์ธ์ˆ˜๋Š” ๋‹ค์Œ ์ธ์ˆ˜์™€ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.
๋‹จ์ผ ์ถ•.

๊ฐ€์† ์ถ•์— ๋Œ€ํ•œ ์ง€์ˆ˜ ๊ฐ€์†๊ธฐ๋กœ ๋ถ€๋™

๋ฐ”ํ€ด ๋ฌธ์ž์—ด "ํœ "์€ ์ž…๋ ฅ ์žฅ์น˜์˜ ์ด ์ถ•์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ XNUMX์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์ถœ์‹œ

๋ฌด์‹œ (์žฅ์น˜์˜ ์ตœ๋Œ€๊ฐ’์— ์ƒ๋Œ€์ ์ธ) ๊ฐ’์œผ๋กœ ๋ถ€๋™ํ•ฉ๋‹ˆ๋‹ค.
๋ฌด์‹œ (๋ฌด๊ฐ๊ฐ)

์ตœ๋Œ€_์ˆ˜_์ถ•
์‚ฌ์šฉ๋œ ์ถ•์˜ ์ˆ˜, (2,3,4,5) ์ค‘ ํ•˜๋‚˜.
์ด๋Š” ์žฅ์น˜์˜ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ถ•๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ์ž‘์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์šฉ๋„
์ด ์˜ต์…˜์€ ์ž˜๋ชป๋œ ์„ค๊ณ„ ๋˜๋Š” ๊ธฐ๊ณ„์  ๊ฒฐํ•จ ์ถ•์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์กฐ์ด์Šคํ‹ฑ์˜ ์ด ์ถ•์ด ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

AFLOCK ์˜ต์…˜


์ด ์˜ต์…˜์€ ์กฐ๋ฅ˜ ์ž๊ธฐ ์ถ”์  ์‹œ์Šคํ…œ์˜ Ascension ๋ฌด๋ฆฌ์—๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

-๋ณด์˜ค๋“œ ์ „์†ก ์†๋„
์†ก์‹ ๊ธฐ์™€ ํ†ต์‹ ํ•˜๋Š” ์ง๋ ฌ ํšŒ์„ ์˜ ์ „์†ก ์†๋„.
Flock of Bird ๋งค๋‰ด์–ผ์— ๋”ฐ๋ฅด๋ฉด ๋‹ค์Œ ์ „์†ก ์†๋„๋Š” ์ง๋ ฌ์— ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
ํšŒ์„  ํ†ต์‹ : 2400, 4800, 9600, 19200, 38400, 57600 ๋ฐ 115200.
๊ธฐ๋ณธ๊ฐ’ : 38400

-์ƒˆ ์ˆ˜ ๋„˜๋ฒ„ ๋ฒ„๋“œ
์†ก์‹ ๊ธฐ์— ๋ถ€์ฐฉ๋œ "๋ฐ์ดํ„ฐ ์ „๋‹ฌ" ์ƒˆ์˜ ์ˆ˜(์˜ˆ: ๊ณ„์‚ฐํ•˜์ง€ ์•Š์Œ)
ํ™•์žฅ ๋ฒ”์œ„ ์ปจํŠธ๋กค๋Ÿฌ(ERC)์ธ ๊ฒฝ์šฐ ์†ก์‹ ๊ธฐ ์ž์ฒด).
๊ธฐ๋ณธ๊ฐ’: 2(์ถ”์ ๊ธฐ ๋ฐ ์™„๋“œ).

-์„์‚ฌ ์ƒˆ์žฅ
๊ตฌ์„ฑ๋œ Fast Bird Bus(FBB ์ฃผ์†Œ)์˜ ๋งˆ์Šคํ„ฐ ์†ก์‹ ๊ธฐ ์ฃผ์†Œ
์†ก์‹ ๊ธฐ ์žฅ์น˜์˜ dipswitch์™€ ํ•จ๊ป˜.
๊ธฐ๋ณธ๊ฐ’ : 1

-masterIsErc
๋งˆ์Šคํ„ฐ๊ฐ€ ERC(Extended Range
์ปจํŠธ๋กค๋Ÿฌ) ์—ฌ๋ถ€. ๋งˆ์Šคํ„ฐ๊ฐ€ ERC๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ FBB ์ฃผ์†Œ๋Š” ๋งˆ์Šคํ„ฐ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
ํŠธ๋ž˜์ปค ๋˜๋Š” ์™„๋“œ์˜ FBB ์ฃผ์†Œ.
๊ธฐ๋ณธ๊ฐ’: ์„ค์ •๋˜์ง€ ์•Š์Œ

-๋ฐ˜๊ตฌ FRONT_HEM|AFT_HEM|UPPER_HEM|LOWER_HEM|LEFT_HEM|RIGHT_HEM
๋ฐ˜๊ตฌ ์‚ฌ์šฉ. ์•ˆํ…Œ๋‚˜ ๋ธ”๋ก์— ์•‰์Šต๋‹ˆ๋‹ค.
ํ…์ŠคํŠธ) ๋ณด๊ธฐ, ์™ผ์ชฝ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ 8-)
๊ธฐ๋ณธ๊ฐ’: RIGHT_HEM

-๋™์กฐ 0 | 1
CRT(๋ชจ๋‹ˆํ„ฐ) ๋˜๋Š” ํ˜ธ์ŠคํŠธ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ์„ ๋™๊ธฐํ™”(1)ํ•˜๊ฑฐ๋‚˜ ๋™๊ธฐํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(0).
๋™๊ธฐํ™”๋Š” CRT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ์˜ ์ž๊ธฐ ํšจ๊ณผ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋™๊ธฐํ™” ์ผ€์ด๋ธ”.
๊ธฐ๋ณธ๊ฐ’ : 0

-๋ธ”๋ก 0 | 1
FDELAY ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง๋ ฌ์˜ ํŒŒ์ผ ์„ค๋ช…์ž๋กœ ์„ค์ •(1)ํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•˜์ง€ ์•Š์Œ(0)
ํฌํŠธ.
๊ธฐ๋ณธ๊ฐ’ : 0

-ํ•„ํ„ฐ AC_NARROW | AC_WIDE | DC_FILTER
๋‹ค๋ฅธ ํ•„ํ„ฐ๋ฅผ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Flock of Birds ์„ค๋ช…์„œ๋ฅผ ์ฝ์œผ์‹ญ์‹œ์˜ค.
์ด ์˜ต์…˜์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’: Flock ์ž๋™ ๊ตฌ์„ฑ์— ์˜ํ•ด ์„ค์ •๋œ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•„ํ„ฐ๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์Œ.

-๊ฐ‘์ž๊ธฐ ๋ณ€๊ฒฝ ์ž ๊ธˆ 0 | 1
๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€ ์œ„์น˜ ๋ฐ ๋ฐฉํ–ฅ ์„ค์ •์„ ํ—ˆ์šฉ(0)ํ•˜๊ฑฐ๋‚˜ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ(1)ํ•ฉ๋‹ˆ๋‹ค.
๊ฐ‘์ž๊ธฐ ํฐ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’ : 1

-calfile ๊ต์ • ํŒŒ์ผ
VR Juggler ์Šคํƒ€์ผ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์น˜ ์ธก์ •์„ ๋ณด์ •ํ•ฉ๋‹ˆ๋‹ค.

-๋ฌด์‹œ ๋ธํƒ€
๋ธํƒ€๋ณด๋‹ค ํฐ ๋ฌด๋ฆฌ์—์„œ ์œ„์น˜ ์ ํ”„๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค์šฐ ๊ฐ™๋‹ค
์„œ๋“ ์ฒด์ธ์ง€๋ฝ์ด์ง€๋งŒ ์ˆœ์ˆ˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’ : 0

์‹ค์ˆ˜


-๋ชจ์ž์ดํฌ ์„ธ๊ณต ์ •์ˆ˜
NURBS ๋ฐ ์ˆ˜ํผํฌ๋ฎฌ๋Ÿฌ ๊ธฐ๋ฐ˜ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ ๋ชจ์–‘์˜ ๊ธฐ๋ณธ ํ…Œ์…€๋ ˆ์ด์…˜์„ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
์ •์ˆ˜.
ํ…Œ์…€๋ ˆ์ด์…˜์˜ ์˜๋ฏธ๋Š” ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฐ€์žฅ์ž๋ฆฌ์˜ ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ํ…Œ์…€๋ ˆ์ด์…˜์ด ๋‚ฎ์œผ๋ฉด ๊ด€๋ จ ๋„ํ˜•์„ ๋” ๋น ๋ฅด๊ฒŒ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
white_whitedune ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์—์„œ ํ…Œ์…€๋ ˆ์ด์…˜์„ 0์œผ๋กœ ์„ค์ •ํ–ˆ์ง€๋งŒ
๋ณด๊ธฐ๊ฐ€ ์ถ•์†Œ๋˜์–ด ๋ชจ์–‘์˜ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ์ˆจ๊ฒจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์—†๋Š” ๊ฒฝ์šฐ -๋ชจ์ž์ดํฌ ์„ธ๊ณต ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ํ…Œ์…€๋ ˆ์ด์…˜์€ 32์ž…๋‹ˆ๋‹ค.

-๊ฐ„์ ‘
3D ํ•˜๋“œ์›จ์–ด ๋ Œ๋”๋ง ๊ฐ€์†์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ๊ฐ„์ ‘ OpenGL ๋ Œ๋”๋ง์„ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ ๊ฐ€๋Šฅ. 3D ํ•˜๋“œ์›จ์–ด ๋ Œ๋”๋ง ๊ฐ€์†์ด ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์ด ์˜ต์…˜์€
ํ”„๋กœ๊ทธ๋žจ ์†๋„๋ฅผ ํฌ๊ฒŒ ๋Šฆ์ถฅ๋‹ˆ๋‹ค.
์ด ์˜ต์…˜์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ๋Š” ์ปดํ“จํ„ฐ์—์„œ ๊ฐ€์žฅ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
compiz์™€ ๊ฐ™์€ ํ•˜ํ”„ ๋ฒ ์ดํฌ 3D ๋ฐ์Šคํฌํƒ‘ ๊ธฐ๋Šฅ.

-์ œ๊ฑฐ
๋ช…๋ น์ค„์— ์ถœ๋ ฅ ์ •๋ณด(์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ), white_whitedune์ด ์–ด๋–ป๊ฒŒ
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Micro$oft Windows์—์„œ๋Š” ์ถ”๊ฐ€๋กœ ํ™œ์„ฑํ™”๋œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ง€์›๋‹ˆ๋‹ค.
Windows ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ white_whitedune(HKEY_CURRENT_USER ์•„๋ž˜).

-psn_???
MacOSX์—์„œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
"-psn_" ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š” ์˜ต์…˜์€ on ์•„๋ž˜์˜ Aqua ๋ฐ์Šคํฌํƒ‘์—์„œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
์ผ๋ถ€ ๋ฒ„์ „์˜ MacOSX๋Š” ์ž๋™์œผ๋กœ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

-fn ๊ธ€๊ผด
Linux/UNIX/MacOSX์—์„œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค.
์œ ๋‹‰์Šค ๊ธ€๊ผด์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์œ ํšจํ•œ ๊ธ€๊ผด์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. xls ๊ธ€๊ผด(1) ๋ช…๋ น.

-๋ฐ๋ชจ๋ชจ๋“œ ์‹œ๊ฐ„ ์ œํ•œ
์ด ์˜ต์…˜์€ ์˜ˆ๋ฅผ ๋“ค์–ด eyecatcher๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ•๋žŒํšŒ์—์„œ.
์ด ์˜ต์…˜์€ ๊ด€์ธก์  ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์‹คํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ์—๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์˜ ๊ฒฝ์šฐ
๋งˆ์šฐ์Šค(mouseclick), ํ‚ค๋ณด๋“œ ๋˜๋Š” 3D ์ž…๋ ฅ ์žฅ์น˜์—์„œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๋Š” 3D ์„ธ๊ณ„๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œ๊ฐ„ ์ œํ•œ ๋งˆ์ง€๋ง‰ ์ž…๋ ฅ ํ›„ ๋ช‡ ์ดˆ ๋™์•ˆ ์‹œ์  ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์–ต์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋” ์ด์ƒ.

-filedialogdir ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ
ํŠน์ •์œผ๋กœ ๋ณ€๊ฒฝ ์˜ˆ๋ฐฐ ๊ทœ์น™์„œ ํŒŒ์ผ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ์—ด๊ธฐ ์ „์—.

-ํ”„๋กœํ†  ๋ฒ”์ฃผ ํ”„๋กœํ•„
ํŒŒ์ผ์— VRML PROTO๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœํ•„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ PROTO ๋ชฉ๋ก์—
๋งŒ๋“ค๊ธฐ => proto ๋ฉ”๋‰ด์—์„œ ๋ฒ”์ฃผ ํ•˜์œ„ ๋ฉ”๋‰ด ๋ฐ ์ข…๋ฃŒ.

-๋” ๋Š๋ฆฌ๊ฒŒ ๋ Œ๋”๋ง
์ด ์˜ต์…˜์€ ๋” ๋Š๋ฆฐ ๋ Œ๋”๋ง ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

--๋ฒˆ์—ญ
๋ฒ„์ „ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

--์ €์ž‘๊ถŒ ์„ธ๋ถ€์ •๋ณด
์ž์„ธํ•œ ์ €์ž‘๊ถŒ ์ •๋ณด๋ฅผ ์ธ์‡„ํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์šฐ์Šค/ํ‚ค


3D ๋ณด๊ธฐ์—์„œ whitedune์€ ๋‹ค์Œ ๋งˆ์šฐ์Šค/ํ‚ค๋ณด๋“œ ๋ช…๋ น์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ํด๋ฆญ:
์ปค์„œ ์•„๋ž˜(๋˜๋Š”
์Šคํ…Œ๋ ˆ์˜ค๋ทฐ์—์„œ 3D ์ปค์„œ์˜ ์ƒ๋‹จ)

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 2 ํด๋ฆญ:
์ถ”๊ฐ€๋กœ ์ปค์„œ ์•„๋ž˜(๋˜๋Š” 3D ์ƒ๋‹จ ์•„๋ž˜์— ์žˆ๋Š” ํฐ์ƒ‰ ์ƒ์ž 3D ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
์Šคํ…Œ๋ ˆ์˜ค๋ทฐ์˜ ์ปค์„œ)

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋Œ๊ธฐ:
๊ฐ์ฒด/3D ํ•ธ๋“ค๋Ÿฌ ๋“œ๋ž˜๊ทธ

CTRL-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋Œ๊ธฐ:
๊ฐ€์ƒ ํŠธ๋ž™๋ณผ ํƒ์ƒ‰

SHIFT-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋Œ๊ธฐ:
์•ž์œผ๋กœ/๋’ค๋กœ ํƒ์ƒ‰

CTRL+SHIFT-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋Œ๊ธฐ:
์œ„/์•„๋ž˜/์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ํƒ์ƒ‰

ALT-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋Œ๊ธฐ: (SGI ์Šคํƒ€์ผ)
๊ฐ€์ƒ ํŠธ๋ž™๋ณผ ํƒ์ƒ‰

ALT-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 2 ๋Œ๊ธฐ: (SGI ์Šคํƒ€์ผ)
์œ„/์•„๋ž˜/์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ํƒ์ƒ‰

ALT-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1+2 ๋Œ๊ธฐ: (SGI ์Šคํƒ€์ผ)
์•ž์œผ๋กœ/๋’ค๋กœ ํƒ์ƒ‰

ํƒ์ƒ‰ ์•„์ด์ฝ˜ ๋ˆ„๋ฆ„-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋Œ๊ธฐ:
๊ฐ€์ƒ ํŠธ๋ž™๋ณผ ํƒ์ƒ‰

ํƒ์ƒ‰ ์•„์ด์ฝ˜ ๋ˆ„๋ฆ„-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 2 ๋Œ๊ธฐ:
์•ž์œผ๋กœ/๋’ค๋กœ ํƒ์ƒ‰

ํƒ์ƒ‰ ์•„์ด์ฝ˜-๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1+2 ๋Œ๊ธฐ:
์œ„/์•„๋ž˜/์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ํƒ์ƒ‰

๊ฒฝ๋กœ ๋ณด๊ธฐ์—์„œ whitedune์€ ๋‹ค์Œ ๋งˆ์šฐ์Šค/ํ‚ค๋ณด๋“œ ๋ช…๋ น์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋…ธ๋“œ์˜ ์ด๋ฒคํŠธ ์†Œ์ผ“์„ ํด๋ฆญํ•˜๊ณ  ์ผ์น˜ํ•˜๋Š” ์ด๋ฒคํŠธ๋กœ ๋“œ๋ž˜๊ทธ
์†Œ์ผ“:
ROUTE ์—ฐ๊ฒฐ ์ƒ์„ฑ

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ์•„๋ฌด ๊ฒƒ๋„ ํด๋ฆญํ•˜์ง€ ์•Š๊ณ  ๋“œ๋ž˜๊ทธ:
ROUTE ์—ฐ๊ฒฐ ๋Š๊ธฐ

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋…ธ๋“œ๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋“œ๋ž˜๊ทธํ•ฉ๋‹ˆ๋‹ค.
๋ฃจํŠธ ๋ณด๊ธฐ์—์„œ ๋…ธ๋“œ ์ด๋™

๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1 ๋…ธ๋“œ๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋งˆ์šฐ์Šค ๋ฒ„ํŠผ 1์„ ๋ˆ„๋ฅธ ์ƒํƒœ์—์„œ Page Up/Down ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
๋ฃจํŠธ ๋ณด๊ธฐ์—์„œ ๋…ธ๋“œ๋ฅผ ํ•œ ํŽ˜์ด์ง€์”ฉ ์ด๋™(์˜ฌ๋ฐ”๋ฅธ ๋ชจํ‹ฐํ”„/lesstif์—์„œ๋งŒ ์ž‘๋™)
๊ตฌํ˜„)

๋‹ค๋ฅธ ํ‚ค๋ณด๋“œ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ๋„๊ตฌ ๋ชจ์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

whitedune ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํŒ์€ whitedune์˜ docs ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
(http://129.69.35.12/whitedune/docs/)

C/C++/์ž๋ฐ” SOURCE ์ˆ˜์ถœ


์†Œ์Šค ์ฝ”๋“œ๋กœ ๋‚ด๋ณด๋‚ด๊ธฐ๋Š” ์†Œ์Šค ์ฝ”๋“œ์˜ ์ •๋ณด(์ˆซ์ž ๋ฐ ๋ฌธ์ž์—ด)๋ฅผ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
VRML/X3D ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ํŠธ๋ฆฌ.
White_whitedune์€ OpenGL ๋ช…๋ น์œผ๋กœ C ์†Œ์Šค์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋‚ด๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๋ณด๋‚ธ
์ฝ”๋“œ๋Š” ๋ Œ๋”๋ง ์—”์ง„๊ณผ ๋…๋ฆฝ์ ์ด์ง€๋งŒ ๋ชจ๋“  3D API์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
3D API๋กœ ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„๋ฅผ ๋ Œ๋”๋งํ•˜๋ ค๋ฉด ์ถ”๊ฐ€ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ
white_whitedune์—๋Š” Java Monkey Engine์šฉ ์ถ”๊ฐ€ ์ฝ”๋“œ ์„ธํŠธ๊ฐ€ ํ•˜๋‚˜๋งŒ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
(์ œ์ด๋ฏธ). ์ด ์ฝ”๋“œ๋Š” ์ถ”๊ฐ€ ๋ Œ๋” ์—”์ง„์— ๋Œ€ํ•œ ์ฝ”๋“œ ์ž‘์„ฑ์„ ์œ„ํ•œ ๋ชจ๋ธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„์˜ ์ •๋ณด๋Š” ์ด๋ฆ„์ด ์—ฐ๊ฒฐ๋œ ํด๋ž˜์Šค/๊ตฌ์กฐ์ฒด์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
์˜ ๋ฌธ์ž์—ด์—์„œ ์ ‘๋‘์‚ฌ ์ธ์ˆ˜(๊ธฐ๋ณธ "X3d") ๋ฐ ๋ฌธ์ž์—ด "SceneGraph". ๊ทธ๋งŒํผ
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ํด๋ž˜์Šค/๊ตฌ์กฐ์ฒด๋Š” ๋‹ค๋ฅธ VRML/X3D ๋ช…๋ น์— ๋Œ€ํ•œ ์ฐธ์กฐ๋กœ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค.
("๋…ธ๋“œ"). ์ด๋Ÿฌํ•œ ๋…ธ๋“œ ์œ ํ˜•์˜ ์ด๋ฆ„์€ ๋‹ค์Œ ๋ฌธ์ž์—ด์—์„œ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
์ ‘๋‘์‚ฌ ์ธ์ˆ˜(๊ธฐ๋ณธ "X3d") ๋ฐ "๋…ธ๋“œ". ๊ฐ ๋…ธ๋“œ ์œ ํ˜•์—๋Š”
VRML/X3D ํ•„๋“œ์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ช…๋ช…๋œ ๋ณ€์ˆ˜์˜ VRML/X3D ๋…ธ๋“œ.
๋‹ค์Œ ํ‘œ๋Š” VRML/X3D ํ•„๋“œ ์œ ํ˜•์—์„œ C, C++ ๋ฐ java๋กœ์˜ ๋งคํ•‘์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ์œ ํ˜•:

โ”‚ โ”‚ โ”‚
VRML/X3D ๋ฐ์ดํ„ฐ ์œ ํ˜• โ”‚ C ๋ฐ์ดํ„ฐ ์œ ํ˜• โ”‚ C++ ๋ฐ์ดํ„ฐ ์œ ํ˜• โ”‚ java ๋ฐ์ดํ„ฐ ์œ ํ˜•
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
SFBool โ”‚ ์งง์€ โ”‚ ๋ถ€์šธ โ”‚ ๋ถ€์šธ
SFInt32 โ”‚ ์ •์ˆ˜ โ”‚ ์ •์ˆ˜ โ”‚ ์ •์ˆ˜
SFImage โ”‚ int* โ”‚ int* โ”‚ int[]

SFFloat โ”‚ ํ”Œ๋กœํŠธ โ”‚ ํ”Œ๋กœํŠธ โ”‚ ํ”Œ๋กœํŠธ
SFVec2f โ”‚ ๋ถ€๋™[2] โ”‚ ๋ถ€๋™[2] โ”‚ ๋ถ€๋™[2]
SFVec3f โ”‚ ๋ถ€๋™[3] โ”‚ ๋ถ€๋™[3] โ”‚ ๋ถ€๋™[3]
SFVec4f โ”‚ ๋ถ€๋™[4] โ”‚ ๋ถ€๋™[4] โ”‚ ๋ถ€๋™[4]
SFRotation โ”‚ ๋ถ€๋™[4] โ”‚ ๋ถ€๋™[4] โ”‚ ๋ถ€๋™[4]
SFMatrix3f โ”‚ ๋ถ€๋™[9] โ”‚ ๋ถ€๋™[9] โ”‚ ๋ถ€๋™[9]
SFMatrix4f โ”‚ ๋ถ€๋™[16] โ”‚ ๋ถ€๋™[16] โ”‚ ๋ถ€๋™[16]
SFColor โ”‚ ๋ถ€๋™[3] โ”‚ ๋ถ€๋™[3] โ”‚ ๋ถ€๋™[3]
SFColorRGBA โ”‚ ๋ถ€๋™[4] โ”‚ ๋ถ€๋™[4] โ”‚ ๋ถ€๋™[4]
SF๋”๋ธ” โ”‚ ๋”๋ธ” โ”‚ ๋”๋ธ” โ”‚ ๋”๋ธ”
SFVec3d โ”‚ ๋”๋ธ”[3] โ”‚ ๋”๋ธ”[3] โ”‚ ๋”๋ธ”[3]
SFTime โ”‚ ๋”๋ธ” โ”‚ ๋”๋ธ” โ”‚ ๋”๋ธ”
SFString โ”‚ const char* โ”‚ const char* โ”‚ ๋ฌธ์ž์—ด
SFNode (***) โ”‚ X3dNode* โ”‚ X3dNode* โ”‚ X3dNode
โ”‚ โ”‚ โ”‚
MFBool โ”‚ ์งง์€* โ”‚ ๋ถ€์šธ* โ”‚ ๋ถ€์šธ[]
MFInt32 โ”‚ ์ •์ˆ˜* โ”‚ ์ •์ˆ˜* โ”‚ ์ •์ˆ˜[]
MFFloat โ”‚ ๋ถ€๋™* โ”‚ ๋ถ€๋™* โ”‚ ๋ถ€๋™[]
MFVec2f โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ[]
MFVec3f โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ[]
MFVec4f โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ[]
MFRotation โ”‚ ๋ถ€๋™* โ”‚ ๋ถ€๋™* โ”‚ ๋ถ€๋™[]
MFMatrix3f โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ[]
MFMatrix4f โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ[]
MFColor โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ* โ”‚ ํ”Œ๋กœํŠธ[]
MFColorRGBA โ”‚ ๋ถ€๋™* โ”‚ ๋ถ€๋™* โ”‚ ๋ถ€๋™[]
MFDouble โ”‚ ๋”๋ธ”* โ”‚ ๋”๋ธ”* โ”‚ ๋”๋ธ”[]
MFVec3d โ”‚ ๋”๋ธ”* โ”‚ ๋”๋ธ”* โ”‚ ๋”๋ธ”[]
MFTime โ”‚ ๋”๋ธ”* โ”‚ ๋”๋ธ”* โ”‚ ๋”๋ธ”[]
MFString โ”‚ const char** โ”‚ const char** โ”‚ ๋ฌธ์ž์—ด[]
MFNode (***) โ”‚ X3dNode** โ”‚ X3dNode** โ”‚ X3dNode[]
(***) ์ด๋ฆ„์˜ "X3d" ๋ถ€๋ถ„์€ ๊ธฐ๋ณธ๊ฐ’์ด๋ฉฐ,
์ ‘๋‘์‚ฌ ๋…ผ์˜.
๋ชจ๋“  MF* ์œ ํ˜• ํ•„๋“œ(๋ฐ SFImage ์œ ํ˜• ํ•„๋“œ)์˜ ๊ฒฝ์šฐ int, float ๋“ฑ ๊ฐ’์˜ ์ˆ˜
๋ฐฐ์—ด์€ ์ด๋ฆ„ "m_"์œผ๋กœ ๊ตฌ์„ฑ๋œ X3dNode ๊ตฌ์กฐ์ฒด/ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
C/C++ ๋‚ด๋ณด๋‚ด๊ธฐ์˜ ๊ฒฝ์šฐ ํ•„๋“œ ๋ฐ "_length". Java์—๋Š” ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” .length ๊ตฌ์„ฑ ์š”์†Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ญ์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ •๋ ฌ.

์žฅ๋ฉด ๊ทธ๋ž˜ํ”„๋Š” ๋…ธ๋“œ ํŠธ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„์˜ ๋ฃจํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
white_whitedune ๋‚ด๋ถ€) "root"๋ผ๋Š” ์ด๋ฆ„์˜ VRML/X3D ๊ทธ๋ฃน ๋…ธ๋“œ.
๊ทธ๋ฃน ๋…ธ๋“œ์—์„œ ํฌํ•จ๋œ ๋…ธ๋“œ๋Š” "์ž์‹" ์œ ํ˜•์˜ ํ•„๋“œ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
MF๋…ธ๋“œ.
์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ VRML ํŒŒ์ผ์„ ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค.

#VRML V2.0 utf8

๊ทธ๋ฃน
{
์–ด๋ฆฐ์ด
[
๊ทธ๋ฃน
{
}
๊ทธ๋ฃน
{
}
DEF NAME_OF_FOGNODE ์•ˆ๊ฐœ
{
์ƒ‰์ƒ 1 0.50000000 1
}
]
}

์—†๋Š” ๊ฒฝ์šฐ ์ ‘๋‘์‚ฌ ์ธ์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉด VRML/X3D ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๊ฐ€
C ์†Œ์Šค๋ฅผ "X0dSceneGraph" ๊ตฌ์กฐ์ฒด์—์„œ "root->children[3]"์œผ๋กœ ๋‚ด๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.
VRML/X3D ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ๋…ธ๋“œ๋„ ๊ทธ๋ฃน ๋…ธ๋“œ์ด๊ณ  ์„ธ ๊ฐœ์˜ ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ,
์ด ๋…ธ๋“œ์˜ ์„ธ ๋ฒˆ์งธ ๋…ธ๋“œ๋Š” "root->children[0]->children[2]"๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
"X3dSceneGraph" ๊ตฌ์กฐ์ฒด.
์ด ๋…ธ๋“œ์˜ ์„ธ ๋ฒˆ์งธ๊ฐ€ Fog ๋…ธ๋“œ์ธ ๊ฒฝ์šฐ Fog ๋…ธ๋“œ์˜ "์ƒ‰์ƒ" ํ•„๋“œ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
๋‚ด๋ณด๋‚ธ C ์†Œ์Šค์—์„œ "X0dSceneGraph"์˜ "root->children[2]->children[3]->color"๋กœ
๊ตฌ์กฐ์ฒด.
Fog ๋…ธ๋“œ์˜ "์ƒ‰์ƒ" ํ•„๋“œ ์œ ํ˜•์€ SFColor์ž…๋‹ˆ๋‹ค. SFColor ์œ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋นจ๊ฐ•, ๋…น์ƒ‰ ๋ฐ
์ƒ‰์ƒ์˜ ํŒŒ๋ž€์ƒ‰ ๋ถ€๋ถ„.
๋”ฐ๋ผ์„œ ์•ˆ๊ฐœ ์ƒ‰์ƒ์˜ ๋…น์ƒ‰ ๋ถ€๋ถ„์€ ๋‚ด๋ณด๋‚ธ C ์†Œ์Šค์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.
"X0dSceneGraph" ๊ตฌ์กฐ์ฒด์˜ "root->children[2]->children[1]->color[3]".
C++ ๋‚ด๋ณด๋‚ด๊ธฐ๋Š” "root->children[0]->children[2]->color[1]"๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
"X3dSceneGraph" ํด๋ž˜์Šค.
Java ๋‚ด๋ณด๋‚ด๊ธฐ๋Š” ์œ ์‚ฌํ•˜๊ฒŒ "root.children[0].children[2].color[1]"์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
"X3dSceneGraph" ํด๋ž˜์Šค.

Fog ๋…ธ๋“œ์˜ ํ•„๋“œ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
VRML/X3D์—์„œ๋Š” "DEF" ๋ช…๋ น์œผ๋กœ ๋…ธ๋“œ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DEF ๋’ค์˜ ๋ฌธ์ž์—ด
๋ช…๋ น(์˜ˆ์ œ์—์„œ "NAME_OF_FOGNODE")์€ "X3dSceneGraph"์—์„œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
struct์ด๋ฉฐ ์ผ์น˜ํ•˜๋Š” VRML/X3D ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ์•ˆ๊ฐœ ์ƒ‰์ƒ์˜ ๋…น์ƒ‰ ๋ถ€๋ถ„์€ ๋‚ด๋ณด๋‚ธ C ์†Œ์Šค์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.
"X1dSceneGraph" ๊ตฌ์กฐ์ฒด์˜ "NAME_OF_FOGNODE->color[3]".
C++ ๋‚ด๋ณด๋‚ด๊ธฐ๋Š” "X1dSceneGraph" ํด๋ž˜์Šค์˜ "NAME_OF_FOGNODE->color[3]"๋„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
Java ๋‚ด๋ณด๋‚ด๊ธฐ๋Š” "X1dSceneGraph" ํด๋ž˜์Šค์—์„œ ์œ ์‚ฌํ•˜๊ฒŒ "NAME_OF_FOGNODE.color[3]"๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
DEF ๋ช…๋ น ๋’ค์˜ ๋ฌธ์ž์—ด์ด ์˜ˆ์•ฝ์–ด์ธ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋Œ€์ƒ ์–ธ์–ด. ์˜ˆ๋ฅผ ๋“ค์–ด 3D ๋ชจ๋ธ๋Ÿฌ wings3d๋Š” ์ข…์ข… DEF ์ด๋ฆ„ "default"๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
VRML97 ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ผ ๋•Œ.
์ด ๊ฒฝ์šฐ DEF ์ด๋ฆ„์€ ์ด๋ฆ„์ด ๋ฐ”๋€Œ๊ณ (์˜ˆ: "default1") ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
๋‚ด๋ณด๋‚ด๊ธฐ ์ค‘์— ํ‘œ์ค€ ์˜ค๋ฅ˜์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ ๋ฐ์ดํ„ฐ์— ์ง์ ‘ ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ๋‹ค์Œ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ 2๊ฐœ์˜ ์ฝœ๋ฐฑ ์„ธํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ „์ฒด ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„(๋˜๋Š” ๊ทธ ๋ถ„๊ธฐ)์˜ ๋ฐ์ดํ„ฐ: ์ฝ˜ํ…์ธ ๋ฅผ ๋ Œ๋”๋งํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ์ฝœ๋ฐฑ
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ๋ถ„๊ธฐ("*RenderCallback") ๋ฐ ๊ธฐํƒ€์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ฝœ๋ฐฑ ์„ธํŠธ
์ž‘์—…("*DoWithDataCallback").
ํ•จ์ˆ˜๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ฝœ๋ฐฑ๋„ ์žˆ์œผ๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋‘ ํ•จ๊ป˜ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„("*TreeRenderCallback" ๋ฐ "*TreeDoWithDataCallback").
์ฝœ๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ์ดˆ๊ธฐํ™”๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ.

C:
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„(์ ‘๋‘์‚ฌ์˜ ๊ธฐ๋ณธ ์ธ์ˆ˜ "X3d")๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
struct X3dSceneGraph ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„;
๋กœ ์ดˆ๊ธฐํ™”
X3dSceneGraphInit(&sceneGraph);
๋ชจ๋“  X3D ๋…ธ๋“œ ์œ ํ˜•(Fog, Text, IndexedFaceSet ๋“ฑ)์— ๋Œ€ํ•œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์—๋Š”
์„ ์–ธ
๋ฌดํšจ mycallbackFunction(X3dNode *self, ๋ฌดํšจ *๋ฐ์ดํ„ฐ)
X3D ๋…ธ๋“œ์˜ ํ•„๋“œ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ X3dNode ํฌ์ธํ„ฐ๋ฅผ
์˜ ๋ฌธ์ž์—ด์—์„œ ์œ ํ˜• ๋นŒ๋“œ ์ ‘๋‘์‚ฌ ์ธ์ˆ˜(๊ธฐ๋ณธ๊ฐ’ "X3d") ๋ฐ
์ด ์ฝœ๋ฐฑ์œผ๋กœ ์•ก์„ธ์Šคํ•˜๋Š” X3D ๋…ธ๋“œ ์œ ํ˜•(์˜ˆ: X3dFog, X3dText, X3dIndexedFaceSet
๋“ฑ).
X3dFog *๋…ธ๋“œ = (X3dFog *)self;
X3dText *๋…ธ๋“œ = (X3dText *)self;
X3dIndexedFaceSet *node = (X3dIndexedFaceSet *)self;
๋“ฑ
์ด ๋ณ€์ˆ˜ "node"๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ X3D ๋…ธ๋“œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ์ž…๋‹ˆ๋‹ค.
์ฝœ๋ฐฑ์„ ์„ค์น˜ํ•˜๋ ค๋ฉด "callbackFunction"์— ๋Œ€ํ•œ ํ•จ์ˆ˜ ํฌ์ธํ„ฐ๋ฅผ
๋ฌธ์ž์—ด์—์„œ ๋ณ€์ˆ˜ ๋นŒ๋“œ ์ ‘๋‘์‚ฌ ์ธ์ˆ˜(๊ธฐ๋ณธ "X3d"), ์ด๋ฆ„
X3D ๋…ธ๋“œ ๋ฐ ๋ฌธ์ž์—ด "RenderCallback" ๋˜๋Š” "DoWithDataCallback". ์˜ˆ
X3dFogRenderCallback = mycallbackFunction;
X3dTextDoWithDataCallback = mycallbackFunction;
X3dIndexedFaceSetRenderCallback = mycallbackFunction;
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ํŠธ๋ฆฌ์™€ ํ•จ๊ป˜ Render ๋˜๋Š” DoWithData ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
X3dGroupTreeDoWithData(&sceneGraph.root, NULL);
NULL์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์ฝœ๋ฐฑ์˜ "data" ์ธ์ˆ˜์— ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋Šฅ.

C ++ :
์ฝœ๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ C ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ฃผ์š” ์ฐจ์ด์ ์€ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ์ €์žฅ์ž…๋‹ˆ๋‹ค. ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€
C์—์„œ ์ „์—ญ ๊ณต๊ฐ„์— ์ €์žฅ๋˜๊ณ  C++ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ์ •์  ๋ถ€๋ถ„์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
์ผ์น˜ํ•˜๋Š” ๋…ธ๋“œ ์œ ํ˜•์˜
์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹ 
X3dFogRenderCallback = mycallbackFunction; // ์”จ
C++ ํ”„๋กœ๊ทธ๋žจ์€
X3dFog ๋”๋ฏธ;
dummy.renderCallback = &mycallbackFunction; // C++
C++์—์„œ๋Š” ์ดˆ๊ธฐํ™” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค.
์ „์—,
X3dSceneGraph ์žฅ๋ฉด ๊ทธ๋ž˜ํ”„;
์„ ์–ธ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„ ํŠธ๋ฆฌ์™€ ํ•จ๊ป˜ Render ๋˜๋Š” DoWithData ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด
"sceneGraph.render(NULL);" ๋˜๋Š” "sceneGraph.doWithData(NULL);" ์‚ฌ์šฉ.
NULL์€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋กœ ๋Œ€์ฒด๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” "data" ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
์ฝœ๋ฐฑ ํ•จ์ˆ˜.

์ž๋ฐ”:
Java ์ฝœ๋ฐฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์•ฝ๊ฐ„ ๋‹ค๋ฅด๋ฉฐ ์ƒ์†์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
์ฝœ๋ฐฑ ํ•จ์ˆ˜๋Š” ์ผ์น˜ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.
ํด๋ž˜์Šค MyCallbackClass๋Š” X3dFogRenderCallback {๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.
๊ณต๊ฐœ ๋ฌดํšจ ๋ Œ๋”๋ง(X3dNode ๋…ธ๋“œ) {
์ƒˆ ํด๋ž˜์Šค๋Š” ๋‹ค์Œ ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
MyCallbackClass myCallback = new MyCallbackClass();
X3dSceneGraph sceneGraph = new X3dSceneGraph();
X3dText.setX3dTextRenderCallback(myCallback);
์žฅ๋ฉด ๊ทธ๋ž˜ํ”„.๋ Œ๋”();

์™€ ํ•จ๊ป˜ -๋งŽ์€ ํด๋ž˜์Šค ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋งˆ์ง€๋ง‰ ์ค„์ด "X3dSceneGraph.render();"๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
x3dv/vrml ํŒŒ์ผ์—์„œ DEF ๋ช…๋ น์œผ๋กœ ๋…ธ๋“œ์— ์•ก์„ธ์Šคํ•˜๋ฉด ์ •์ 
๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณ€์ˆ˜.
docs/export_example_c, docs/export_example_c++ ๋ฐ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
์˜ˆ๋ฅผ ๋“ค์–ด ์†Œ์Šค ์•„์นด์ด๋ธŒ์˜ docs/export_example_java.

์‚ฌ์šฉ ์˜ˆ


ํ™”์ดํŠธ๋“„ -nostereo
์Šคํ…Œ๋ ˆ์˜ค ์ง€์› ์˜์ƒ์ด ์žˆ์ง€๋งŒ ์…”ํ„ฐ๊ธ€๋ผ์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์ด ๋ฐฉ๋ฒ•์œผ๋กœ whitedune์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
๋˜๋Š” ๊ธฐํƒ€ ์…”ํ„ฐ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ .

whitedune -xinput magellan -allxyz=10,100,,0.0000002 -xinput ๋‹ค์ด์–ผ๋ฐ•์Šค-1 -x=0 -y=2 -z=4
-xrot=1 -yrot=3 -zrot=5 -all=1000,,ํœ 
์š”์ธ 10, ๊ฐ€์†๋„ 100 ๋ฐ
xyz ์ถ•์˜ ๋ฌด์‹œ ๊ฐ’ 0.0000002 ๋ฐ ๋‹ค์ด์–ผ๋ฐ•์Šค ์žฅ์น˜
x ์ถ• = 0. ์ถ•
y์ถ• = 2. ์ถ•
z์ถ• = 4. ์ถ•
x ์ถ• ์ฃผ์œ„ ํšŒ์ „ = 1. ์ถ•
y์ถ• ์ค‘์‹ฌ ํšŒ์ „ = 3. ์ถ•
y์ถ• ์ค‘์‹ฌ ํšŒ์ „ = 5. ์ถ•
๋ชจ๋“  ์ถ•์€ ๊ณ„์ˆ˜ 1000์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•ด์ œ๋œ ๊ฒฝ์šฐ ๋ชจ๋‘ XNUMX์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

whitedune -์กฐ์ด์Šคํ‹ฑ /dev/input/js0 -z=,3 -์ถ•=3
Linux ์กฐ์ด์Šคํ‹ฑ์œผ๋กœ whitedune์„ ์‹œ์ž‘ํ•˜๊ณ  z ์ถ•์˜ ๊ฐ€์†๋„๋ฅผ 3์œผ๋กœ ์„ค์ •ํ•˜๊ณ 
4. (5., 6., ...) ์ถ•์„ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

whitedune -xinput ๋งˆ์ ค๋ž€ -z=3 -xrot=2 -none=2
xinput/magellan ์žฅ์น˜๋กœ whitedune์„ ์‹œ์ž‘ํ•˜๊ณ  ์ถ• ๋ฒˆํ˜ธ 2์™€ ์ถ•์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
๋ฒˆํ˜ธ 3, ์ถ• ๋ฒˆํ˜ธ 2๋Š” ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.

ํ™”์ดํŠธ๋“„ -nxtdials
mindstorms nxt usb ์žฅ์น˜๋กœ whitedune์„ ์‹œ์ž‘ํ•˜๋ฉด ๋ชจ๋“  ์ถ•์ด ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
๋ฐ”ํ€ด๋กœ.

whitedune -aflock /dev/ttyS1 -numbirds 2 -master 1 -wand 2 -tracker 3
Ascension Flock of Birds๋กœ whitedune์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ ํŠธ๋žœ์Šค๋ฏธํ„ฐ(ํ™•์žฅ
FBB ์ฃผ์†Œ 1์˜ ๋ฒ”์œ„ ์ปจํŠธ๋กค๋Ÿฌ(ERC))๊ฐ€ ์ง๋ ฌ ์žฅ์น˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
/dev/ttyS1, FBB ์ฃผ์†Œ 2์—์„œ "3D ๋งˆ์šฐ์Šค" ์žฅ์น˜์— ์—ฐ๊ฒฐ๋œ ํ•˜๋‚˜์ธ 2๊ฐœ์˜ ์ƒˆ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ 
ํ•˜๋‚˜๋Š” FBB ์ฃผ์†Œ 3์—์„œ ๋จธ๋ฆฌ ์ถ”์  ์žฅ์น˜์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

whitedune -wonderland ์›๋”๋žœ๋“œ/๋ชจ๋“ˆ -manyclasses Test.x3dv
Wonderland 3์šฉ Java ์†Œ์Šค๋กœ Test.x0.5dv์˜ ๋‚ด์šฉ์„ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.
์›๋”๋žœ๋“œ/๋ชจ๋“ˆ/exportX3dv/ํ…Œ์ŠคํŠธ.
์ž๋ฐ” ์†Œ์Šค๋ฅผ ์›๋”๋žœ๋“œ ๋ชจ๋“ˆ๋กœ ์ปดํŒŒ์ผํ•˜๋ ค๋ฉด
wonderland/modules/exportX3dv/test/dist/test.jar ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค.
wonderland/modules/exportX3dv/test ๋ฐ ๊ฐœ๋ฏธ ์‚ฌ์šฉ.

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์œผ๋กœ whitedune ์‚ฌ์šฉ


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

  • 1
    ํŽ˜์ด์ €
    ํŽ˜์ด์ €
    Phaser๋Š” ๋น ๋ฅด๊ณ  ๋ฌด๋ฃŒ์ด๋ฉฐ ์žฌ๋ฏธ์žˆ๋Š” ๊ณต๊ฐœ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
    ์ œ๊ณตํ•˜๋Š” ์†Œ์Šค HTML5 ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ
    WebGL ๋ฐ ์บ”๋ฒ„์Šค ๋ Œ๋”๋ง
    ๋ฐ์Šคํฌํ†ฑ ๋ฐ ๋ชจ๋ฐ”์ผ ์›น ๋ธŒ๋ผ์šฐ์ €. ๊ณ„๋žต
    ๊ณต๋™ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ...
    ํŽ˜์ด์ € ๋‹ค์šด๋กœ๋“œ
  • 2
    ๋ฐ”์‚ด ์—”์ง„
    ๋ฐ”์‚ด ์—”์ง„
    VASSAL์€ ์ œ์ž‘์„ ์œ„ํ•œ ๊ฒŒ์ž„ ์—”์ง„์ž…๋‹ˆ๋‹ค.
    ๊ธฐ์กด ๋ณด๋“œ์˜ ์ „์ž ๋ฒ„์ „
    ๊ทธ๋ฆฌ๊ณ  ์นด๋“œ ๊ฒŒ์ž„. ๋‹ค์Œ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    ๊ฒŒ์ž„ ์กฐ๊ฐ ๋ Œ๋”๋ง ๋ฐ ์ƒํ˜ธ ์ž‘์šฉ,
    ๊ทธ๋ฆฌ๊ณ  ...
    VASSAL ์—”์ง„ ๋‹ค์šด๋กœ๋“œ
  • 3
    OpenPDF - iText์˜ ํฌํฌ
    OpenPDF - iText์˜ ํฌํฌ
    OpenPDF๋Š” ๋‹ค์Œ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
    ๋ฐ LGPL๋กœ PDF ํŒŒ์ผ ํŽธ์ง‘ ๋ฐ
    MPL ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด์„ ์Šค. OpenPDF๋Š”
    iText์˜ LGPL/MPL ์˜คํ”ˆ ์†Œ์Šค ํ›„๊ณ„์ž,
    ์—์ด...
    OpenPDF ๋‹ค์šด๋กœ๋“œ - iText ํฌํฌ
  • 4
    ์‚ฌ๊ฐ€ GIS
    ์‚ฌ๊ฐ€ GIS
    SAGA - ์ž๋™ํ™” ์‹œ์Šคํ…œ
    Geoscientific ๋ถ„์„ - ์ง€๋ฆฌ์ ์ž…๋‹ˆ๋‹ค
    ์ •๋ณด ์‹œ์Šคํ…œ(GIS) ์†Œํ”„ํŠธ์›จ์–ด
    ์ง€๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ์—„์ฒญ๋‚œ ๊ธฐ๋Šฅ
    ์ฒ˜๋ฆฌ ๋ฐ ์•„๋‚˜...
    ์‚ฌ๊ฐ€ GIS ๋‹ค์šด๋กœ๋“œ
  • 5
    Java/JTOpen์šฉ ๋„๊ตฌ ์ƒ์ž
    Java/JTOpen์šฉ ๋„๊ตฌ ์ƒ์ž
    IBM Toolbox for Java / JTOpen์€
    ์ง€์›ํ•˜๋Š” Java ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    ํด๋ผ์ด์–ธํŠธ/์„œ๋ฒ„ ๋ฐ ์ธํ„ฐ๋„ท ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    OS/400์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์— ๋ชจ๋ธ,
    i5/OS, ์˜ค...
    Java/JTOpen์šฉ ๋„๊ตฌ ์ƒ์ž ๋‹ค์šด๋กœ๋“œ
  • 6
    D3.js
    D3.js
    D3.js(๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฌธ์„œ์˜ ๊ฒฝ์šฐ D3)
    ํ•  ์ˆ˜ ์žˆ๋Š” JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
    ๋™์ , ๋Œ€ํ™”ํ˜• ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
    ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์‹œ๊ฐํ™”. D3์™€ ํ•จ๊ป˜
    ๋‹น์‹ ...
    D3.js ๋‹ค์šด๋กœ๋“œ
  • ๋”ยป

Linux ๋ช…๋ น

Ad