오클루전 컬링 소스 코드

phoenixKim·2021년 9월 5일
0

소스코드

void Spider::Occulusion_Culling(const int& num)
{
	v_Spider[num]->b_Occlusion = false;
   	 //1.몬스터와 카메라의 Ray를 구함.
	Ray ray = CAMERA->Get_Mon_Ray(v_Spider[num]->box_Spider->position);
	
	for (int i = 0; i < OBSNUM; i++)
	{
		if (!obs_Mon[i])
			continue;
		//2.정적인 장애물에 존재하는 오클루더와 Ray 충돌시 컬링 진행함. 
		for (const auto & Obstacle : obs_Mon[i]->v_obs)
		{
			if (Obstacle->rect_occlusion->IsCollision(ray, &distance, &contact))
			{
            			//3.거리 비교
				if (Distance(v_Spider[num]->rect_ocllusion->position,
					CAMERA->GetPos()) > distance)
				{
					v_Spider[num]->b_Occlusion = true;
					break;
				}
			}
		}
	}
}
profile
🔥🔥🔥

0개의 댓글

관련 채용 정보