게임프로그래밍 공부하는 블로그

고정 헤더 영역

글 제목

메뉴 레이어

게임프로그래밍 공부하는 블로그

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (25)
    • 게임엔진공부 (14)
    • unreal4 (0)
    • unity (2)
    • c++ (3)
      • 디자인패턴 (1)
    • C# (1)
    • 프로그래밍 용어 (1)
    • 시스템 프로그래밍 (2)

검색 레이어

게임프로그래밍 공부하는 블로그

검색 영역

컨텐츠 검색

게임엔진공부

  • 투영벡터

    2019.12.19 by 뿡뿡이형

  • 왼손좌표계와 오른손 좌표계

    2019.12.19 by 뿡뿡이형

  • 삼각형 내부 외부 판별

    2019.12.19 by 뿡뿡이형

  • 브레즌햄 알고리즘

    2019.12.18 by 뿡뿡이형

  • backspace culling

    2019.12.18 by 뿡뿡이형

  • 엔진 공부 정리

    2019.12.18 by 뿡뿡이형

투영벡터

투영벡터란 OA벡터를 OB벡터에 투영한다는건 OH벡터를 구하겠다는 소리다. OA · OB를 내적하면 OH의 길이를 알 수있다. 길이를 알았다면 OB를 정규화해 그 벡터를 곱하여 OH벡터를 얻을 수 있다. 그러므로 (OA · OB) /normalize(OB) 로 OH를 얻을 수 있다. 출처: https://www.youtube.com/watch?v=IOf1o72aKDc

게임엔진공부 2019. 12. 19. 19:36

왼손좌표계와 오른손 좌표계

왼손 좌표계는 화면의 안쪽을 Z축으로 두고 오른손 좌표계는 화면 바깥쪽으로 Z축을 둔다. 왼손좌표계는 회전축을 기준으로 시계방향으로 축 회전이 일어나고 오른손좌표계는 회전축 기준으로 반 시계방향으로 회전이 일어난다. (각 손 좌표계를 그 손의 엄지를 세운채 손가락이 돌아가는 방향으로 회전한다고 생각하면 편하다.) ps. 다이렉트 X는 왼손 좌표계 OpenGL은 오른손 좌표계를 사용한다.

게임엔진공부 2019. 12. 19. 15:02

삼각형 내부 외부 판별

2D상의 임의의 점 P가 3개의 점 A,B,C로 이루어진 삼각형 안에 있는지 판단해보자 왼손 좌표계 기준 AP X AB를 하면 y값(가운데 값)이 0보다 큰 벡터가 나올것이다. 다음으로 BP X BC를 계산하면 y값이 0보다 큰 벡터가 나온다. 다음으로 CP X CA를 계산하면 y값이 0보다 큰 벡터가 나온다. 이걸로 점 p는 삼각형 안에 있다는걸 증명해냈다. 왼손 좌표계 기준 AP X AB를 하면 y값이 0보다 큰 벡터가 나올것이다. 다음으로 BP X BC를 계산하면 y값이 0보다 큰 벡터가 나온다. 다음으로 CP X CA를 계산하면 y값이 0보다 작은 벡터가 나온다. 마지막 벡터 y가 0보다 작으니 점이 삼각형 밖에 있다는 것이다. 외적의 성질중 왼쪽 오른쪽을 판별하는 성질을 이용한 것이다. 시간이 ..

게임엔진공부 2019. 12. 19. 12:04

브레즌햄 알고리즘

우리가 스크린에 직선을 그릴때 그리게 될 점의 좌표는 정수기 때문에 계산량이 많은 실수 보다는 비교적 계산량이 적은 정수를 이용해 계산하는게 합리적이다. 실수를 이용한 직선의 방정식을 정수만 이용해 계산하게 만든 알고리즘이 브레즌햄 알고리즘이다. 먼저 두 점을 지나는 직선의 방정식을 보면 아래와 같다 : y=a * x+b a는 기울기 b는 절편이다. 예를 들어 (2, 1) 과 (6, 4)를 지나는 직선의 점들 중 x가 4일때 y의 값은 : y = 3/4 * 4 + 0.5 y = 2.5 이걸 브레즌햄 알고리즘에 적용시켜보자. 브레즌 햄 알고리즘을 1사분면의 아랫쪽 기준으로 설명해보겠다. (말이 좀 이상하니 그림을 첨부한다.) (이렇게 나누는 이유는 직접 만들어 보면 깨닫게 될거라 생각한다.) f = hei..

게임엔진공부 2019. 12. 18. 16:18

backspace culling

3D 월드의 물체를 그릴때 계산할 버텍스가 많다면 컴퓨터가 계산할 양이 많아진다. 그러니 그 부하를 덜어줄 필요가 있다. 그중 한 방법이 백스페이스 컬링인데. 백스페이스 컬링을 간단하게 설명하자면 우리를 바라보는 삼각형은 그려주고 아닌 삼각형을 그리지 않는것이다. 물체가 있을때 우리가 볼 수 없는 부분을 굳이 컴퓨터가 그려서 계산하게 하지 않는 것이다. 그럼 그걸 어떻게 판별하느냐. 삼각형이 v1, v2, v3 3개의 정점으로 이루어 져있을때, 삼각형의 법선 벡터를 일반적으로 (v2 - v1) X (v3 - v1) 이렇게 구한다. 외적을 통해 벡터가 나왔다면 이 벡터와 카메라 포워드 벡터의 내적을 구한다. 내적의 값이 0보다 작으면 삼각형을 그려주면 된다.

게임엔진공부 2019. 12. 18. 14:56

엔진 공부 정리

1. 선형 변환과 행렬의 관계 : https://bbungprogram.tistory.com/8 2. 오일러각 입력에 따라 Forward, Up, Right 벡터를 구하고 이를 토대로 3차원 회전 행렬 구하기 : https://bbungprogram.tistory.com/16 3. 카메라의 뷰 좌표계와 LookAt 행렬 유도하기 : https://bbungprogram.tistory.com/17 4. 벡터 내적 공식 유도 : a * b = |a||b|cosθ 유도하기 : https://bbungprogram.tistory.com/9 5. 투영 벡터 공식 유도 : https://bbungprogram.tistory.com/15 6. 평면의 방정식과 D의 의미 알아보기 : https://bbungprogra..

게임엔진공부 2019. 12. 18. 14:30

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
게임프로그래밍 공부하는 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바