| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 줄 세우기
- C++
- RVO
- 오블완
- baekjoon
- GeeksForGeeks
- Effective C++
- NRVO
- RootMotion
- directx
- UnrealEngine5
- winapi
- IFileDialog
- const
- TObjectPtr
- UnrealEngine4
- Unreal Engine5
- 프로그래머스
- 2294
- Programmers
- softeer
- 1563
- DirectX11
- 백준
- 팰린드롬 만들기
- 티스토리챌린지
- UE5
- 언리얼엔진5
- algorithm
- C
- Today
- Total
목록분류 전체보기 (745)
Game Develop
많은 몬스터를 스폰시키면서 프레임을 지키려면 어떻게 해야할까..? 기본적으로 엔진자체에서 해주는 프러스텀컬링, 오클루젼컬링, 뭐 거리기반으로 하는 컬링.. 그리고 Precomputed Visibility Volumes 이라고, 생소한 최적화도 있다. 번역으로는 사전 계산된 가시성 볼륨... 인데, 특정 구간을 이 볼륨으로 씌우고, 그 공간에 한해서 '이 위치에 플레이어가 있을 때, 어떤 물체들이 보이는지 안 보이는지를 미리 기록' 해 두는 볼륨상자라고 표현 할 수 있다고 한다.그냥 런타임중에 실시간 계산하면 비용이 많이 드니, 미리 계산했다가 런타임 때 기록되어진 테이블을 조회만 해서 렌더에서 제외하는 방식이다라고 한다. 그러다 보니 동적메쉬보다는 스태틱메쉬위주로 적용되는 컬링방식이라는데, 무조건 스태틱..
객체를 복사해야 하는 경우(복사생성이나 대입연산), 말 그대로 모든 부분을 빠짐없이 복사해야 한다. 상속관계인 두 클래스가 있을 때, 자식클래스에서 복사생성을 정의할 경우 부모클래스의 복사생성은 호출되지 않는다.물론 따로 정의 안하면, 기본컴파일러가 부모것까지 얕은복사를 해준다. 자 그러면 여기서 자식클래스에서 복사생성자랑 대입연산자를 정의해보자. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include iostream>#include string> using namespace std; class Paren..
내 캐릭터 스킬중에는 스킬 시전 시, 뷰포트를 검은색 + 캐릭터는 파란색 + 몬스터는 하얀색 으로 렌더링 후, 플레이어가 몬스터한테 이동하면서 공격하고, 몬스터는 피격될 때마다 점차 빨갛게 바뀐다. 대충 이렇게... 이때 포스트프로세스용 머터리얼을 셋팅할 때... 아래의 사항을 빼먹으면 안된다. 1. 프로젝트설정에서 Custom Depth - Stencil Pass 항목을 Enabled With Stencil로 바꿀 것. -> 그래야 각 액터의 스텐실값을 인지한다. 2. 뷰포트 오른쪽의 Outliner에 Post Process Volume을 반드시 추가할 것. 저기 빨갛게 해놓은데서 Post Process Volume 추가하면 된다. 추가하면 Outliner에 있을텐데, Post Pr..
여기서 말하는 자기대입(self assignment)란, 어떤 객체가 자기 자신에 대해 대입연산자를 적용하는 것을 의미한다.대충 아래처럼? Widget w;w = w; 이게 왜 위험한가... 아래의 예시코드를 먼저 보자. 123456789101112131415161718 class Bitmap {}; class Widget{ public: Widget& operator= (const Widget& rhs) { delete pb; pb = new Bitmap(*rhs.pb); return *this; } private: Bitmap* pb;};Colored by Color Scriptercs 위의 예시코드는 안전하지 않은 대입연산자 코드이다.왜..
사실 Effective C++이라는 카테고리를 따로 걸어서 뭔가 올리고 있긴 한데, 다른 내 글들과 마찬가지로 사실상 숙지용? 글에 가깝다.책처럼 보기 좋게 쓰여진다기 보다는, 공부하다 혼잣말 하는 느낌의 글이라 생각한다.어차피 Effective 시리즈 관련 정리 글은 다른 분들이 잘 정리해서 올려주신게 많기 때문에... === === === === === === === === === === === === === === === === === === === === === === === === === === 부모와 자식클래스가 있고, 부모클래스에서 Test() 라는 가상함수를 선언했다고 가정해보자.그리고 자식에서는 그 가상함수를 오버라이드해서 뭐 이것저것 작성했고.그다음 이 가상함수를 부모의 생성자에서 ..
https://www.acmicpc.net/problem/1938 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515..
https://www.acmicpc.net/problem/2539 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106#include iostream>#include string>#include map>#include vector>#include algorithm>#include math.h>#include queue>#include functional>#include sstream>#..
https://www.acmicpc.net/problem/9024 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576#include iostream>#include string>#include map>#include vector>#include algorithm>#include math.h>#include queue>#include functional>#include sstream>#include memory.h>#include deque>#include set>#include unordered_set..