Correct curvature.

Hey guys,

I’m at work, so I can’t verifiy this right now. So bare with me.

Am I right in thinking that if I render a triangle in OGL all it segments (ie: lines between a, b and c) will be straight (screenspace)? No matter what the FOV?

I ask this because I remember reading somewhere that OGL (and DX for that matter) on perform transformations on the vertex level. Hence my conclusion.

So I am further assuming that if one wanted to perform fish-eye lens type effects, one would have to either:
- Tesselate their geometry.
- Render with an actual ray-tracer.

What do you think?

Originally posted by MojoMagic:
[b]Hey guys,

I’m at work, so I can’t verifiy this right now. So bare with me.

What do you think?[/b]

Okay, keep your clothes on.

Tessellation is one approach. Ray-tracing isn’t necessary. You can render a 1st pass to textures and map that onto a deformed mesh for various lens effects.

Avi

You won’t get a fish-eye effect if you set the FOV really wide, because OpenGL doesn’t do true perpective, just an approximation.
Maybe you could make a vertex program to transform vertices correctly, but the rendering to texture method that Avi suggests is probably your best bet.

[This message has been edited by Don’t Disturb (edited 11-21-2003).]