Errors in Code
This is a very useful class and I thank you for posting it. I'm not sure if it was developed under an older version of Ogre, but I had to make a few changes to get it to compile. I also had to make a few changes to get the proper results. Maybe I don't fully understand how the lens flare should look, but it wasn't moving around with the view as I looked around the light source. I won't make the changes to the actual code, because that would drive me nuts if someone else did that to me, so I'll just list them here.
- In Destructor: renamed removeBillboardSet() to destroyBillboardSet()
mSceneMgr->destroyBillboardSet(mHaloSet);
- In createLensFlare: VOIDOBJECT was not a valid QueryFlag. Changed to 0
mBurstSet->setQueryFlags(0);
- In update(): LightDistance was just the length of the position vector for the light. Changed to be the distance from the camera to the light.
Vector3 camPos = mCamera->getPosition(); Real LightDistance = (camPos - mLightPosition).length();
- In update(): The CameraVec didn't take into account the camera's position, so it was always relative to the scene's origin, not the camera. Added the camera's position.
CameraVect = mCamera->getPosition() + (LightDistance * CameraVect);
Moohasha 21:20, 8 April 2008 (BST)