Glass

I’m making a game in a sci-fi setting and a character of mine has a glass-buble-space-helm. Like in a '50 c-class movie or comicbook.

My problem is that it’s not looking like glass at all.
I’ve set it as a bit transparent and as shiny as I can (all white gloss texture)…what else can I do? And I’m only looking for out-of-the-box options for low(-ish) end PCs… so custom shaders only if I can use them with the autoshader and only if You are willing to write that shader for me.

Any tips are welcome.

Try adding some reflection, with an environment map or so.

For the record, it’s a bit weird to use glass for this purpose. Glass is not very strong, usually one would use plastic to be able to withstand the atmospheric pressure.

Realism (or logic for that matter) has no place in the game I’m making :smiley:

This is what I have, and more or less what I’m aiming at
imageshack.us/photo/my-images/835/test11s.jpg/

I tried to add a environment map using a sphere map, but that’s not supported by the auto shader.

:pgraph(error): Unsupported TexGenAttrib mode

I did the same with a cube map…and got the same error (warning).

Even if I turn of the auto shader I see no change in the model.

This is how I tried to apply these (as per manual):

pc =loader.loadModel("pc_flag.egg")
buble=pc.find('**/buble')
tex = loader.loadCubeMap('Streetscene_cube_#.jpg')
buble.setTexGen(TextureStage.getDefault(), TexGenAttrib.MEyeCubeMap)
buble.setTexture(tex)

or

tex = loader.loadTexture('Streetscene_env.jpg')
ts = TextureStage('env')
ts.setMode(TextureStage.MAdd)
buble.setTexGen(ts, TexGenAttrib.MEyeSphereMap)
buble.setTexture(ts, tex)

What am I doing wrong?

Or maybe I can add an environment map to the egg file?

You might want to disable the shader generator for that particular object, then, using setShaderOff with an override value.

Besides a specular highlight (note that you can set the specular colour to a multiple of white like (10, 10, 10), this will give a stronger effect), the woman’s inverted fishbowl seems to glow around the edges. There are easy ways to fake that sort of effect. One way could be:
[Fake rim-lighting effect help)
Of course, you’ll need to disable the shader generator in that case too.

It might be just as easy to write your own shader for it, though. It’s not difficult, just some basic vector math. And you can use Cg’s “lit” function for the specular highlight. You could even add a more advanced refraction effect this way.

A custom shader would be a good solution if I only had one or could write one. But I’m not that smart. Read a book on CG but that didn’t help much.

For testing I did turn of the shader generator not only for that node but for render… there was no change to the look of the model. I think there’s something wrong with my model, it’s exported from max and I think it has a named Uv set or something like that. I had some truble changing textures in code with me own models in the past.

I don’t know if it’s all worth the truble…maybe I should just render a buble and stick it on a billboard?