Skip to content

코드에 오류가 있는것 같습니다. #30

@powercrabman

Description

@powercrabman
  1. 절두체 코드
image

현재 로직에서는 바운드 볼륨이 하나의 절단 평면과만 겹쳐도 렌더링을 수행합니다. 즉, 오브젝트가 어떤 절단 평면에 대해서는 절두체의 외부에 있더라도, 다른 평면과 교차하면 렌더링이 진행됩니다. 하지만 이 경우 실제로는 렌더링할 필요가 없는데도 불구하고, 잘못된 교차 판단으로 인해 렌더링이 이루어지는 문제가 있습니다.

image

원평면과 근평면을 매우 가깝게 설정하고 절두체 컬링을 수행해보겠습니다.

bandicam.2024-08-26.14-33-57-110.mp4

아무것도 안그려져야 정상이지만
상하좌우 평면에 겹침판정(Intersect) 이 발생할 시
렌더링이 수행됩니다.

image 코드를 이렇게 고치면 컬링이 잘 수행됨을 확인할 수 있습니다. image

더하여 사원수 회전 코드도 조금 이상하다고 생각합니다.
이런식으로 회전을 수행하게 되면

bandicam.2024-08-21.23-57-30-613.mp4

피치를 90도 혹은 270도 정도로 설정할 시 회전이 잘 안되는 현상이 발생합니다. (왜 그런지는 잘모르겠습니다. 오일러각과 사원수 사이는 일대일 대응되지 않아서 발생하는 문제라고 생각합니다.)

image

이런 식으로 그냥 사원수 곱으로 회전덧셈을 정의하면 버그가 사라지게 됩니다.

bandicam.2024-08-26.14-48-15-666.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions