4096 risk

A place for Ogre users to discuss non-Ogre subjects with friends from the community.
Post Reply
Godlike
Kobold
Posts: 27
Joined: Thu Jul 10, 2008 2:22 pm

4096 risk

Post by Godlike »

Cryptic title isn't it? :lol:

Well I don't know where to get this info so I'm asking in here.
What are the graphic boards that support textures up to 4096 pixels of size?
I mean, is there an approximate date of when they started to be sold on the market?
Is it safe to work out graphics using this texture size or am I going to cut off a lot of users?

Thank you :mrgreen:
User avatar
metaldev
Orc Shaman
Posts: 761
Joined: Thu Mar 17, 2005 11:56 pm
Location: Boston
x 15
Contact:

Re: 4096 risk

Post by metaldev »

isn't it the same deal as using 4 2k textures?
plenty modern games use at least that much of texture space on PC.
Godlike
Kobold
Posts: 27
Joined: Thu Jul 10, 2008 2:22 pm

Re: 4096 risk

Post by Godlike »

Joining same surface types on the same shader permits less drawcalls and for static meshes in maps it is a great performance helper, as you probably know.
This is why I ask this question: I have such a workflow that allows me to work out maps using so large textures but I am a bit scared about older machines, so I would know how much of my "clients" I would be cutting away or if I will need to implement a function to automatically scale textures that are too large for some boards.
And maybe to know which boards don't support 4096 or how to know it :mrgreen:
jjp
Silver Sponsor
Silver Sponsor
Posts: 597
Joined: Sun Jan 07, 2007 11:55 pm
Location: Cologne, Germany
Contact:

Re: 4096 risk

Post by jjp »

ATI supports 4096² since Radeon 1xxx (2006), NVidia since Geforce FX (2003). I don't know how it looks on Intel or S3 video cards. So if you want to support older high- or mid-end cards it might make sense to offer settings that use nothing larger than 2048².
Enough is never enough.
Godlike
Kobold
Posts: 27
Joined: Thu Jul 10, 2008 2:22 pm

Re: 4096 risk

Post by Godlike »

Uhm from Radeon it's pretty recent... I guess it's better if I'll ask my programmer a system to resize textures when needed :D
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Re: 4096 risk

Post by syedhs »

Merging 16 1024x1024 texture into 1 4096x4096 sounds like a good performance tips. In many cases, it trims batches count from 16 to 1.
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Re: 4096 risk

Post by PolyVox »

Godlike wrote:Joining same surface types on the same shader permits less drawcalls and for static meshes in maps it is a great performance helper, as you probably know.
This is why I ask this question: I have such a workflow that allows me to work out maps using so large textures but I am a bit scared about older machines, so I would know how much of my "clients" I would be cutting away or if I will need to implement a function to automatically scale textures that are too large for some boards.
And maybe to know which boards don't support 4096 or how to know it :mrgreen:
syedhs wrote:Merging 16 1024x1024 texture into 1 4096x4096 sounds like a good performance tips. In many cases, it trims batches count from 16 to 1.
You're basically right, though of course depending on how the textures are accessed you run the risk of reducing the effectivness of your texture cache. More importantly, be aware that it is very tricky to tile texture stored in this way as they so not sample correctly at the borders. If you have a robust solution to this problem I would like to hear it :-)
Godlike
Kobold
Posts: 27
Joined: Thu Jul 10, 2008 2:22 pm

Re: 4096 risk

Post by Godlike »

syedhs wrote:Merging 16 1024x1024 texture into 1 4096x4096 sounds like a good performance tips. In many cases, it trims batches count from 16 to 1.
Exactly, but for ease of workflow I'm only going for 1024x4096, so I can at least tile textures on one side and this comes helpful when modeling large areas like large walls.





@PolyVox: as you surely know the main trick is to use multiples of 2, or much better 8 (or even better 16 ;)), to store different textures on the same image.
This way even when objects are far and mips come into the game, you won't notice anything bad.

Another dirty trick for artists is to make border of textures in similar colours. So in example you will put on a brickwall with borders of bricks on the side, in a darker colour, and put textures with similar brightness one near to the other :)
Easy and intuitive, and it works, I grant it :D

Oh, and by the way as I wrote over here, I find it much comfortable to use only 1024x4096, so I can tile on one side at least.
Mapping proportion is not 1:1 but 1:4 and this is not very fun but I think any good UV mapper can deal with this.

Also, as I am working on very high quality textures, one of them 1024x4096 in PSD formato on HD is 350 MB at the moment, because I keep high-res inside the PSD file, I wouldn't be able to deal with bigger dimensions.

Last but not least, there are some other problems on the workflow side if you want to work with "too big" textures.
Yes, you would have the fastest possible rendering with the very less possible drawcalls, but once you want to maybe change something in the texture here comes hell: you must remap all your models :D and another couple subtle that arise in different occasions but nevertheless they very often arise and then you understand that it's not easy or really convenient to work with a single supertexture :D

Oh and by the way, do you know a tool from Nvidia called Texture Atlas? Maybe it's still used but I can't integrate it in my workflow anyway.
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Re: 4096 risk

Post by syedhs »

PolyVox wrote:More importantly, be aware that it is very tricky to tile texture stored in this way as they so not sample correctly at the borders. If you have a robust solution to this problem I would like to hear it :-)
The NVIDIA Texture Atlas Whitepaper addresses this in detail. I think all the source code is there minus texture coordinate recalculation.
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
Post Reply