Notice
Recent Posts
Recent Comments
Link
관리 메뉴

λͺ©λ‘μ „체 κΈ€ (1099)

KoreanFoodie's Study

[OpenGL ES] 18κ°• : GPU ν…Œμ…€λ ˆμ΄μ…˜(Tessellation), λ³€μœ„ 맀핑(Displacement Mapping), 컨트둀 쉐이더, ν…Œμ…€λ ˆμ΄ν„°, 생성 쉐이더, PN-μ‚Όκ°ν˜•

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. GPU ν…Œμ…€λ ˆμ΄μ…˜μ„ μ΄μš©ν•΄ λ³΅μž‘ν•œ ν‘œλ©΄μ„ μ‹€μ‹œκ°„μ— 생성할 수 μžˆλŠ”λ°, λŒ€ν‘œμ μœΌλ‘œ λ³€μœ„ 맀핑(Displacement Mapping) κ³Ό PN-μ‚Όκ°ν˜•μ΄ μžˆλ‹€. μ‹€μ œλ‘œλŠ” λ³€μœ„ 맀핑을 많이 μ‚¬μš©ν•œλ‹€. 2. λ¨Όμ €, 컨트둀 μ‰μ΄λ”λŠ” 패치(patch) 정보λ₯Ό λ°›μ•„, ν…Œμ…€λ ˆμ΄μ…˜μ„ μ–Όλ§ˆλ‚˜ 잘게 μͺΌκ°œ 진행할지λ₯Ό ν…Œμ…€λ ˆμ΄ν„°μ—κ²Œ μ•Œλ €μ€€λ‹€. 그럼 ν…Œμ…€λ ˆμ΄ν„°λŠ” λ ˆλ²¨μ— 맞게 패치λ₯Ό μͺΌκ°œ μ •μ˜μ—­(Domain) 을 μƒμ„±ν•œλ‹€. 생성 μ‰μ΄λ”λŠ” 2차원 λ©”μ‹œμ˜ 각 μ •μ λ§ˆλ‹€ μ‚¬κ°ν˜• 패치의 ν•œ 점을 μƒμ„±ν•œ ν›„, ν•˜μ΄νŠΈ 맡(..

Game Dev/OpenGL ES 2023. 5. 19. 17:50
[OpenGL ES] 17κ°• : 베지어 곑선, λ“œ μΉ΄μŠ€ν…”μ‘° μ•Œκ³ λ¦¬μ¦˜, ν—ˆλ°‹(Hermit) 곑선, Bilinear Patch, 베지어 μ‚Όκ°ν˜•

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. 베지어 곑선은, 주어진 정점(control point)을 μž‡λŠ” 곑선이닀. 점이 N 개 μžˆμ„λ•Œ, N-1 μ°¨ 베지어 곑선을 λ§Œλ“€ 수 μžˆλŠ”λ°, κ·Έλƒ₯ μ„ ν˜• 보간을 μ—¬λŸ¬ 번 λ°˜λ³΅ν•΄μ„œ μ·¨ν•˜λ©΄ λœλ‹€. 이 기법을 λ“œ μΉ΄μŠ€ν…”μ‘° μ•Œκ³ λ¦¬μ¦˜μ΄λΌκ³  ν•œλ‹€. 2. ν…Œμ…€λ ˆμ΄μ…˜μ€, 컴퓨터가 곑선 및 곑면을 μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ, 베지어 곑선 및 곑면을 μž‘μ€ μ„ λΆ„μ΄λ‚˜ 폴리곀의 μ‘°ν•©μœΌλ‘œ μͺΌκ°œλŠ” 과정을 μ˜λ―Έν•œλ‹€. 간격이 μž‘μ„ 수둝 더 λ§€λˆν•œ 곑면을 λ§Œλ“€ 수 μžˆμ„ 것이닀. 컨트둀 포인트λ₯Ό κΈ°μ€€μœΌλ‘œ μ„ ν˜• 보간을 λ°˜λ³΅ν•˜μ—¬ 패치..

Game Dev/OpenGL ES 2023. 5. 18. 01:19
[언리얼] 언리얼 μ΅œμ ν™” ν”„λ‘œνŒŒμΌλ§ : λ©€ν‹° ν”Œλž«νΌμ„ μœ„ν•œ μ΅œμ ν™” λ“œλΌμ΄λΈŒ (언리얼 μ„œλ°‹ 2022) μš”μ•½

[언리얼] μ–΄λ–€ κ°œλ… : μ–΄λ–»κ²Œ ν•˜κΈ° 핡심 : 1. 2. 3. 언리얼 μ„œλ°‹ 온라인 2022 λ₯Ό ν›‘μ–΄ λ³΄λ©΄μ„œ, μ΅œμ ν™” 및 ν”„λ‘œνŒŒμΌλ§κ³Ό κ΄€λ ¨ν•œ λ‚΄μš©μ΄ μžˆμ–΄ 기둝차 μš”μ•½ν•΄ 보렀 ν•©λ‹ˆλ‹€. ν˜„μž¬ 개발 쀑인 버전이 언리얼5 κ°€ μ•„λ‹ˆλΌμ„œ μ•„μ‰¬μš΄ 뢀뢄은 μžˆμ§€λ§Œ... 일단 μ•Œμ•„λ‘λ©΄ λ§Žμ€ 도움이 되겠죠 πŸ˜… 언리얼 μ„œλ°‹ 온라인 2022 λ₯Ό 보며 λ‚΄μš©μ„ μ •λ¦¬ν–ˆμœΌλ‹ˆ, κΆκΈˆν•˜μ‹  뢄은 ν’€ μ˜μƒμ„ λ³΄μ‹œκΈΈ λ°”λžλ‹ˆλ‹€! πŸ˜„ Hitching 이 μ–Έμ œ λ°œμƒν•˜λŠ”μ§€ νŒŒμ•…ν•˜μ—¬ μ–΄λ–€ λΆ€λΆ„μ—μ„œ 병λͺ©ν˜„상이 λ°œμƒν•˜λŠ”μ§€ νŒŒμ•…ν•΄μ•Ό ν•œλ‹€. μΉ΄νŠΈλΌμ΄λ”μ˜ 경우 GameThread μ—μ„œ 병λͺ©μ΄ λ°œμƒν•˜μ—¬ 이λ₯Ό μ§‘μ€‘μ μœΌλ‘œ λ‹€λ£¨μ—ˆλ‹€κ³  함. κ°•μ˜μ—μ„œλŠ” 닀루지 μ•Šμ•˜μ§€λ§Œ... RenderThread 의 경우, PSO μΊμ‹œλ₯Ό 톡해 μ΅œμ ν™”λ₯Ό μ§„ν–‰ν•˜μ˜€λ‹€κ³  ν•œλ‹€. κ΄€λ ¨ λ‚΄μš©μ€ 곡식..

Game Dev/Unreal C++ : Dev Log 2023. 5. 14. 21:07
[언리얼] 언리얼 μΈμ‚¬μ΄νŠΈ : 언리얼 μ΅œμ ν™” ν”„λ‘œνŒŒμΌλ§

언리얼 μΈμ‚¬μ΄νŠΈ 핡심 : 1. 언리얼 μΈμ‚¬μ΄νŠΈλŠ” μ΅œμ ν™”λ₯Ό μœ„ν•΄ ν”„λ‘œνŒŒμΌλ§μ„ μ‰½κ²Œ λ„μ™€μ£ΌλŠ” μœ μš©ν•œ νˆ΄μ΄λ‹€. 2. κ²Œμž„ μ“°λ ˆλ“œ, λ Œλ” μ“°λ ˆλ“œ λ“± μ–΄λ””μ—μ„œ 병λͺ© ν˜„μƒμ΄ μΌμ–΄λ‚˜λŠ”μ§€λ₯Ό νŒŒμ•…ν•˜μž 3. λͺ¨λ°”일 κΈ°κΈ°λ‘œλ„ utrace λ₯Ό 내보내어 뢄석을 ν•  수 μžˆλ‹€! 언리얼 μΈμ‚¬μ΄νŠΈλΌλŠ” νˆ΄μ„ 톡해 언리얼 μ΅œμ ν™” 및 ν”„λ‘œνŒŒμΌλ§μ„ ν•œ 번 ν•΄ 보자! (λ§Œμ•½ μ†ŒμŠ€λΉŒλ“œμ—μ„œ μ‹œμž‘ν•  경우, UnrealInsight λͺ¨λ“ˆμ„ λΉŒλ“œν•˜λ©΄ UnrealInsights.exe 파일이 생긴닀. UnrealInsights-Win64-DebugGame λΌλŠ” 이름일 μˆ˜λ„ 있음 πŸ˜…) μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€ν–‰ν•˜λ©΄ Trace Sessions(트레이슀 μ„Έμ…˜) (1), Trace Store Directory(트레이슀 μŠ€ν† μ–΄ 디렉터리) (2) μ œμ–΄, New Conne..

Game Dev/Unreal C++ : Dev Log 2023. 5. 12. 19:26
[OpenGL ES] 16κ°• : μ „μ—­ μ‘°λͺ…, 레이 νŠΈλ ˆμ΄μ‹±, 그림자 κ΄‘μ„ , λ°˜μ‚¬κ΄‘, κ΅΄μ ˆκ΄‘, 라이트 맀핑, ν™˜κ²½ 맀핑, 큐브 맀핑

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. Phong λΌμ΄νŒ… λͺ¨λΈμ€ local illumination 을 λ§Œλ“€μ–΄λ‚΄λŠ” λ°λŠ” μœ μš©ν•˜μ§€λ§Œ, μ „μ—­ μ‘°λͺ…(Global Illumination) 을 μžμ—°μŠ€λŸ½κ²Œ λ§Œλ“€μ–΄λ‚΄κΈ° μœ„ν•΄μ„œλŠ”, 3 가지 좔가적인 μš”μ†Œλ₯Ό κ³ λ €ν•΄μ•Ό ν•œλ‹€. 즉, 그림자 κ΄‘μ„ (Shadow Ray), λ°˜μ‚¬κ΄‘(Reflection Ray), κ΅΄μ ˆκ΄‘(Transmitted/Refraction Ray) 을 λ°˜μ˜ν•΄μ•Ό ν•œλ‹€. 2. 레이 νŠΈλ ˆμ΄μ‹± 기법은 μž¬κ·€μ μœΌλ‘œ Ray 값듀을 κ³„μ‚°ν•˜μ—¬ 색상을 κ³„μ‚°ν•œλ‹€. 각 Ray λŠ” Primary Ray ..

Game Dev/OpenGL ES 2023. 4. 28. 00:27
[OpenGL ES] 15κ°• : μ‰λ„μš° 맀핑(Shadow Mapping), PCR(Percentage Closer Filtering), Hard Shadow vs Soft Shadow

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. μ‰λ„μš° 맀핑(Shadow Mapping) 은 그림자λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ Vertex Shader μ—μ„œ light source λ‘œλΆ€ν„° 각 surface μ κΉŒμ§€μ˜ κΉŠμ΄κ°’κ³Ό visibility 값을 μ €μž₯ν•˜λŠ” 기법을 μ˜λ―Έν•œλ‹€. 2. Pass 1 μ—μ„œλŠ” 각 ν‘œλ©΄κΉŒμ§€μ˜ κΉŠμ΄κ°’ z λ₯Ό, Pass 2 μ—μ„œλŠ” μ‹€μ œ μ κΉŒμ§€μ˜ 거리 d λ₯Ό μ €μž₯ν•˜μ—¬, 이λ₯Ό λΉ„κ΅ν•΄μ„œ Shadow μ—¬λΆ€λ₯Ό κ²°μ •ν•œλ‹€. Nearest Sampling κ³Ό Bilinear Interpolation λ‘˜ λ‹€ 별 도움은 λ˜μ§€ μ•ŠμœΌλ―€λ‘œ, PC..

Game Dev/OpenGL ES 2023. 4. 27. 14:42
[OpenGL ES] 14κ°• : 노말 맀핑(Normal Mapping), Height Map, νƒ„μ  νŠΈ 곡간(Tangent Space), Tangent-Space Normal Mapping

이 κ°•μ˜λŠ” μœ νˆ¬λΈŒμ— 무료둜 κ³΅κ°œλ˜μ–΄ μžˆλŠ” ν•œμ •ν˜„ κ΅μˆ˜λ‹˜μ˜ 컴퓨터 κ·Έλž˜ν”½μŠ€ κ°•μ’Œλ₯Ό μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ κ°•μ˜λ₯Ό 직접 λ“€μœΌμ‹œκ±°λ‚˜ 책을 κ΅¬μž…ν•˜μ…”μ„œ 확인해 λ³΄μ„Έμš”. κ°•μ˜ μžλ£ŒλŠ” κΉƒν—™ 링크에 μ˜¬λΌμ™€ μžˆμŠ΅λ‹ˆλ‹€. μš”μ•½ : 1. 고해상도 λ©”μ‹œμ—μ„œ, μ‹€μ‹œκ°„μœΌλ‘œ λΌμ΄νŒ…μ„ μ²˜λ¦¬ν•˜λŠ”λ°λŠ” λΉ„μš©μ΄ 많이 λ“€ 것이닀. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄, 노말 맀핑(Normal Mapping) κ³Ό 저해상도 λ©”μ‹œλ₯Ό μ‚¬μš©ν•˜μ—¬ 효율적으둜 κ·ΈλŸ΄λ“―ν•œ λΌμ΄νŒ… 효과λ₯Ό λ§Œλ“€μ–΄λ‚Ό 수 μžˆλ‹€. 2. 노말 맡을 λ§Œλ“œλŠ” λŒ€μ€‘μ μΈ λ°©λ²•μœΌλ‘œλŠ” Height Field κ°€ μžˆλ‹€. λ©”μ‹œμ—μ„œ ν•œ 점에 μΈμ ‘ν•œ 4개의 μ μ—μ„œ 각 2개의 점씩 μ§μ„ μ˜ 방정식을 λ§Œλ“  λ‹€μŒ, 두 직선 벑터에 λŒ€ν•΄ 외적을 μ·¨ν•˜λŠ” 방법이닀. 그럼 (x, y) μ’Œν‘œμ— λŒ€ν•œ z 의 값을 λ°©μ •μ‹μœΌλ‘œ ν‘œν˜„ν• ..

Game Dev/OpenGL ES 2023. 4. 27. 01:57