Godot: ํŽ˜์ด๋“œ ์ธ ํšจ๊ณผ๋ฅผ์œ„ํ•œ ์ปค์Šคํ…€ ์…ฐ์ด๋” ์ฝ”๋“œ๊ฐ€์žˆ๋Š” GLES2 ์˜ค๋ฅ˜

์— ๋งŒ๋“  2018๋…„ 11์›” 30์ผ  ยท  1๋…ผํ‰  ยท  ์ถœ์ฒ˜: godotengine/godot

Godot ๋ฒ„์ „ :
v3.1.alpha.calinou.5b8dde4

๋ฒ„์ „์„ ํฌํ•จํ•œ OS / ์žฅ์น˜ :
ํ…Œ์ŠคํŠธ ๋œ Windows 10 ๋ฐ Android ์žฅ์น˜

๋ฌธ์ œ ์„ค๋ช… :
๊ธฐ๋ณธ์ ์œผ๋กœ ์ฃผ์–ด์ง„ clip_height์—์„œ ๊ฐœ์ฒด๊ฐ€ ํŽ˜์ด๋“œ ์•„์›ƒ๋˜๋„๋กํ•˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ์…ฐ์ด๋” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ธŒ์ ํŠธ์˜ ํ•˜๋‹จ 50 % ๋งŒ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GLES3์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ GLES2์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ๋ช…ํ™•ํžˆํ•˜๊ธฐ ์œ„ํ•ด ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
GLES3์—์„œ์˜ ๋ชจ์Šต์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
gles3

๋‹ค์Œ์€ GLES2์—์„œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€์ž…๋‹ˆ๋‹ค.
gles2

์žฌํ˜„ ๋‹จ๊ณ„ :
๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ ๋‘ ์ค„์˜ ์…ฐ์ด๋” ์ฝ”๋“œ๋กœ ๋ฌธ์ œ๋ฅผ ๋ถ„์„ ํ•  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

    vec4 world_vertex = camera_matrix * vec4(VERTEX, 1.0);

    ALPHA = smoothstep(1, 0,  (world_vertex.y - clip_height)/fade_offset);

์นด๋ฉ”๋ผ ๋งคํŠธ๋ฆญ์Šค๋Š” ์ •์  ์…ฐ์ด๋”์—์„œ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ์ •ํ™•ํžˆ ์˜ค๋ฅ˜์˜ ์›์ธ์„ ์กฐ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ตœ์†Œ ์žฌ์ƒ์‚ฐ ํ”„๋กœ์ ํŠธ :
AlphaIssue.zip

bug rendering

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

์ž˜ ์žก์•„! ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. gles2 ์…ฐ์ด๋” ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ์ฝ”๋“œ์—์„œ INV_CAMERA_MATRIX ๋ฐ CAMERA_MATRIX ๋ฅผ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ์•ˆ์—์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด PR์„ ์ œ์ถœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•œํŽธ, ์‚ฌ์šฉ INV_CAMERA_MATRIX ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์กฐ๊ฐ ๊ธฐ๋Šฅ์— CAMERA_MATRIX .

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

์ž˜ ์žก์•„! ๋ฒ„๊ทธ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. gles2 ์…ฐ์ด๋” ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ์ฝ”๋“œ์—์„œ INV_CAMERA_MATRIX ๋ฐ CAMERA_MATRIX ๋ฅผ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ์•ˆ์—์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด PR์„ ์ œ์ถœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•œํŽธ, ์‚ฌ์šฉ INV_CAMERA_MATRIX ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์กฐ๊ฐ ๊ธฐ๋Šฅ์— CAMERA_MATRIX .

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