Closed zer0nim closed 4 years ago
c'est pas juste le parametre near qui est pas bon ?
je croit pas qu'on utilise le frustum culling dans le projet
Si, je l'utilise pour ne pas afficher la map qu'on vois pas, on aurais pas les 60 fps sinon (tu te rappelle quand j'ai ajouté la map vous laguiez comme jamais 😁)
C'est uniquement activé pour les models sans animation, dans Mesh::draw
.
J'ai du mal calculer la _boundingBox
, je check quand j'ai finis les textures si tu veux vu que je l'ai codé, sinon pour voir le bug utilise le mode fps c
et rapproche toi d'un crispy.
void Mesh::draw(glm::mat4 const &model) const {
// don't draw Mesh outside camera range
if (!_openGLModel.isAnimated()) {
glm::vec4 newStartPoint = model * glm::vec4(_boundingBox.startPoint, 1.0);
if (_openGLModel.getCam().frustumCullingCheckCube(
glm::vec3(newStartPoint), _boundingBox.size) == FRCL_OUTSIDE) {
return;
}
}
...
c'est peut etre ma fonction qui bug mais les bounding box ne sont pas bien placés.
j'ai mis ca juste avant le _openGLModel.getCam().frustumCullingCheckCube
BoxCollider::drawBox(glm::vec3(newStartPoint), _boundingBox.size, {1, 1, 1, 1});
non mais je pense pas que ce soit t'a fonction, faut que je regarde pourquoi certains bounding box sont mal placées
C'est visible quand la camera bouge, surtout sur les pierres cassées, certaines se cachent trop tôt. Le code est dans
Mesh::draw
, la partie// don't draw Mesh outside camera range