Replaced more direct requestResidency calls with KRResourceRequest's
This commit is contained in:
@@ -221,6 +221,18 @@ float KRLight::getDecayStart() const
|
||||
return m_decayStart;
|
||||
}
|
||||
|
||||
void KRLight::preStream(const KRViewport& viewport, std::list<KRResourceRequest>& resourceRequests)
|
||||
{
|
||||
KRNode::preStream(viewport, resourceRequests);
|
||||
|
||||
// Pre-stream sprites, even if the alpha is zero
|
||||
m_flareTexture.bind(&getContext());
|
||||
|
||||
if (m_flareTexture.isBound()) {
|
||||
resourceRequests.emplace_back(m_flareTexture.get(), KRTexture::TEXTURE_USAGE_LIGHT_FLARE);
|
||||
}
|
||||
}
|
||||
|
||||
void KRLight::render(RenderInfo& ri)
|
||||
{
|
||||
KRNode::render(ri);
|
||||
@@ -338,7 +350,7 @@ void KRLight::render(RenderInfo& ri)
|
||||
}
|
||||
|
||||
if (ri.renderPass->getType() == RenderPassType::RENDER_PASS_PARTICLE_OCCLUSION) {
|
||||
if (m_flareTexture.isSet() && m_flareSize > 0.0f) {
|
||||
if (m_flareTexture.isBound() && m_flareSize > 0.0f) {
|
||||
KRMesh* sphereModel = getContext().getMeshManager()->getMesh("__sphere");
|
||||
if (sphereModel) {
|
||||
|
||||
@@ -385,7 +397,7 @@ void KRLight::render(RenderInfo& ri)
|
||||
}
|
||||
|
||||
if (ri.renderPass->getType() == RenderPassType::RENDER_PASS_ADDITIVE_PARTICLES) {
|
||||
if (m_flareTexture.isSet() && m_flareSize > 0.0f) {
|
||||
if (m_flareTexture.isBound() && m_flareSize > 0.0f) {
|
||||
|
||||
if (m_occlusionQuery) {
|
||||
int params = 0;
|
||||
@@ -393,10 +405,6 @@ void KRLight::render(RenderInfo& ri)
|
||||
GLDEBUG(glDeleteQueriesEXT(1, &m_occlusionQuery));
|
||||
|
||||
if (params) {
|
||||
m_flareTexture.bind(&getContext());
|
||||
|
||||
if (m_flareTexture.isBound()) {
|
||||
m_flareTexture.get()->requestResidency(0.0f, KRTexture::TEXTURE_USAGE_LIGHT_FLARE);
|
||||
KRMeshManager::KRVBOData& vertices = getContext().getMeshManager()->KRENGINE_VBO_DATA_2D_SQUARE_VERTICES;
|
||||
|
||||
// Render light flare on transparency pass
|
||||
@@ -424,7 +432,6 @@ void KRLight::render(RenderInfo& ri)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,7 @@ public:
|
||||
void setFlareOcclusionSize(float occlusion_size);
|
||||
void deleteBuffers();
|
||||
|
||||
virtual void preStream(const KRViewport& viewport, std::list<KRResourceRequest>& resourceRequests) override;
|
||||
virtual void render(RenderInfo& ri) override;
|
||||
|
||||
int getShadowBufferCount();
|
||||
|
||||
@@ -328,7 +328,7 @@ void KRModel::preStream(const KRViewport& viewport, std::list<KRResourceRequest>
|
||||
m_lightMap.bind(&getContext());
|
||||
|
||||
if (m_lightMap.isBound()) {
|
||||
m_lightMap.get()->requestResidency(lod_coverage, KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
resourceRequests.emplace_back(m_lightMap.get(), KRTexture::TEXTURE_USAGE_LIGHT_MAP);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user