인덱스 버퍼가 문제가 아니라 걍 내가 코드 수정하면서 기존 코드를 잘못 만졌네. 그래도 나 추리능력 ㄹㅇ 좋았다 ㄹㅇ ㅋㅋ
실행할때마다 화면에 그림이 그려질때도 있고 안그려질때도 있었음. 그리고 그림이 매번 다름. 심지어 박스 버텍스의 색을 모두 (1, 1, 1, 1)로 해놔서 무조건 흰색만 나와야 하는데 초록 파랑 빨강 다 나옴. 심지어 그 색도 실행할때마다 다르게 나옴.
한참을 고민하다가... 갑자기 생각히 팟! 하고 들었음.
실행할때마다 다르면 안되는건데 계속 변한다
-> 읽는 값이 계속 변한다
-> 메모리가 계속 변한다. 내 코드에서 계속 변할만한거 == 주소. 아 주소를 잘못 넣었나?
-> memcpy하는 부분 확인 (여기가 문제일거라고 절대 생각 못했음)
-> vector의 시작 원소의 주소를 넣어야 하는데, 그 vector를 포인터로 들고 있었음. 그리고 그 포인터를 그대로 넣었었음.
-> 수정하니까 잘 됨.
요약하자면
1. vector의 주소와 vector 원소의 시작 주소는 다른데, vector의 주소를 넣어서 실행할때마다 주소가 달라짐.
2. 매번 달라지는 값을 읽으니까 매번 화면이 다르게 나옴. 안나오거나 나오거나, 나와도 이상하게 나오거나.
하 기분 존나좋다 진짜
바보
상위 5%인데? ㅋㅋ
STL 이랑 c 함수 memcpy 같은 거랑 같이 쓰지마
나처럼 실수할 가능성이 큰가요?
벡터랑 memcpy가 어케 같은 곳에서 등장하냐?