fix particle glow

This commit is contained in:
AzaezelX 2025-10-20 10:56:19 -05:00
parent 5d260bc58f
commit ab80a842aa
5 changed files with 20 additions and 3 deletions

View file

@ -1122,15 +1122,19 @@ void GFXGLShader::setConstantsFromBuffer(U8* buffer)
// Set sampler number on our program.
glUniform1i(handle->mDesc.bindPoint, handle->mDesc.samplerReg);
break;
case GFXSCT_Bool:
case GFXSCT_Int:
glUniform1iv(handle->mDesc.bindPoint, handle->mDesc.arraySize, (GLint*)(mGlobalConstBuffer + handle->mDesc.offset));
break;
case GFXSCT_Bool2:
case GFXSCT_Int2:
glUniform2iv(handle->mDesc.bindPoint, handle->mDesc.arraySize, (GLint*)(mGlobalConstBuffer + handle->mDesc.offset));
break;
case GFXSCT_Bool3:
case GFXSCT_Int3:
glUniform3iv(handle->mDesc.bindPoint, handle->mDesc.arraySize, (GLint*)(mGlobalConstBuffer + handle->mDesc.offset));
break;
case GFXSCT_Bool4:
case GFXSCT_Int4:
glUniform4iv(handle->mDesc.bindPoint, handle->mDesc.arraySize, (GLint*)(mGlobalConstBuffer + handle->mDesc.offset));
break;

View file

@ -495,7 +495,8 @@ void RenderParticleMgr::renderParticle(ParticleRenderInst* ri, SceneRenderState*
mParticleShaderConsts.mShaderConsts->setSafe( mParticleShaderConsts.mAlphaFactorSC, alphaFactor );
mParticleShaderConsts.mShaderConsts->setSafe( mParticleShaderConsts.mAlphaScaleSC, alphaScale );
mParticleShaderConsts.mShaderConsts->setSafe(mParticleShaderConsts.mGlowSC, ri->glow ? 1 : 0);
mParticleShaderConsts.mShaderConsts->setSafe( mParticleShaderConsts.mFSModelViewProjSC, *ri->modelViewProj );
mParticleShaderConsts.mShaderConsts->setSafe( mParticleShaderConsts.mOneOverFarSC, 1.0f / state->getFarPlane() );
@ -556,6 +557,7 @@ bool RenderParticleMgr::_initShader()
mParticleShaderConsts.mOneOverSoftnessSC = mParticleShader->getShaderConstHandle( "$oneOverSoftness" );
mParticleShaderConsts.mAlphaFactorSC = mParticleShader->getShaderConstHandle( "$alphaFactor" );
mParticleShaderConsts.mAlphaScaleSC = mParticleShader->getShaderConstHandle( "$alphaScale" );
mParticleShaderConsts.mGlowSC = mParticleShader->getShaderConstHandle("$glow");
mParticleShaderConsts.mFSModelViewProjSC = mParticleShader->getShaderConstHandle( "$fsModelViewProj" );
mParticleShaderConsts.mDeferredTargetParamsSC = mParticleShader->getShaderConstHandle( "$deferredTargetParams" );

View file

@ -112,6 +112,7 @@ protected:
GFXShaderConstHandle *mDeferredTargetParamsSC;
GFXShaderConstHandle *mAlphaFactorSC;
GFXShaderConstHandle *mAlphaScaleSC;
GFXShaderConstHandle* mGlowSC;
GFXShaderConstHandle *mSamplerDiffuse;
GFXShaderConstHandle *mSamplerDeferredTex;
GFXShaderConstHandle *mSamplerParaboloidLightMap;