목록전체 글 (3)
ㅁㄴㅇㄹ

개요 이 프로젝트는 컴퓨터 그래픽스 과제로 시작하게된 프로젝트이다. 과제 내용은 다음과 같은데 지금까지 배운 내용으로 본인의 사진을 찍어서 알아서 메쉬를 만들고 Opengl을 사용해 렌더링해보라는 것이다. 얼마나 정교하게 사진이랑 비슷하게 렌더링 하는지에 따라서 점수를 주는것 같다. 문제는 과제를 내준 시점에서 Vertex Shader에 관한 내용은 거의다 배웠지만 Fragment Shader에 관한 내용은 거의 못배웠다는 것이다. 라이팅, 백페이스 컬링정도까진 배우긴했는데 텍스쳐링을 못배웠다. 따라서 메쉬를 만들어서 Texture 씌워서 렌더링하는 짓은 못하고 폴리곤 하나 하나에다 색을 알아서 입혀야한다. 물론 사진으로부터 직접 폴리곤의 색을 본인이 결정하는건 웬만한 Artist적인 감각이 없으면 못할..

내가 해결한 방법은 다음과 같다. 1. 각 column의 높이를 담는 배열을 만든다. ( O(N^2) 이긴하나 case가 30 x 30이므로 900번만 계산하면됨 ) 2. 1에서 만든 배열을 바탕으로 board에서 위치를 찾고 stack에다 담는다. 3. moves만큼 반복문을 돌면서 높이는 계속 갱신해주고 stack의 top과 뽑은 인형을 비교해서 stack에 push하거나 pop한다. pop할때는 ans에 2만큼 추가해준다. stack만 알고있다면 알고리즘에 대해 따로 공부하지 않았어도 풀어볼만한 문제같다. 다만 비교적 코드수가 많이나와서 디버깅하는데 애를 꽤 먹었다. 실전에서 풀게된다면 디버깅 기능없는 웹 ide로 풀어야할텐데 생각보다 실전에서 풀기 힘들것 같다. #include #include #..

입출력 속도 빠르게 하는 방법 ios_base :: sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); 위의 코드를 main 함수 안에 넣어주면 된다. 백준에서 코딩테스트를 하다가 native한 cin, cout을 썼다가 타임아웃이 난 경험이 있다. cin, cout을 사용하는 사람이라면 꼭 붙여주자. 굳이 cstdio에서 printf, scanf를 사용 안해도 되서 c++로만 풀수 있어서 편리한것 같다.