Dynamic Texture and levels

Started by
4 comments, last by yoshscout 17 years, 5 months ago
normally i dont post my whole algorithm but heres my plan. Have a texture 1024 x 1024 then have n amount of levels in the texture all with width 1024 x 1024. level n-1 will be loaded somehow i want to upsample the middle 512 x 512 region of the higher level texture all the way down going texture by texture. i will pass the level to access in the y value of the vertices im not concerned with doing the upsampling this is easy i am concerned with making a dynamic texture that doesnt eat up my whole vram in one shot as i have heard dynamic textures are created multiple times. additionally, this texture will be accessed in the vertex shader. so the complications are as follows dynamic texture n amount of levels that are not mipmaps but same size as lvl 0 accesible in vertex shader(prolly R32F or R16F) AND another problem arises in another snipet where i need to send a whole vector to the vertex shader(if they could access D3DFMT_R5G6B5 in the vertex shader it would be perfect however ive tried it with no luck)
Advertisement
What you want is a volume, or 3D texture, with no mips.

As far as I know the only hardware that can read textures in the vertex shader are nVidia SM3 cards (6x00 and 7x00 cards), I think they can only read 4x32 bit float textures. While ATI supports SM3 in their X1x00 cards, they don't support vertex texture fetches.

If you can live with the limitation of only working in a huge pixel format, on a few cards, then you should be all set.
well i have the feeling that around direct x 10 as we move to unified architecture it wont be a problem. probably going to cut this texture down to 512 x 512 because 1024 x 1024 * (....we already at megabyte per wutever follows lol) a 16 byte format with possibly 10 levels deep. its not worth 160 mb of vram lol anyways i have 6600gt its working fine on my system prior to adding the volume
Anyone else find LockBox as humorous as myself?........ If we put all the money in this sort of lock box....
So now im trying to write a fragment program to render to this texture.... running into so much resistance. First there is the lack of access to the surface to do an RTT. Then i have all kinds of issues with texture access in the shader and even just locking the texture without doing RTT. I see the potential in this algorithm but i see some limitations. I would like to have the GPU do all the updates to the Volume if possible.

I have even completely worked out the popping artifacts and terrain holes in my head but i need to get past this brick wall. i know the vets prolly hate it when newbs like me come in here guns blazing trying to modify a great algorithm but i got some good ideas. i forsee being able to render 8km^2 without popping or rips in the terrain and at high fps but i need to get RTT to keep CPU uninvolved. is there any way to RTT in a volume texture? and even worse is there a way to make the texture later accessible in the vertex shader? Microsoft's algorithm uses a mip map but im modifying it a lot so i need equal sizes at each texture level
research yields DirectX unsupported super buffers or smashing it to a large "flat" texture

This topic is closed to new replies.

Advertisement