Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am using Ogre3D.

How can I implement an energy shield like this image?

In the picture, the shield is a semi-sphere, where I want to make it a sphere surround my object. The shield should be transparent (this should be adjustable). Can the community advise how to do this? Thanks.

share|improve this question
up vote 7 down vote accepted

I would use:

  • a semi-transparent sphere with a nice texture on it,
  • a collision detection system to understand where the sphere has been hit,
  • vertex and pixel shaders to implement ripples leaving from the contact point (maybe even with bump mapping, without actually displacing vertices).
share|improve this answer
And nice energy particle emitters at the point of contact that die out shortly after being spawned. – Dalin Seivewright Oct 29 '10 at 10:48

The magic in that screenshot is the Fresnel effect at the border. A plain transparent sphere with a texture is not sufficient. There is a demo in the Ogre programming book, but I don't know if sources are available.

share|improve this answer

For the "border" effect on the shield, you could try some Fresnel/Rim lighting shader.

share|improve this answer

Wouldn't that just be a sphere with a partially transparent texture on it? You would need to break it into discrete polygons, but any 3D modeling package will have a drawing tool for this. The shimmer effect might be a little trickier, not sure how complex you are looking for though. Are you trying to do that kind of rippling impact animation too? The "right way" would probably be to implement it as a geometry shader, but that might be a lot harder than you need.

share|improve this answer
The shimmer effect can be just changing the shading on the original sphere. That's good for my current goal. Thanks. – Stan Oct 30 '10 at 4:30

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.