Fix horse rendering: culling when looking up + fire debug texture (#899)
- Skip frustum culling for the entity the player is currently riding, preventing the horse from disappearing when looking up (fixes a bug reported on Discord) - Fix HorseRenderer::bindTexture() to delegate to base class for single textures (fire atlas, enchant glint), only using bindTextureLayers() for multi-layer horse textures Co-authored-by: MCbabel <MCbabel@users.noreply.github.com>
This commit is contained in:
@@ -55,8 +55,15 @@ void HorseRenderer::renderModel(shared_ptr<LivingEntity> mob, float wp, float ws
|
||||
|
||||
void HorseRenderer::bindTexture(ResourceLocation *location)
|
||||
{
|
||||
// Set up (potentially) multiple texture layers for the horse
|
||||
entityRenderDispatcher->textures->bindTextureLayers(location);
|
||||
if (location->getTextureCount() > 1)
|
||||
{
|
||||
// Set up multiple texture layers for the horse
|
||||
entityRenderDispatcher->textures->bindTextureLayers(location);
|
||||
}
|
||||
else
|
||||
{
|
||||
EntityRenderer::bindTexture(location);
|
||||
}
|
||||
}
|
||||
|
||||
ResourceLocation *HorseRenderer::getTextureLocation(shared_ptr<Entity> entity)
|
||||
|
||||
@@ -545,7 +545,8 @@ void LevelRenderer::renderEntities(Vec3 *cam, Culler *culler, float a)
|
||||
|
||||
for (auto& entity : entities)
|
||||
{
|
||||
bool shouldRender = (entity->shouldRender(cam) && (entity->noCulling || culler->isVisible(entity->bb)));
|
||||
bool isPlayerVehicle = (entity == mc->cameraTargetPlayer->riding);
|
||||
bool shouldRender = (entity->shouldRender(cam) && (entity->noCulling || isPlayerVehicle || culler->isVisible(entity->bb)));
|
||||
|
||||
// Render the mob if the mob's leash holder is within the culler
|
||||
if ( !shouldRender && entity->instanceof(eTYPE_MOB) )
|
||||
|
||||
Reference in New Issue
Block a user