|
From: Frank C <li...@si...> - 2004-07-13 05:13:20
|
On 13-Jul-04, at 12:54 AM, Keith Wiley wrote: > I have a trimesh with a texture. Actually, I have lots of these. In > the distance from the camera position I want to use lower res textures > on the object, basically lower dimension textures. For the moment, I > am considering not scaling down the mesh geometry by removing less > crucial vertices and triangles, just downsampling the texture. I > think there are three ways to do this. One is to use a mipmap and let > Quesa automatically generate the downsampled mipmaps. Actually, only pixmaps auto-generate mipmaps (this has long been a source of confusion with QD3D). > One is to create my own downsampled images and not let Quesa generate > mipmaps (I know how to do this) and transfer them to the trimesh > whenever the distance passes a crossover distance designating a switch > in resolutions. You could create your own mipmaps, but there's no need to switch them yourself - this happens automatically - depending on the texture quality filter setting. > ...The last way is to create multiple trimeshes during initialization, > each one containing identical geometry by varying dimensions of > texture. I then only submit the trimesh that is appropriate for the > present distance at any given time and ignore the other trimeshes > until I need them for their respective distances. If you're going to do that you might as well use lower resolution meshes as well, but in this case it's still more efficient to use one mipmapped texture anyway... There's a feature of QD3D that could help with dynamic mesh detail (LOD groups) but I'm not sure when (or if) that'll make it into Quesa. > Question 3: is there a fourth way to do this that I haven't thought of? Use pixmap textures and set the quality filter to mid or best and you get instant mipmaps. Well if you're using the current CVS source at least... Frank. |