์ด๊ฒ์ 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 ์ฌ์ฉ