One more cup of drip coffee for the road
Courses
Reviews
- CUDA Programming (1) - C/C++/GPU Parallel Computing - CUDA Kernel
- Success and failure stories in the US IT industry
- 3D Graphics, Shaders, OpenGL for Game Developers (0B) - Open Sample Lecture 2
- 3D Graphics, Shaders, OpenGL (0A) for Game Developers - Open Sample Lecture
- 3D Graphics, Shaders, OpenGL (0A) for Game Developers - Open Sample Lecture
Posts
Q&A
cudaGetLastError() ์๋ฌ ์ฒ๋ฆฌ
๋ค ๋ง์ต๋๋ค.์๋ฌ๋ฅผ report ํ๋ค๋ ๊ฒ์ ์ฒ๋ฆฌํ๋ค๊ณ ํํํ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 9
Q&A
CUDA Samples ์์
์๋ ํ์ธ์.์ถ์ฅ ๊ด๊ณ๋ก, ๋ต๋ณ์ด ๋ฆ์์ต๋๋ค. ๋์์ ๊ฐ์์๋ ์ถ๊ฐ ์ค๋ช ์ผ๋ก ๋ค์ด๊ฐ ์์ต๋๋ค๋ง,CUDA ๋ฒ์ ์ ๋ฐ๋ผ, samples ํด๋๊ฐ ๊ฐ์ด ๋ฐฐํฌ๋๋ ๊ฒฝ์ฐ๋ ์๊ณ , github ์์ ๋ณ๋ ๋ฐฐํฌํ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.github ์ ์ฌ๋ ค์ ธ ์๋ samples ํ๋ก๊ทธ๋จ๋ค์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.๊ฒ์ํด ๋ณด๋, ๋ค์ ๋งํฌ๊ฐ ๋์ค๋ ๊ตฐ์.https://github.com/NVIDIA/cuda-samples๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 24
Q&A
24-2 3์ค for loop ๊ฐ์ ์ฑ ์ดํด๊ฐ ๊ฐ์ง ์์ต๋๋ค.
์๋ ํ์ธ์.24๋ฒ ๊ฐ์์ ์ด๋ ๋ถ๋ถ์ ๋ง์ํ์๋ ๊ฒ์ธ์ง ํ์ ์ด ๋์ง ์์ต๋๋ค.์ข๋ ์์ธํ๊ฒ, ๋ช๋ฒ ์ฌ๋ผ์ด๋ ์ค๋ช ์ธ์ง๋ฅผ ์๋ ค์ฃผ์๋ฉด ๋์์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 35
Q&A
transpose-shared.cu ๊ฐ ๋๋ฆฐ ์ด์ ์ ๋ํด์ ์ง๋ฌธ ์์ต๋๋ค.
์๋ ํ์ธ์.ํด๋น ํ๋ก๊ทธ๋จ์์์ ๋ฌธ์ ๋ ์๋นํ ๋จ์ด์ง memory๋ฅผ ์๊ตฌํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.์ํ๋ ๋ฉ๋ชจ๋ฆฌ address๋ฅผ ์ค์ ๋ก ๊ณ์ฐํด ๋ณด๋ฉด, ์๋นํ ๋จ์ด์ง memory ์ฃผ์๋ฅผ ์๊ตฌํ๋๊น, ์์ ํ ์๋ก ์ ์ฒด๋ฅผ ์ฝ์ด์ค๊ฑฐ๋, ์จ์ผ ํ๊ธฐ ๋๋ฌธ์ ์๊ธฐ๋ ๋ฌธ์ ์ ๋๋ค.์ด๋ ๊ฒฝ์ฐ๋ , ์บ์ฌ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๊ฐ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์๋ ์์๋ณด๋ค ํจ์ฌ ํฐ ์ํฅ์ ๋ผ์นฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 31
Q&A
๋น์ฃผ์ผ ์คํ๋์ค ํ์ผ
์๋ ํ์ธ์. Visual Studio ๊ฐ ์ค์น๋ ํด๋์ include ๋ lib ํด๋๋ฅผ ์ฐพ์ผ๋ฉด ๋ฉ๋๋ค.VS 2022 ๊ธฐ์ค์ผ๋ก๋ ํ์ค ์ค์น ์์, C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\include ํด๋๋ฅผ ์ฐพ์ ์ ์๊ณ ,์ฌ๊ธฐ๊ฐ include ํด๋ ์ ๋๋ค. C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.42.34433\lib\x64 lib ํด๋๋ ์์ ๋์ ์์ต๋๋ค. ๋์์์์๋ ์ค๋ช ํ์ต๋๋ค๋ง, ๋ฒ์ ์ ๋ฐ๋ผ์, 14.42.34433 ๋ผ๋ ์ซ์๋ ์ค์นํ VS ์ปดํ์ผ๋ฌ ๋ฒ์ ๋ง๋ค ๋ค๋ฅด๊ณ , update ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 33
Q&A
RGB ๊ฐ ๊ด๋ จ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์.์์ ๊ฐ์ด๋, reflection coefficient ๋ ๋ง์ํ์ ๋๋ก, 0.0 ~ 1.0 ์ฌ์ด์ ๊ฐ์ผ๋ก ์ค์ ํ๋๊ฒ ๋ง๊ณ , ์ค์ ๋ก ๊ทธ๋ ๊ฒ ์ค์ ํ๊ณ ์์ต๋๋ค. ๋ฌธ์ ๋ light source ์ ๊ฒฝ์ฐ์๋ ๋น์ ์์๋ ์ค์ํ์ง๋ง, ๋น์ ๊ฐ๋(intensity) ๋ ํํํ๊ณ ์๋ค๋ ์ ์ ๋๋ค. Phong ์ ์์์ ๋ณด๋ฉด, ํนํ point light source ์ ๊ฒฝ์ฐ, ๊ฑฐ๋ฆฌ(distance)์ ๋ฐ๋ฅธ attenuation term์ ์ ์ฉํ๊ณ ์๋๋ฐ, ์ด ๋๋ฌธ์, ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ์ intensity๊ฐ ๊ธ๊ฐํ ์ ์์ต๋๋ค. ์ด ๋๋ฌธ์, attenuation coefficient ๋ค์ ์ ์กฐ์ ํ๊ฑฐ๋, ๋๋ light intensity๋ฅผ ๋์ฌ์, ๊ฑฐ๋ฆฌ๊ฐ ๋จ์ด์ ธ ์์ด๋ Phong ์์์์ ์ ๋นํ ๋ฐ๊ธฐ๊ฐ ๋์ค๊ฒ ํ๋ ๋ฐฉ์์ ์ฐ๊ณ ์์ต๋๋ค.์ด ๋ถ๋ถ์ ์ต์ข ๋ฐ๊ธฐ๊ฐ ์ ์ ํ ๋์ค๋ฉด ๋๋ ์ ์ด๋ผ์, ๋น์ ๊ฐ๋๋ฅผ ์ ์ ํ ์กฐ์ ํด๋ ํฐ ๋ฌธ์ ๋ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 52
Q&A
vert_phong.vert negate ์ง๋ฌธ
์๋ ํ์ธ์.๊ฐ์๋ฅผ ์งํํด ๋๊ฐ๋ฉด์, ์๋ถ๋ถ์์๋ z ์ขํ๋ฅผ negate ํ๋ ๋ฐฉ์์ผ๋ก ์ขํ๊ณ๋ฅผ ์ ํํ์ต๋๋ค.๋ค์, projection ๋ถ๋ถ์ ์ค๋ช ํ๋ฉด์, projection matrix๋ฅผ ์ค์ ํ ๋, z ์ขํ ๋ถ๋ถ์ matrix ๋ด์์ ํ๋ฒ ๋ค์ง๋๋ก ํ์ต๋๋ค. ๊ทธ๋์, ๊ทธ ์ดํ๋ z negate ๋ถ๋ถ์ด vertex shader ์์ ์ญ์ ๋์์ต๋๋ค. ์ ํํ๋ projection matrix ์์ ์ด๋ฏธ z-negate ๋ฅผ ํ๋ ๊ฒฝ์ฐ๋ผ๋ฉด, vertex shader ์์ z-negate๋ฅผ ํ์ง ์์ต๋๋ค. ์์ ์ฝ๋๊ฐ ๋ฐ๋ก ์ฌ๊ธฐ ํด๋น๋ ๊ฒ๋๋ค. projection matrix๋ฅผ ๊ณ์ฐํ๋ ๋ถ๋ถ์ ์ฝ๋๋ฅผ ๊ฒํ ํด ๋ณด๋ฉด, ๊ฑฐ๊ธฐ์ ์ด๋ฏธ z-negate๋ฅผ ํ๊ณ ์์ ๊ฒ๋๋ค. ๊ฐ์ฌํฉ๋๋ค. ~
- 0
- 2
- 54
Q&A
glm-tri.cpp ์ glVertexAttribPointer ์ง๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์.ํ์ฌ ์ฌ์ฉํ์๋ ์ปดํจํฐ์ OS ๋ฅผ ์ ์ ์์๊น์.๊ทธ๋ฆฌ๊ณ , ์ด ํ๋ก๊ทธ๋จ ์ด์ ์ ํ๋ก๊ทธ๋จ๋ค์์๋ ์ ์ ์๋ํ์๋์ง๋ ์ฒดํฌ๊ฐ ํ์ํฉ๋๋ค.ํ์ฌ ๋ฐฐํฌ๋๋ ์์ ๋ค์ Win10/Win11 ๋๋ Linux ์์ pre-compiled header ๋ฅผ ๋ฐฐ์ ํ ํ๊ฒฝ์ ๋์์ผ๋ก ํฉ๋๋ค. ์๋ AI ์ธํด์์๋ ์ค๋ช ์ด ๋์ต๋๋ค๋ง, glVertexAtttribPointer ์ ๋ง์ง๋ง ์ธ์๋ memory address ๋๋ offset ๋ชจ๋ ๊ฐ๋ฅํ๋ฐ, offset์ผ๋ก ์ฐ๊ธฐ ์ํด์๋ vertex buffer ๋ฅผ ๋ง๋ค์์ด์ผ ํฉ๋๋ค.์ด ๊ฐ์ ๋ด์์๋ vertex buffer object๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค๋ง, ์์ง์ ์ ์ฉํ์ง ์์๊ธฐ ๋๋ฌธ์, memory address ๋ฅผ ์จ์ผ ๋ง๊ณ , ์ฌ๊ธฐ (void*)0์ ๋ฃ์๋๋ฐ, ์๋ํ๋ค๋ฉด, ๋ ์ด์ํ ์ํฉ์ ๋๋ค.glGenBuffers() ์ ๊ฐ์ ํจ์๊ฐ ํน์ ์ด๋์ ๊ฐ ์ฌ์ฉ๋์๋์?๋ฐฐํฌ๋ ์์ ์์๋ vertex buffer ์ฌ์ฉ์ด ์์๊ธฐ ๋๋ฌธ์, ์๋ํ์ง ์์์ผ ์ ์์ ๋๋ค.stride ๋ vertex buffer object ๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ถ์์ ์ถ๊ฐ ์ค๋ช ๋๋๋ฐ, 0 ์ผ๋ก ์ค์ ํ๋ฉด ์๋ ๊ณ์ฐ์ด ๋์ด์, compact packing ๋ ์ํ๋ก ๋ณด๊ธฐ ๋๋ฌธ์, ํ์ฌ ์ค์ ์์๋ 0์ผ๋ก ํ๋, 4 * sizeof(float) ๋๋ sizeof(glm::vec4)๋ก ํ๋ ๋์ผํ๊ฒ ์๋ํด์ผ ํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 47
Q&A
pitch๊ฐ์ ๋ฐ๋ฅธ alignement boundary(size) ์ง๋ฌธ
์๋ ํ์ธ์.ํด๋น ๋ถ๋ถ์ ๋ค์ ์ฒดํฌํด ๋ณด๋, ๋ง์ํ์ ๋ ผ๋ฆฌ ๋๋ก, 512 ๋ฐ์ดํธ๋ก ๋ณด๋ ๊ฒ์ด ๋ ํฉ๋นํด ๋ณด์ ๋๋ค.์๋ซ์ชฝ์ AI ๋ต๋ณ์๋ ๋์ ์๋ฏ์ด, CUDA ์์๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ์๋ alignment ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ ์ฉํ๊ธฐ๋ ํด์, 256 ๋ฐ์ดํธ, 512 ๋ฐ์ดํธ๊ฐ ์ ๋์ ์ผ๋ก ์ ์ฉ๋๊ธฐ๋ ํฉ๋๋ค๋ง, ์ด๋ฒ ๊ฒฝ์ฐ๋ 512๋ก ๋ณด๋ ๊ฒ์ด ๋ ์ ํฉํด ๋ณด์ ๋๋ค.๊ฐ์๋ฅผ ์ฌ๋ นํํ ๋, ์์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค. ~
- 0
- 2
- 89
Q&A
vulkan ๊ฐ์ ์ผ์
์๋ ํ์ธ์.๊ณ์ํด์ vulkan ์ ๋ํ ์ค๋น๋ฅผ ํ๊ณ ์์ต๋๋ค๋ง, ์ฌ๋ฌ๊ฐ์ง ์ฌ์ (ํด์ธ ์ถ์ฅ ๋ฑ) ์ผ๋ก ๋ฆ์ด์ ธ์ ์ฃ์กํฉ๋๋ค.์ผ๋ถ ์ดฌ์๋ ํ์ต๋๋ค๋ง, ๊ณ์ํด์ ์ค๋น๋ฅผ ์๋๋ฅด๋๋ก ํ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 84