Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (1096)

KoreanFoodie's Study

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 8. Pixel Shader Stage & ๋„ํ˜• ๊ทธ๋ฆฌ๊ธฐ

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 8. Pixel Shader Stage & ๋„ํ˜• ๊ทธ๋ฆฌ๊ธฐ Rasterizer : 3D ๋ฐ์ดํ„ฐ๋ฅผ 2D ๋ฐ์ดํ„ฐ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ. VS ๋‹จ๊ณ„์—์„œ ์ •๊ทœํ™”ํ•œ ๊ณต๊ฐ„์„ ๋‹ค์‹œ ๋ณด์—ฌ์ค„ ์˜์—ญ๋งŒํผ ๋‹ค์‹œ ๋Š˜๋ ค์ค€๋‹ค. ๋˜ํ•œ Pixel Shader ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐˆ ํ”ฝ์…€๋“ค์„ ์ง€์ •ํ•ด์ค€๋‹ค. PixelShader ์ƒ์„ฑ๊ณผ ์—ฐ๊ฒฐ : SV_Target ์‹œ๋ฉ˜ํ‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ์„ธํŒ…๋œ ๋ฉ”์ธ๋ Œ๋” ํƒ€๊นƒ์„ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ์•Œ๋ ค์ฃผ์–ด์•ผ ํ•œ๋‹ค. ํ™”๋ฉด์— ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์ƒ์ƒ์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, Pixel Shader๋Š” Rasterizer๊ฐ€ ์ง€์ •ํ•œ ํ”ฝ์…€ ๊ฐœ์ˆ˜๋งŒํผ ํ˜ธ์ถœ๋œ๋‹ค. ์‚ฌ๊ฐํ˜• ๋งŒ๋“ค๊ธฐ : ์‚ฌ๊ฐํ˜•์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ •์  6๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์‚ผ๊ฐํ˜• 2๊ฐœ๋ฅผ ๋ถ™์—ฌ ๋งŒ๋“œ๋Š” ํ˜•ํƒœ์ด๊ธฐ ๋•Œ๋ฌธ! ์—ฌ๋Ÿฌ ์ค„ ๋™์‹œ์— ํŽธ์ง‘ํ•˜๊ธฐ : Shift + Al..

