Pixi.js: ๋ณ„๋„์˜ ํŒŒ์ผ GLSL ์…ฐ์ด๋”๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋กœ๋“œ

์— ๋งŒ๋“  2017๋…„ 01์›” 26์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pixijs/pixi.js

์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ,

์ €๋Š” Pix๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GLSL ์…ฐ์ด๋”๋ฅผ ์ž‘์—… ์ค‘์ด๋ฉฐ ์ผ๋ถ€ ์ž์Šต์„œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด Javascript HTML ์š”์†Œ์— ์…ฐ์ด๋”๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ํŒŒ์ผ์— ์ž‘์„ฑํ•˜๊ณ  Javascript๋กœ ๋‚ด์šฉ์„ ๋กœ๋“œํ•˜์—ฌ Pixi ํ•„ํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘.

์ด ์ฝ”๋“œ๋ฅผ ๊ณ ๋ คํ•˜๋ฉด:

const frag_shader = document.getElementById( 'frag_shader' ).innerHTML; //Replacing this by reading the GLSL file 

const filter = new PIXI.Filter('', frag_shader);

์ฝ˜ํ…์ธ ๋ฅผ PIXI.Filter ์— ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด Pixi.js๊ฐ€ ์™ธ๋ถ€ GLSL ํŒŒ์ผ์„ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?
๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๊ณ„ํš๋œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด glslify npm ํŒจํ‚ค์ง€์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ ‡๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ(https://github.com/stackgl/glslify)?

Pixi v4๊ฐ€ GLSL ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋งŽ์ง€ ์•Š๊ณ  SO์— ๋‹ต์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๊ฒƒ์ด ์—ฌ๋Ÿฌ๋ถ„์ด ์ƒ๊ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ธ์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ œ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

๋‹ต๋ณ€ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์˜ˆ, PIXI์—๋Š” glslify๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๋”๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PIXI.loader.add(["vert.txt","frag,txt"]);
PIXI.loader.load(finshed);

function finished()
    {
    var vert = PIXI.loader.resources["vert.txt"].data;
    var frag = PIXI.loader.resources["frag.txt"].data
    var myfilter = new PIXI.Filter(vert, frag);
    }

๋ชจ๋“  3 ๋Œ“๊ธ€

์˜ˆ, PIXI์—๋Š” glslify๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๋”๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PIXI.loader.add(["vert.txt","frag,txt"]);
PIXI.loader.load(finshed);

function finished()
    {
    var vert = PIXI.loader.resources["vert.txt"].data;
    var frag = PIXI.loader.resources["frag.txt"].data
    var myfilter = new PIXI.Filter(vert, frag);
    }

๊ฐ์‚ฌ ํ•ด์š” ! ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ํ•„์š”ํ–ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ๋Š” ๋‹ซํžŒ ํ›„ ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ฌ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