GameProgramming/DirectX11

DirectX11 박스 여러개 생성 코드 도중 버그

디벨로프드림 2020. 5. 11. 18:14
반응형

상자를 80 모두 랜덤 값으로 생성해서 보여주는 코드 그러나

아래처럼 하나의 상자 보임, 80개가 보여야함

코드를 분석해보니, 80개가 생성되기는 했는데 튜토리얼 코드와는 다르게

모두 일정한 값을 보이고 있음

 

 

원인

std::mt19937 을 전달할 때는 꼭 레퍼런스로 전달해야함, 그렇지 않으면 랜덤값을 전달할 때마다, std::mt19937  내부에 있는 랜덤 값 배열 인덱스가 바뀌지 않음, 즉 같은 값만 전달이됨

 

 

 

std::mt19937 개체를 pass by value 로 했을경우

_Idx 가 바뀌지 않는다

 

 

pass by reference

_Idx가 바뀌고 있다

 

 

 

정상 실행 결과

반응형