Archived

This topic is now archived and is closed to further replies.

MichaelNolan

Focus on detail at a wall

Recommended Posts

MichaelNolan    122
Hey I don''t know if anyone has ever tried this but when you get closer to a wall (in every game) the wall always shows nothing but the pixels your looking at. e.g. Wall: | <----Camera = less detail Wall: | <----Camera = more detail Has anyone tried and capture the same amount of detail as the second camera only looking through the first. I know this could be better explained but i''m in just a little rush so please try ur best to understand. Michael Nolan

Share this post


Link to post
Share on other sites
iNsAn1tY    476
So, you're saying that you want more detailed textures to be shown the closer you get to the wall? Try mip-mapping. You can start off with a highly detailed texture, then call gluBuild2DMipmaps() instead of glTexImage2D(). gluBuild2DMipmaps() will create, from your detailed texture, a group of smaller, less detailed textures which are displayed in place of the highly detailed texture at different distances. Basically, when you are close to the wall, the original high detail texture is displayed. When you are further from the wall, a smaller, less detailed texture is displayed. When you are further still from the wall, a very small, very low detail texture is displayed.

You can also create your own mipmaps, but personally, I've always used gluBuild2DMipmaps() to do it. Look at the Red Book for information on creating your own mipmaps...



Coding Stuff ->  [ iNsAn1tY Games | DarkVertex | How To Do CSG | Direct3D Vs. OpenGL | Google ]
Fun Stuff    ->  [ Evil T-Shirts | Stick-Based Comedy | You're Already Here | The Best Film Reviews ]


[edited by - iNsAn1tY on May 28, 2003 8:48:10 AM]

Share this post


Link to post
Share on other sites
iNsAn1tY    476
quote:
Original post by MichaelNolan
If it's really that simple then why haven't many ppl shown it in there works?
Well, consider this. If your texture is 128x128, then you need to generate six mip-maps (64x64, 32x32, 16x16, 8x8, 4x4, 2x2) to ensure a smooth transition from the large highly-detailed texture to the small low-detail texture. This means that you use more video memory than if you just loaded the large texture. In turn, you suffer from a low framerate (on some machines) if you mip-map all the textures you use.

In fact, many people show it. Professional software uses it all the time (on mid to high-end machines). Games such as Quake III and others use it. However, you might not have noticed it to much of an extent. Their surfaces are not of extremely high quality (when you get close to them) as they use low-res texture maps to begin with (around 128x128, 256x256), so the mip-maps are, of course, of a lower quality. But by using very high detail texture maps, (in the order of 1024x1024, 2048x2048 and even 4096x4096) the surface can be of extremely high quality when you get close up. The problem with these sizes of texture is that using them in real-time applications for more than a couple of surfaces is next to impossible, as there's just not enough video memory, and whole rendering pipeline slows as they have to be loaded from a disk cache. But this will get better with next-gen cards, and you'll be able to use truly massive textures...



Coding Stuff ->  [ iNsAn1tY Games | DarkVertex | How To Do CSG | Direct3D Vs. OpenGL | Google ]
Fun Stuff    ->  [ Evil T-Shirts | Stick-Based Comedy | You're Already Here | The Best Film Reviews ]


[edited by - iNsAn1tY on May 28, 2003 5:19:43 PM]

Share this post


Link to post
Share on other sites
blue_knight    194
Are you talking about detail maps, like the Unreal engines use where a high frequency (tiling) texture is faded in as you get close to a wall to add detail to the lower resolution texture that you always see on the wall?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
what you may be looking for is "detail texturing"

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
check out gametutorials.com for multi-texturing and detail texturing tutorials

Share this post


Link to post
Share on other sites
Xero-X2    184
One defeinte way, just like detail textures, that can allow must higher detail images, is just tiling. You use a texture map with lots of parts that can be tiled into a pattern or that make a pattern and you tile them in places, or use oen part here, one part there, or just make the texture repeat alot, tileing base textures can be very tricky tho, it requires good textures and you do do the tileing, with multiple polygons. For instance one excellent thing to visuallize this on it, a marble floor with stone insets and such.

you can tile the marble in the marble sections and use a stone texture for the stone parts, and these parts will form a rather remarkable way of fitting together. and in all aspects should make a remarkable visual. the textures will appear Must more High Res then they really are. the important thing to remember is that when you do this you must not let the person playing know it. kinda tricky but just another one of those tricky technenques.

Althouht all adding more detail methods use more power,

High res textures
Details textures
Tileing and reuseing textures

Highres textures are the worst because they Eat your video ram up like a spunge to a spill, but detail textures are an excellent choice. and while tileing is a nice choice also, it is alot harder to get away useing and will not work for all senarios.

Perhapes you could form a hybrid of all methods.

NOTE: this methods is not always made from diffrent textures and such. another Excellent Example is a Large section of floor. It is a large Marble diamond. you can make a singe quadrent of that whole Texture double the size and just lay the texture diffrenetly on the other 3 quadrents so they form the original diamond. you will not lose Video Ram that way.

bye.

Share this post


Link to post
Share on other sites