๋ชฉ๋ก์ ์ฒด ๊ธ (1099)
KoreanFoodie's Study
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์ ๋ํด ์กฐ์ฌ..
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์์ผ๋ก๋ ๋ฐ๊ฟ ์ ์๋ค. ์ค๋ฅธ์ชฝ์ ์..
DirectX 11 2D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ - 3. ID3D11Device, SwapChain, Resource View ๊ฐ๋ ๋ฐ ๊ฐ๋จํ ์ด๊ธฐํ Grahpics.h, Graphics.cpp ํ์ผ์ ์ด์ฉํ์ฌ ๋ฐฑ๋ฒํผ๋ฅผ ๋ง๋ค๊ณ ID3D11Device(Context)๋ฑ์ ํ์ผ๋ค์ ์ด๊ธฐํํด ๋ณด์. ์์๋์ด์ผ ํ ๊ฐ๋ : 1. Device์ DeviceContext, SwapChain ์ด๊ธฐํํ๋ฉด์ ์ฌ์ฉํ ์ต์ ์ ๋ฆฌ : ์ฃผ์์ผ๋ก ์ ๋ฆฌ 2. bpc(bit per color), Anti Aliasing 3. UUID, GUID 4. dangling pointer Graphics.h #pragma once // final : ๋๋ ์์๋ ์ ์๋ค class Graphics final { public: Graphics(); ..
์ ์ด๋ ๊ฒ ๋ถ์ํ ๊น. ์ ์ด๋ ๊ฒ ๋ต๋ตํ ๊น. ์ ์ ์๋ฌด ์๊ฐ ์์ด ์ฌ๋ ค๊ณ ํ๋ฉด ๋ด๊ฐ ํด์ผ ํ ์ผ๋ค์ด ๋จธ๋ฆฟ์์ ์ข๋ฅด๋ฅต ๋ ์ค๋ฅธ๋ค. ์๋ง์ ์ผ๋ค์ ์์ ๋๋ฉฉ์ด ๊ฐ์ ๋ ์๋ค๋ถํฐ ๊ฑฐ๋ํ ๋ฐ์๊น์ง ๊ฐ์ง๊ฐ์์ ๋ชจ์ต์ ํ๊ณ ์๋ค. ๊ทธ๋ฐ ๋๋ฉ์ด๋ค์ด ๋ชจ์ด๊ณ ๋ชจ์ฌ ๋๋ฅผ ๋ฌด์ฌํ๊ฒ ์ง๋๋ฅธ๋ค. ์ค์ค๋ก์๊ฒ ๋ถ๊ณผํ ๋ง์์ ์ง์ ์ง์ด์ง๋ฉด์๋, ์์ ์ ์๊พธ ์์ ์ณ๋ค๋ณด๊ฒ ๋๋ค. ๊ณ๋์ง์ ํ๋ฉด ๋๋ณด๋ค ๋ ๋ฌด๊ฑฐ์ด ๋ฐ์๋ค์ ๊ฐ๋ฟํ ๋ค๊ณ ๋ฐ๋ ์ฌ๋๋ค์ด ์๋ค. ํจ๊ป ์์๊ป๋ ํ ๋๋ด์ ์ฃผ๊ณ ๋ฐ๋ ์น๊ตฌ์ ์ผ๊ตด๋ ๋ณด์ด๊ณ , ๊ฐ๊น์ด ์ง๋ด๊ณ ์ถ์ง ์์๋ ์ด์ํ ์ผ๊ตด๋ค๋ ๋ณด์ธ๋ค. ํ์ง๋ง ํ๊ฐ์ง ๊ณตํต์ ์ด ๋ณด์ธ๋ค. ์ ํญ์ ๋๋ฅผ ๋จ๊ฒจ๋๊ณ ๋จผ์ ๋ฌ๋ ค๋๊ฐ๋ ๊ฒ ๊ฐ์ ๊ฑธ๊น. ๋ด๋ดํ ์ฒ ์ฐ๊ธฐ๋ฅผ ํด์๋ค. ๋ด๊ฐ ๋ฐ๋ผ๋ ์ธ์์ ํํํ๊ณ ์์ ๋ ์ถ์ด๋ผ๊ณ ์ค์ค๋ก๋ฅผ ์์ด๋ฉฐ ๋์ ๋ถ..
DirectX 11 2D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ - 2. Direct SDK ์ฐ๊ฒฐ, Double Buffering ์ด๋ฒ ์๊ฐ์๋ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๊ณผ Graphics๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ด ๊ฐ๋ ์ ๋ํด ํ์ตํ๋ค. Direct SDK์ฐ๊ฒฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ฒฐ๊ณผ Graphics.h์ ์ฝ๋ ์ฃผ์์ ํตํด ์ตํ ์ ์๋ค. ์์๋์ด์ผ ํ ๊ฐ๋ ์ผ๋ก๋ Double Buffering์ด ์๋ค. stdafx.h stdafx.h์ Graphics.h์์ ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ฐ๊ฒฐํด ์ค๋ค. #pragma once //Window #include #include //DirectX #include #include #include // ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ๋ ์ ์ฒ๋ฆฌ๊ธฐ ์ฝ๋์ ํํ #pragma comment(lib, "dxgi.lib") #pragma com..
DirectX 11 2D ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ - 1. Window ์ฐฝ ๋์ฐ๊ธฐ ๋จผ์ ๊ธฐ๋ณธ์ ์ธ Windows API์ ๊ธฐ๋ฅ๋ค์ ์ง์ด ๋๊ฐ๋ฉด์ ์ฐฝ์ ๋์ฐ๋ ๊ฒ๋ถํฐ ์์์ ํด ๋ณด์. ์์๋์ด์ผ ํ ๊ฐ๋ ์ผ๋ก๋ 1. Calling Convention 2. Casting in C++ 3. inline ํจ์ 4. Callback ํจ์ ์ ๋๊ฐ ์๋ค. stdafx.h ๋จผ์ , ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ ํค๋๋ฅผ ๋ง๋ค์ด ์ฃผ์. stdafx.cpp์์๋ stdafx.h๋ฅผ include ํด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค. #pragma once //Window #include #include typedef unsigned int uint; Windows.h #pragma once #include "stdafx.h" namespace Window { static..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 14. ํ ์ด๋ธ ๊ด๋ฆฌ (ํ ์ด๋ธ ์์ , ํ๋ ์์ , SQL ALTER) ์ฌ์ค ํ ์ด๋ธ ์ปฌ๋ผ ์ถ๊ฐ/์ญ์ /๋ณ๊ฒฝ ๋ฑ์ ์์ ์ GUI ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ํ๋ ๊ฒ์ด ๋ ์ฝ๋ค! ๋ค๋ง ์คํฌ๋ฆฝํธ ํ๊ฒฝ์์ ALTER ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํด์ผ ํ๋ ์ํฉ์ด ์์ ์ ์์ผ๋, ๊ฐ๋จํ ์์ ๋ฅผ ํตํด ์ด๋ค ์ฟผ๋ฆฌ๊ฐ ์๋์ง๋ ๋จธ๋ฆฟ์์ ๋ฃ์ด๋๋๋ก ํ์. -- ADD๋ฅผ ํตํด ์ปฌ๋ผ์ ์ถ๊ฐํ ์ ์๋ค ALTER TABLE tCity ADD mayor CHAR(12) NULL; UPDATE tCity SET mayor = '์ค๋ฅ๋' WHERE name = '๋ถ์ฐ'; ALTER TABLE tCity ADD mayor CHAR(12) NOT ..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 13. ๋ถ์๊ณผ ํต๊ณ(์๊ณ, ์์, ํต๊ณ, ํผ๋ด) CREATE TABLE tMonthSale ( year INT, month INT, salesINT ); INSERT INTO tMonthSale VALUES(2021, 9, 3650); INSERT INTO tMonthSale VALUES(2021, 10, 4120); INSERT INTO tMonthSale VALUES(2021, 11, 5000); INSERT INTO tMonthSale VALUES(2021, 12, 4420); INSERT INTO tMonthSale VALUES(2022, 1, 3800); INSERT INTO..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 12. ๋ทฐ (์์ ํ ์ด๋ธ, CTE) SELECT member, age, addr FROM tMember; -- ๊ฐ๋จํ VIEW๋ฅผ ์์ฑํ๋ ์์ -- VIEW๋ ์ฟผ๋ฆฌ๋ฌธ์ผ๋ก ์์ฑํ๋ ๊ฐ์์ ์ธ ํ ์ด๋ธ์ด๋ค. -- ๋ทฐ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ฉด ์ค์ ํ ์ด๋ธ์๋ ์ํฅ์ ๋ผ์น๋ค -- ๋ทฐ๋ ๋ณด๊ธฐ ์ ์ฉ์ผ๋ก ์ด์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. CREATE VIEW vMember AS SELECT member, age, addr FROM tMember; SELECT * FROM vMember; SELECT member, age FROM vMember; SELECT * FROM vMember WHERE addr LIKE ..
์ด ๊ธ์ '๊น์ํ์ SQL ์ ๋ณต'์ ์์ ์ฝ๋๋ฅผ ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก SQL ์ฟผ๋ฆฌ ์์ ๋ฅผ ์๊ฐํ๊ณ ์์ต๋๋ค. SQL ๊ธฐ์ด - 11. ํจ์ (์ค์นผ๋ผ ํจ์, ๋ฌธ์์ด ํจ์, ๋ฐ์ดํฐ ํ์ , ๋ ์ง์ ์๊ฐ) ์ฌ์ค DBMS๋ง๋ค ํจ์๋ ๋ค๋ฅด๊ณ ์ข ๋ฅ๋ ๋ค๋ฅด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ํจ์๋ฅผ ์ ๋ถ ์ธ์ธ ํ์๋ ์๋ค. ๋๋ต์ ์ผ๋ก ์ด๋ค ํจ์๊ฐ ์กด์ฌํ๋์ง๋ฅผ ํ์ ํด ๋ ํ, ํ์ํ ํจ์๋ฅผ ๊ทธ๋ ๊ทธ๋ ์ฐพ์์ ์ฐ๋ ๋ฐฉ์์ด ๋ ํจ์จ์ ์ผ ์๋ ์๋ค! ์ด ๊ธ์์๋ ์ค๋ผํด์ ๊ธฐ์ค์ผ๋ก ์์ฃผ ๋์ค๋ ํจ์ ๋ชฉ๋ก์ ์๊ฐํ๋ฉฐ, ์์๋ฅผ ํตํด ์ค๋ช ํ๋ค. ์์นํจ์ ๋ฌธ์์ด ํจ์ ๋ฐ์ดํฐ ํ์ 1. ์์นํ 2. ๋ฌธ์ํ 3. ๋ ์งํ 4. ANSI ํ์ค ํ์ -- AVG, TRIM, ROUND ๋ฑ์ ๊ฐ๋จํ ์ฐ์ฐ์๋ ์ง์ ์ค์ตํด๋ณด์. SELECT AVG(score) FROM t..