์ด์ง ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์ ์์์ ๋ด ๊ฒ์ ์์ง ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณด๋ผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ฌ Java ๋ฐ JMonkeyEngine 3๊ณผ ํจ๊ป Chromium Embedded๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. Chromium Embedded์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ JMonkeyEngine 3 ์ด๋ฏธ์ง ํ ์ค์ฒ๋ก ์ด๋ํ์ฌ ํ๋ฉด์ ๋ ๋๋ง๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ์ํด OpenCV๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ฑฐ๋ ํ์ ํ๋ ํ๋ธ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ง์ ๋ณํ์ ์ํํ ์ ์์ต๋๋ค.
Javascript์์ Electron์ ์ ์ดํ๊ธฐ ์ฝ๊ณ Electron๋ ๋ด๋ถ์์ ์ฝ๋ฉํ ์ ์๋ ํฉ๋ฆฌ์ ์ธ ํ๋ซํผ์ด๊ธฐ ๋๋ฌธ์ Electron์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ก ๋์ผํ ์์
์ ์ํํ ์ ์๊ธฐ๋ฅผ ์ํฉ๋๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํฉ๋๊น? ํ๊ธฐ๊ฐ ์ผ๋ง๋ ์ด๋ ต์ต๋๊น? ์ด๊ฒ์ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์ด ํ๋ ์ด์ ์์ต๋๊น?
๋ํ ์ด ๋ฐฉ๋ฒ์ ํตํด ๋ด ์ ํ๋ฆฌ์ผ์ด์ ์ Atom.io๋ฅผ ํฌํจํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๊ตฐ๊ฐ๊ฐ ๋์ ์ํด ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ๋น์ฉ์ ์ง๋ถํ ์ฉ์๊ฐ ์์ง๋ง ๊ธ์ก์ ์ ๊ณตํ๊ธฐ ์ ์ ๋๋ต ์ผ๋ง๋ ๋ง์ ๋ ธ๋ ฅ์ด ํ์ํ์ง ๋๋ ์คํ ๊ฐ๋ฅํ์ง ์๊ณ ์ถ์ต๋๋ค. ๋.
์ธ์ฉํ๋ค
https://github.com/atom/electron/issues/228
@PhilAndrew ์ ๋ ์ ์ ์ ์ง ๊ด๋ฆฌ์๊ฐ ์๋๋ฉฐ ํด๋น ํ๋ก์ ํธ์ ๊ณต์์ ์ผ๋ก ์ ํดํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋น์ ์ด ๋์๊ฒ ์ง์ ์ฐ๋ฝํ๊ธฐ ๋๋ฌธ์ ๋๋ ๊ทธ ๋ฌธ์ ์ ๊ด์ฌ์ด ์๊ธฐ ๋๋ฌธ์ ๋ด 2 ์ผํธ๋ฅผ ์ค ๊ฒ์ ๋๋ค
์ด๊ฒ์ ์๋ง๋ ํ ์ ์์ผ๋ฉฐ ํ์คํ ํ์๊ธ์ผ๋ก ์๋ฃํ ์ ์์ต๋๋ค. ๋ด๊ฐ ๋ณผ ์ ์๋ ํฐ ๋ฌธ์ ๋ Electron ์ฑ์ด ๊ตฌ์กฐํ/์
๋ ฅ๋๋ ๋ฐฉ์์ด๋ฉฐ, ์ด๊ฒ์ด JS์ ํต์ฌ ์ง์
์ ์
๋๋ค.
Electron์ ์์ํ ์น ๋ ๋๋ฌ๋ผ๊ธฐ๋ณด๋ค๋ ๋ชจ๋ ๋ฐ์คํฌํ API๋ฅผ ์ ์ดํ ์ ์๋ "์"์ ๊ฐ๊น์ต๋๋ค.
๋ฐ๋ผ์ ์ด๊ฒ์ ์๋ก์ด ๋ชจ๋/ํจ๋ฌ๋ค์์ด ํ์ํฉ๋๋ค.
๋ชฉ์ ์ ์ํด ๋ ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ์ฐพ๋ ๊ฒ์ด ์ข์ต๋๋ค. Coherent GT ๋ฐ Coherent UI ์ฐธ์กฐ - ๋ ๋ค ์์ ์ฉ์ด๋ฉฐ ์ ๋ ๊ทธ๋ค๊ณผ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์์ง๋ง ์ฑ๋ฅ์ด ๋งค์ฐ ์ฐ์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ฐ๋ฅํ ๋จ์ ์ ๋นํธํ์ฑ/WebKit์ ๋ํ API ๋ถ์กฑ, Electron๊ณผ ๊ฐ์ Node.js ํตํฉ ๋ถ์กฑ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค์ _๊ฒ์์ฉ์ผ๋ก, ํนํ ์ฑ๋ฅ์ ์ผ๋์ ๋๊ณ ํน๋ณํ ํ ์ค์ฒ๋ก ๋ ๋๋งํ๊ธฐ ์ํด ์ ์๋์์ต๋๋ค.
์ด ๋ชฉ์ ์ผ๋ก webContents.beginFrameSubscription
API๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframe๊ตฌ๋
์ฝ๋ฐฑ
@brenca ๊ฐ ๊ธฐ์ฌํ์ผ๋ฉฐ
์, ๋งค์ฐ ์ ์ฌํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ํด ์ด๊ฒ์ ๊ธฐ์ฌํ์ต๋๋ค. 3D ํ ์ค์ฒ์ ๋ ๋๋งํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค. ์ฑ๋ฅ์ ์์ผ๋ก ๋ ํฅ์๋ ์ ์์ง๋ง ํจ์ฌ ๋ ๋ง์ ์์ ์ด ํ์ํ๋ฉฐ ํ์ฌ๋ก์๋ ๊ฝค ์ ์๋ํฉ๋๋ค. :)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ชฉ์ ์ผ๋ก
webContents.beginFrameSubscription
API๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframe๊ตฌ๋ ์ฝ๋ฐฑ
@brenca ๊ฐ ๊ธฐ์ฌํ์ผ๋ฉฐ