All250 2D vector size를 통해 초기화 하는 법 2D vector를 사용할 때 미리 크기를 정해주고 싶을 때가 있다. 그럴 땐 다음과 같이 한다. size_t row = 3; size_t col = 4; vector v{ row, vector(col, 1) }; 위 2D 벡터의 초기화 결과는 다음과 같다. 2021. 9. 9. [Hackerrank] Sherlock and The Beast https://www.hackerrank.com/challenges/sherlock-and-the-beast/problem Sherlock and The Beast | HackerRank Find the largest number following some rules having N digits. www.hackerrank.com void decentNumber(int n) { if(n < 3) { cout 2021. 9. 8. 오브젝트 및 라이팅 생성 및 배치 테스트 2021. 9. 7. 세 종류의 라이팅 구현 (4) - SpotLight 편 개념이나 기술적으로 틀린 부분이 있을 수 있습니다. 있다면 알려주세요 ~ - 세 종류의 라이팅 구현(1) - 소개 편 https://woo-dev.tistory.com/269 세 종류의 라이팅 구현 (1) - 소개 | Directional Light, Point Light, Spot Light 게임 엔진에 구현된 대표적인 조명 3가지인 Directional Light, Point Light, Spot Light를 구현해볼 예정이다. 조명의 특징과 기능? 들은 언리얼 엔진을 참고할 예정. 세세한 기능보단 핵심적인 특징 구현에 woo-dev.tistory.com 마지막으로 구현해 볼 라이팅은 SpotLight이다. SpotLight는 특정한 위치에서 특정한 방향으로 원뿔(cone) 모양의 광선을 발사하는 광.. 2021. 8. 29. 픽셀 셰이더의 결과의 일부분이 카메라의 위치에 따라 검은색이 나온다면.. 나처럼 바보같은 실수를 하는 경우는 없겠지만 혹시나.. 회전 시스템을 쿼터니언으로 바꾸기 전엔 정상적으로 동작했다. 그런데 쿼터니언으로 바꾸고 이상하게 카메라의 위치에 따라 일부분이 계속 검은색으로 칠해졌다. 그래서 절대 검은색이 나올 수 없도록 조건에 따라 검은색에 가까운 색일 경우 다른 색으로 출력하도록 했는데도 계속 검은색으로 나왔다. 이전엔 정상적으로 동작했기 때문에 기존 셰이더 코드엔 문제가 없을 줄 알고 몇시간을 뻘짓했는데, 잘 살펴보니 조명 계산 중 dot 연산에 max 함수를 사용하지 않았었다.. 설마 설마하고 고쳐보니 잘 나온다. 쿼터니언으로 바꾸고 줄 지은 이상 현상들이 3~4개 연속으로 나와서 며칠동안 디버깅만 계속 했다.. 빨리 나머지 SpotLight를 구현해야겠다. 2021. 8. 28. 오일러 각 기반 회전 시스템을 쿼터니언으로 바꾸었다. 바꾸게 된 배경은.. SpotLight를 구현하다가 짐벌락(Gimbal lock) 현상을 겪고 쿼터니언에 대해 공부하게 되었다. 그리고 회전 시스템을 쿼터니언으로 바꾸던 도중 이상한 결과들이 발생해서 며칠동안 고생을 했다. 예상되는 원인은 쿼터니언 곱셈 순서와 쿼터니언을 생성할 때 전달하는 회전축의 문제였던 것 같다. 아래는 쿼터니언으로 변경한 회전 시스템 (카메라)의 이동 및 회전을 테스트한 영상이다. 그런데 영상 후반에 보이듯이 여전히 이상한 현상 하나는 존재한다. https://youtu.be/kSjaezcwVG8 2021. 8. 26. 이전 1 ··· 3 4 5 6 7 8 9 ··· 42 다음