여러발의 탱크 구현 질문이 있습니다.
272
작성한 질문수 39
교수님 깃을 fork해서 multi bullet 구현을 해보았습니다.
unique_ptr를 이용해서 구역을 벗어나면 해당 unique_ptr를 reset해서 delete하게 구현했습니다. 구현간에 궁금한 점이 있습니다.
질문 1)
화면을 벗어났는지 범위를 체크하는함수를 isOutMap으로 구현했는데 Game2D Class의 width와 height와는 다른 단위(?)를 가진 것 같아서 할 수 없이 매직넘버를 어림잡아 넣게되었습니다. 어떤 값을 참고해서 범위를 재지정해야할가요?
OpenGL만의 그려지는 단위가 따로 있나요?
의문 1)
unique_ptr를 한정된 개수로 모아놓은 vector<unique_ptr<MyBullet>> bullets 으로 총알을 모아놓고 재활용하고 있습니다. 이렇게 렌더링하는 부분에서 반복문을 통해서 하나씩 비어있는지 체크하는 방식이 맞는 방식일가요?
답변 4
2
flyweight와는 다른데, 메모리 풀이 사실 최적화 중에서도 가장 까다로운 축에 속합니다. 게임 엔진 관련 서적에서 종종 다룹니다. 꾸준히 공부해나가시다 보면 확 뚫리는 날이옵니다. 특히 자료구조 알고리즘 공부도 슬슬 준비하시면 좋겠습니다.
2
보통 코드를 봐드리기는 어려운데 질문이 잘 정리되어 있어서 대답해드리기가 편하네요.
질문 1) 벗어났는지 체크하는 부분은 눈으로 봤을 때 이상하지 않은가가 1차적인 기준이 될거고 총알이 엄청나게 많아서 속도에 부담이 될 정도라면 조금이라도 빨리 없어지게 하는게 이익이겠지요. 정확하게 계산해본다면 물체가 완전히 벗어났을 때 랜더링 되지 않도록 결정해야겠지요. 스케일은 정의하기 나름입니다. 보통은 현실 좌표계와 비슷하게 맞춥니다. 사람 키가 대강 1이나 2 사이에 오게 한다든지.
의문 1) 일단 알고리즘에서 여러가지 더 효율적인 기술들을 배우게 되고 그것들을 응용해서 더 효율적인 메모리 풀(memory pool)을 만들 수 있습니다.
깃허브에서 받은 코드가 왜 강의코드랑 다를까요
0
73
1
Mac vscode 으로 시작하시려는 분들께
0
313
1
마우스 좌우 버튼을 동시에 눌렀을 때의 원의 위치
0
426
1
정답은 어디서볼수있나요?
1
346
2
예제코드
1
491
2
따배C++ 몇 강까지 학습한 후 수강가능 할까요?
1
643
1
15:00 부근 질문 있습니다.
0
420
1
(20.4 참고) 20.4에 해당하는 가이드 페이지가 어디있는지 모르겠습니다.
0
371
1
multimap 질문
0
354
2
도형들의 움직임이 너무 빠릅니다...
0
464
1
vcpkg 설치를 했는데
0
683
2
mutiple bullet 관련 질문 드립니다.
0
481
2
실행 후 화면 꺼짐
0
579
2
예제 파일 실행 시, 에러
1
558
1
아직 못풀어도 괜찮을까요?
0
500
1
코드 열었을 때 오류
1
807
3
코딩공부에 대해서 막히는부분
0
335
1
vcpkg 설치 오류
0
593
2
랜덤값 질문입니다.
0
425
1
vcpkg 다운로드에 문제를 겪고있습니다
1
423
1
if 문에 >= 대신 == 넣으면 작동을 하지 않는 이유가 무엇인가요.
0
283
1
multiple bullet 문제
0
316
1
프로그램 실행 순서 질문
0
273
1
2.2.2 상속으로 깔끔하게 init 메서드 질문
0
227
1





