Minority Opinions

Not everyone can be mainstream, after all.

3D Wish

leave a comment »

An article I read a few months ago was describing ways to improve 3D movies.  Later, while playing Ocarina of Time on the 3DS, the bit about texture came to mind.  As an early 3D game on what could now be considered an underpowered platform, it does as much as it can with very little.  The characters are well-drawn, but the scenery tends to be blocky straight walls with very flat textures.  It’s mostly forgivable, except for the vines.  The texture lets you climb up them, except that there’s no texture to see.  In 2D it’s forgivable, though occasionally surprising; in stereo vision it’s very jarring.

Even with my limited 3D programming experience, I understand the technical constraints.  Something like that would be a set of polygons, with patterns applied to them from a set of images.  A significant portion of the work would be done in hardware, a graphical processor with dedicated instructions for projecting the 3D points onto the 2D screen.  The stereo vision would be a very minor change, rendering the same scene with a pair of camera angles instead of just one.

Given that, is there any way to apply a texture to the polygons?  The pattern image is called a texture, but currently lacks depth.  Perhaps the alpha channel could be reinterpreted as a z-axis, if it’s getting transmitted at all.  Then again, if transparency makes more sense than I would currently give it credit for, perhaps depth would need another channel.

On the other hand, a simple depth could go seriously wrong.  The vines on certain walls seem to have leaves that should stick out a fair distance, implying a gap.  What should happen if you look behind that gap?  Should the leaf pixels be extended backwards to touch the wall?  That could work really well for the climbable walls on Death Mountain, which have a series of ledges, but leaves should be flatter.  Or perhaps the vines could be a separate layer from the wall in back, requiring two textures where we now see one.

Even bigger problems could arise at the joints with neighboring polygons.  With care, textured patterns could be designed to avoid gaps when joined at certain angles, but it would be extremely annoying to require that much precision at every edge.  Better would be an algorithmic adjustment, but is there an algorithm that would produce reasonable results in the majority of cases?

I know, I’m producing more questions than answers, but it’s not really my area of expertise.  It’s just something I know barely enough about to notice the potential for improvement.

Written by eswald

9 Aug 2011 at 10:02 pm

Posted in Technology

Leave a comment