Game Dev/DirectX 2021. 10. 27. 21:58
DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 7. Vertex Shader Stage

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 7. Vertex Shader Stage ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” hlsl์„ ์ด์šฉํ•ด ๊ฐ„๋‹จํ•œ Vertex Shaer๋ฅผ ๋งŒ๋“œ๋Š” ์‹ค์Šต์„ ํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. HLSL์€ High Level Shader Language๋กœ, ์˜ˆ์ „์— ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ๋งŒ๋“ค๋˜ ๊ฒƒ์„ ๋” ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•œ ์–ธ์–ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ํ”„๋กœ์ ํŠธ์— HLSlํƒญ์œผ๋กœ ์ƒ์„ฑํ•œ ํ›„, ํ”„๋กœ์ ํŠธ์—์„œ ์ œ์™ธ์‹œ์ผœ์„œ ์‚ฌ์šฉํ•œ๋‹ค. (์ปดํŒŒ์ผ์— ์šฉ์ด) ์•Œ์•„๋‘์–ด์•ผ ํ•  ๊ฐœ๋… : 1. Semantic : Semantic์€ ๋ฐ์ดํ„ฐ์˜ ์ถœ์ฒ˜์™€ ์—ญํ• ์— ๋Œ€ํ•œ ๋ถ„๋ช…ํ•œ ์˜๋ฏธ๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค์›Œ๋“œ์ด๋‹ค. Color.hlsl struct VertexInput { // float4๋Š” vector4์™€ ๊ฐ™์Œ // Semantic : ๋ฐ์ดํ„ฐ์˜ ์ถœ์ฒ˜์™€ ์—ญํ• ์— ๋Œ€ํ•œ ๋ถ„๋ช…ํ•œ..

Game Dev/DirectX 2021. 10. 25. 21:34
SQL ๊ธฐ์ดˆ - 19. ํŠธ๋žœ์žญ์…˜ ๋ชจ๋“œ์™€ ๋ฝ

์ด ๊ธ€์€ '๊น€์ƒํ˜•์˜ SQL ์ •๋ณต'์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ SQL ์ฟผ๋ฆฌ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. SQL ๊ธฐ์ดˆ - 19. ํŠธ๋žœ์žญ์…˜ ๋ชจ๋“œ์™€ ๋ฝ ์€ํ–‰ ์‹œ์Šคํ…œ ๊ฐ™์€ ๊ทน๋„์˜ ์ •๋ฐ€์„ฑ์„ ์š”๊ตฌํ•˜๋Š” ์ž‘์—…์˜ ๊ฒฝ์šฐ, ์†๋„๋ณด๋‹ค ๋ฌด๊ฒฐ์„ฑ์ด ๋”์šฑ ์ค‘์š”ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ DML ์ฟผ๋ฆฌ๋“ค์„ ๋ชจ์•„ ์›์ž์„ฑ(ํ•œ๊บผ๋ฒˆ์— ์‹คํ–‰๋˜๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ์•„์˜ˆ ์‹คํ–‰๋˜์ง€ ์•Š๊ฑฐ๋‚˜), ์ผ๊ด€์„ฑ, ๊ฒฉ๋ฆฌ์„ฑ, ์˜์†์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ช…๋ น์˜ ๋ฌถ์Œ์ด๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ์‹คํ–‰๋˜๋ฉด ๋จผ์ € ์ž„์‹œ ์ž‘์—… ์˜์—ญ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ํ›„, ์ปค๋ฐ‹์„ ํ•˜๋ฉด ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋Š” ์‹์œผ๋กœ ์ž‘๋™ํ•˜์—ฌ ์•ˆ์ „ํ•˜๋‹ค. ๋ชจ๋“œ๋Š” ํ”ํžˆ ์ž๋™ ์ปค๋ฐ‹(Auto Commit)๋ชจ๋“œ์™€ ์ˆ˜๋™ ์ปค๋ฐ‹(Manual Commit Mode)๊ฐ€ ์žˆ๋Š”๋ฐ, SQL Server์™€ MariaDB๋Š” ์ž๋™, ์˜ค๋ผํด๊ณผ DB2๋Š” ์ˆ˜๋™์ด ๋””ํดํŠธ์ด..

Database 2021. 10. 25. 16:09
SQL ๊ธฐ์ดˆ - 18. ํŠธ๋ฆฌ๊ฑฐ(๋ฌด๊ฒฐ์„ฑ, BEFORE/AFTER, ๋‹ค์ค‘, ์ค‘์ฒฉ, DLL)

์ด ๊ธ€์€ '๊น€์ƒํ˜•์˜ SQL ์ •๋ณต'์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ SQL ์ฟผ๋ฆฌ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. SQL ๊ธฐ์ดˆ - 18. ํŠธ๋ฆฌ๊ฑฐ(๋ฌด๊ฒฐ์„ฑ, BEFORE/AFTER, ๋‹ค์ค‘, ์ค‘์ฒฉ, DLL) ํŠธ๋ฆฌ๊ฑฐ๋Š” ํŠน์ • ์‚ฌ๊ฑด์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ์ฝ”๋“œ๋กœ, ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์ผ์ •ํ•œ ์กฐ๊ฑด์ด ๋˜๋ฉด ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋œ๋‹ค. ์‹œ์Šคํ…œ์ด ํ˜ธ์ถœํ•˜๋ฏ€๋กœ ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๊ณ  ๋ฆฌํ„ด๊ฐ’๋„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†๋‹ค. ์ฃผ๋กœ ํ…Œ์ด๋ธ”์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ํŠธ๋ฆฌ๊ฑฐ๋กœ ์ •์˜ํ•œ๋‹ค. ์ •์˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. CREATE [OR REPLACE] TRIGGER ํŠธ๋ฆฌ๊ฑฐ์ด๋ฆ„ BEFORE | AFTER | INSTEAD OF INSERT OR UPDATE OR DELETE [OF ์ปฌ๋Ÿผ] ON ํ…Œ์ด๋ธ”๋ช… [FOR EACH ROW] BEGI..

Database 2021. 10. 25. 15:27
SQL ๊ธฐ์ดˆ - 17. ์ปค์„œ์™€ ๋™์ ์ฟผ๋ฆฌ

์ด ๊ธ€์€ '๊น€์ƒํ˜•์˜ SQL ์ •๋ณต'์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ SQL ์ฟผ๋ฆฌ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. SQL ๊ธฐ์ดˆ - 17. ์ปค์„œ์™€ ๋™์ ์ฟผ๋ฆฌ ์ปค์„œ๋Š” ๊ฒฐ๊ณผ์…‹์„ ํ•œ ํ–‰์”ฉ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ณผ์…‹์„ ์ˆœํšŒํ•˜๋ ค๋ฉด ์„œ๋ฒ„๋Š” ๊ฒฐ๊ณผ์…‹์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ด ๋‘๊ณ  ์ปค์„œ๋ฅผ ํ†ตํ•ด ํ•œ ์ค„์”ฉ ์ฝ๋Š”๋‹ค. ์ด๋Ÿฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ ค๋ฉด ๋‚ด๋ถ€์ ์ธ ์ค€๋น„๊ฐ€ ํ•„์š”ํ•˜๊ณ  ๋‹ค ์‚ฌ์šฉํ•œ ํ›„ ์ •๋ฆฌ๋„ ํ•ด์•ผ ํ•œ๋‹ค. ์ปค์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ ˆ์ฐจ๋Š” ์ •ํ˜•ํ™”๋˜์–ด ์žˆ๋‹ค. 1. ์–ด๋–ค ๊ฒฐ๊ณผ์…‹์„ ์ˆœํšŒํ•  ๊ฒƒ์ธ์ง€ ์ปค์„œ๋ฅผ ์ •์˜ : CURSOR ์ปค์„œ ์ด๋ฆ„ IS SELECT... 2. OPEN ๋ช…๋ น์œผ๋กœ ์ปค์„œ๋ฅผ ์—ฐ๋‹ค. SELECT ๋ฌธ์„ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ์…‹์„ ๋งŒ๋“ค๊ณ  ์ปค์„œ๋ฅผ ์ฒซ ํ–‰ ์ด์ „์— ์œ„์น˜์‹œ์ผœ ์ˆœํšŒ ์ค€๋น„๋ฅผ ํ•œ๋‹ค. 3. FETCH ๋ช…๋ น์œผ๋กœ ๋‹ค์Œ ํ–‰์„ ์ฝ์–ด ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๊ณ  ์ฝ์€ ๊ฐ’์œผ๋กœ ์›ํ•˜๋Š” ์ฒ˜๋ฆฌ..

Database 2021. 10. 25. 13:18
SQL ๊ธฐ์ดˆ - 16. ์ €์žฅ ํ”„๋กœ์‹œ์ €, ์ธ์ˆ˜, ํ•จ์ˆ˜(+ํ…Œ์ด๋ธ” ๋ฐ˜ํ™˜ ํ•จ์ˆ˜)

์ด ๊ธ€์€ '๊น€์ƒํ˜•์˜ SQL ์ •๋ณต'์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ SQL ์ฟผ๋ฆฌ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. SQL ๊ธฐ์ดˆ - 16. ์ €์žฅ ํ”„๋กœ์‹œ์ €, ์ธ์ˆ˜, ํ•จ์ˆ˜ SQL ๋ช…๋ น ์—ด๊ฐœ๋ฅผ ๋ชจ์œผ๋ฉด ์ฝ”๋“œ๊ฐ€ ๋˜๋ฉฐ, ์ด๋ฅผ ํ…์ŠคํŠธ๋กœ ์ €์žฅํ•˜๋ฉด ์Šคํฌ๋ฆฌํŠธ, ์„œ๋ฒ„์— ์ €์žฅํ•˜๋ฉด ์ €์žฅ ํ”„๋กœ์‹œ์ ธ๊ฐ€ ๋œ๋‹ค. ํ˜•์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. CREATE [OR REPLACE] PROCEDURE ์ด๋ฆ„(์ธ์ˆ˜ ๋ชฉ๋ก) AS ๋˜๋Š” IS ๋ณ€์ˆ˜์„ ์–ธ BEGIN ๋ณธ์ฒด END [์ด๋ฆ„]; ๋ชจ๋“  DB์˜ค๋ธŒ์ ํŠธ๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ํ”„๋กœ์‹œ์ ธ๋ฅผ Ctrl + Enter๋กœ ์‹คํ–‰ํ•  ๋•Œ๋Š” ์ฝ”๋“œ ๋ธ”๋ฝ์„ ์„ ํƒํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•˜๋‹ค. ์ถ”ํ›„ ์ˆ˜์ •์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด OR REPLACE๋ฅผ ๋ถ™์—ฌ ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ํ”„๋กœ์‹œ์ € ์ •์˜๋ฌธ์€ ํ•ญ์ƒ ๋‹จ๋…์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒŒ ์ข‹์œผ๋ฉฐ, ์ „์—ญ์ ์œผ๋กœ..

Database 2021. 10. 25. 12:22
DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 6. Input Assembler Stage ์„ธํŒ…ํ•˜๊ธฐ

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 6. Input Assembler Stage ์„ธํŒ…ํ•˜๊ธฐ Rendering Pipeline์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šคํ…Œ์ด์ง€๊ฐ€ ์žˆ๋‹ค. IA - VS - RS - PS - OM : ์ด ์ค‘, ์˜ค๋Š˜์€ IA ์Šคํ…Œ์ด์ง€์ธ Input Assembler Stage๋ฅผ ์„ธํŒ…ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. ๋จผ์ €, DirectX์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ์ธ ์ •์ (Vertex)๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ์ •์ ๋“ค์„ ํŒŒ์ดํ”„๋ผ์ธ์— ์—ฐ๊ฒฐํ•  Bufferํ˜• ์ž์›๋“ค ๋งŒ๋“ ๋‹ค. ๊ทธ ํ›„, Device Context๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŒŒ์ดํ”„๋ผ์ธ์— Bufferํ˜• ์ž์›์„ ์„ธํŒ…ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ Primitive Topology ์ •๋ณด๋กœ ์–ด๋–ป๊ฒŒ ์ •์ ์„ ์—ฐ๊ฒฐํ• ์ง€ ์„ธํŒ…ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•Œ์•„๋‘์–ด์•ผ ํ•  ๊ฐœ๋… : 1. vector ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? 2. D3D11_USAGE์— ๋Œ€ํ•ด ์กฐ์‚ฌ..

Game Dev/DirectX 2021. 10. 24. 11:05
DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 5. Window ์ฐฝ์— DirectX ์—ฐ๊ฒฐ(์—ฐ๋™)ํ•˜๊ธฐ

DirectX 11 2D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - 5. Window ์ฐฝ์— DirectX ์—ฐ๊ฒฐ(์—ฐ๋™)ํ•˜๊ธฐ ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ด์ „์— ๋„์› ๋˜ Window ์ฐฝ์— DirectX์š”์†Œ๋ฅผ ๋„ฃ์–ด ์—ฐ๋™ํ•ด๋ณธ๋‹ค. ์•Œ์•„๋‘์–ด์•ผ ํ•  ๊ฐœ๋… : 1. Design Pattern ์กฐ์‚ฌ 2. ์ •์  ๋ณ€์ˆ˜ ๋ณต์Šต -> static member๋Š” class ๋‚ด๋ถ€์— ํ•˜๋‚˜ ๋ฐ–์— ์—†์œผ๋ฉฐ, ํด๋ž˜์Šค์—์„œ ๊ณต์œ ํ•˜๋Š” ์ž์›์ด๋‹ค. 3. 16์ง„์ˆ˜๋กœ ํ‘œํ˜„๋˜๋Š” ์ƒ‰์ƒ ์ •๋ณด ์กฐ์‚ฌํ•ด๋ณด๊ธฐ -> D3DXCOLOR ๋ณ€์ˆ˜๋Š” ์‹ค์ œ๋กœ float[4]๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ 4. const int* vs int* const ์ฐจ์ด? -> ์™ผ์ชฝ์€ ํฌ์ธํ„ฐ๊ฐ€ ์ƒ์ˆ˜์ธ ๊ฒƒ. ๋”ฐ๋ผ์„œ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ณ , ์ฐธ์กฐํ•˜๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, *ptr = new_value์‹์œผ๋กœ๋Š” ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค. ์˜ค๋ฅธ์ชฝ์€ ์ƒ..

Game Dev/DirectX 2021. 10. 24. 10:19