renderer: frustum test new chunks so newly generated chunks render to full view distance #175 (#344)
This commit is contained in:
@@ -2557,13 +2557,19 @@ void LevelRenderer::cull(Culler *culler, float a)
|
|||||||
{
|
{
|
||||||
unsigned char flags = pClipChunk->globalIdx == -1 ? 0 : globalChunkFlags[ pClipChunk->globalIdx ];
|
unsigned char flags = pClipChunk->globalIdx == -1 ? 0 : globalChunkFlags[ pClipChunk->globalIdx ];
|
||||||
|
|
||||||
|
// Always perform frustum cull test
|
||||||
|
bool clipres = clip(pClipChunk->aabb, fdraw);
|
||||||
|
|
||||||
if ( (flags & CHUNK_FLAG_COMPILED ) && ( ( flags & CHUNK_FLAG_EMPTYBOTH ) != CHUNK_FLAG_EMPTYBOTH ) )
|
if ( (flags & CHUNK_FLAG_COMPILED ) && ( ( flags & CHUNK_FLAG_EMPTYBOTH ) != CHUNK_FLAG_EMPTYBOTH ) )
|
||||||
{
|
{
|
||||||
bool clipres = clip(pClipChunk->aabb, fdraw);
|
|
||||||
pClipChunk->visible = clipres;
|
pClipChunk->visible = clipres;
|
||||||
if( pClipChunk->visible ) vis++;
|
if( pClipChunk->visible ) vis++;
|
||||||
total++;
|
total++;
|
||||||
}
|
}
|
||||||
|
else if (clipres)
|
||||||
|
{
|
||||||
|
pClipChunk->visible = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pClipChunk->visible = false;
|
pClipChunk->visible = false;
|
||||||
@@ -2572,6 +2578,7 @@ void LevelRenderer::cull(Culler *culler, float a)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LevelRenderer::playStreamingMusic(const wstring& name, int x, int y, int z)
|
void LevelRenderer::playStreamingMusic(const wstring& name, int x, int y, int z)
|
||||||
{
|
{
|
||||||
if (name != L"")
|
if (name != L"")
|
||||||
|
|||||||
Reference in New Issue
Block a user