Changeset View
Changeset View
Standalone View
Standalone View
source/renderer/ParticleRenderer.cpp
Context not available. | |||||
for (int cullGroup = 0; cullGroup < CSceneRenderer::CULL_MAX; ++cullGroup) | for (int cullGroup = 0; cullGroup < CSceneRenderer::CULL_MAX; ++cullGroup) | ||||
{ | { | ||||
PROFILE("update emitters"); | PROFILE("update emitters"); | ||||
for (size_t i = 0; i < m->emitters[cullGroup].size(); ++i) | for (CParticleEmitter* emitter : m->emitters[cullGroup]) | ||||
{ | { | ||||
CParticleEmitter* emitter = m->emitters[cullGroup][i]; | |||||
emitter->UpdateArrayData(m->frameNumber); | emitter->UpdateArrayData(m->frameNumber); | ||||
emitter->PrepareForRendering(); | emitter->PrepareForRendering(); | ||||
} | } | ||||
Context not available. | |||||
// TODO: should batch by texture here when possible, maybe | // TODO: should batch by texture here when possible, maybe | ||||
} | } | ||||
void ParticleRenderer::Upload( | |||||
Renderer::Backend::IDeviceCommandContext* deviceCommandContext) | |||||
{ | |||||
for (int cullGroup = 0; cullGroup < CSceneRenderer::CULL_MAX; ++cullGroup) | |||||
phosit: range based for | |||||
vladislavbelovAuthorUnsubmitted Done Inline ActionsIt's enum, and we need to avoid the last element. vladislavbelov: It's enum, and we need to avoid the last element. | |||||
phositUnsubmitted Done Inline ActionsBut you are iterating over the whole array phosit: But you are iterating over the whole array | |||||
vladislavbelovAuthorUnsubmitted Done Inline ActionscullGroup doesn't reach CSceneRenderer::CULL_MAX. vladislavbelov: `cullGroup` doesn't reach `CSceneRenderer::CULL_MAX`. | |||||
phositUnsubmitted Done Inline ActionsCSceneRenderer::CULL_MAX is the size of the array: phosit: `CSceneRenderer::CULL_MAX` is the size of the array:
L40 `std::vector<CParticleEmitter*>… | |||||
vladislavbelovAuthorUnsubmitted Done Inline ActionsNow I see, yes, it makes sense. vladislavbelov: Now I see, yes, it makes sense. | |||||
for (CParticleEmitter* emitter : m->emitters[cullGroup]) | |||||
emitter->UploadData(deviceCommandContext); | |||||
} | |||||
void ParticleRenderer::RenderParticles( | void ParticleRenderer::RenderParticles( | ||||
Renderer::Backend::IDeviceCommandContext* deviceCommandContext, | Renderer::Backend::IDeviceCommandContext* deviceCommandContext, | ||||
int cullGroup, bool wireframe) | int cullGroup, bool wireframe) | ||||
Context not available. |
Wildfire Games · Phabricator
range based for