You should avoid 2:1. It's all a bit tabu really, no one can really answer that question correctly, not even coders themselves, but indeed that memory allocation buffers don't like 2:1 textures too much, so all in all, I would avoid it.
And really, I only know of a couple exceptions where a 2:1 unwrap is more efficient than a 1:1.
Just use 1:1 as much as possible, they're easier to work too.
It's funny because we had the confirmation at work by the engine guys that it didn't make any performance hit on PC. The only problems showing seem to be the memory allocation on PC and consoles (which I probably cant speak of here).
I think there is the same issue with baking in 3DS Max, think I read that you can bake something like 2:1, but in reality it will render a 2:2 and then output a 2:1. So it 'waste' time/resources to render something you don't need. Better to just make a 1:1 map, maybe pack two models texture into the sheet.
well one example of efficient use for 2:1 maps was when i baked a sword. The sword blade was quite long, and there was little else on the sword. Theres no way i could have reasonably filled the rest of the UV space with just the hilt.
I actually used a 1:4 map for that if i recall correctly..
He is right, sometimes the Resource Compiler does have either a setting or a glitch that will transform your texture into a square. I have run into that personally.
No, your looking at the wrong thing. I am showing proof that HP is correct, notice that I zoomed and underlined the resolution, its 2kx4k, not square. So HP is correct, Cryengine definitely supports truly non square resolutions.
On the other hand, I have run into a glitch (or hidden setting?) that does what olli is talking about, making your rectangular texture into a square. So I can see where the confusion is coming from.
Do you Crytek Gents use the public SDK builds? They are a little glitchy you know.
well then i correct myself. I thought the preview showed the actual texture shape..
Currently im just confused about what the actual distinction between 2:1 and 1:1 is. As far as i know the UV space in max is ALWAYS 1:1, so if you "cheat" and squish your UV's in to (0.5, 1) scale, the map would still effectively be 1:1, but the UVs would just be stretched vertically. Then if you place a 2:1 texture map on top of that, the texture once again is scaled to fit the 1:1 UV space, meaning there will be 2 horizontal pixel rows per every vertical pixel row...
The 4096x2048 text you see on the material editor preview might just mean that the selected map is 2:1. It doesnt necessarily mean that the texture is actually displayed as 2:1 in the engine.. (does it?)
also computron, At least from what i've heard, the licensed version of the SDK is the exact same version as the free SDK.. Im not sure about what crytek uses internally. I would assume it to be the latest in-house stable build they have.
Impossible. I chcked and they were 2:1 (after export).
Well that's funny, everyone is claiming completly oppisite things in this thread and nobody aggree with anybody
thats possible but i was implying that the engine only uses half of the horizontal pixels.. I didnt code the engine though so i can't know for certain.
thats possible but i was implying that the engine only uses half of the horizontal pixels.. I didnt code the engine though so i can't know for certain.
Nah. I chcked it on model, and it worked fine. I use 2:1 pretty often for tileable textures.
yeah i did a few tests myself and seem that n:1 textures are totally useable in cryengine. I didnt find a way to measure the performance hit though, so i dunno if its actually worth using em.
ParoXum: incorrect use of internet badass meme, since he works at Crytek, I assume HP actually knows what he's talking about; therefore he is actually a badass. Minus 3 points to house Slitherin!
ParoXum: incorrect use of internet badass meme, since he works at Crytek, I assume HP actually knows what he's talking about; therefore he is actually a badass. Minus 3 points to house Slitherin!
Replies
You should avoid 2:1. It's all a bit tabu really, no one can really answer that question correctly, not even coders themselves, but indeed that memory allocation buffers don't like 2:1 textures too much, so all in all, I would avoid it.
And really, I only know of a couple exceptions where a 2:1 unwrap is more efficient than a 1:1.
Just use 1:1 as much as possible, they're easier to work too.
We use commonly non-square textures at work.
Except some of them are holding maps...
I actually used a 1:4 map for that if i recall correctly..
:P
But he is also wrong:
No, your looking at the wrong thing. I am showing proof that HP is correct, notice that I zoomed and underlined the resolution, its 2kx4k, not square. So HP is correct, Cryengine definitely supports truly non square resolutions.
On the other hand, I have run into a glitch (or hidden setting?) that does what olli is talking about, making your rectangular texture into a square. So I can see where the confusion is coming from.
Do you Crytek Gents use the public SDK builds? They are a little glitchy you know.
well then i correct myself. I thought the preview showed the actual texture shape..
Currently im just confused about what the actual distinction between 2:1 and 1:1 is. As far as i know the UV space in max is ALWAYS 1:1, so if you "cheat" and squish your UV's in to (0.5, 1) scale, the map would still effectively be 1:1, but the UVs would just be stretched vertically. Then if you place a 2:1 texture map on top of that, the texture once again is scaled to fit the 1:1 UV space, meaning there will be 2 horizontal pixel rows per every vertical pixel row...
The 4096x2048 text you see on the material editor preview might just mean that the selected map is 2:1. It doesnt necessarily mean that the texture is actually displayed as 2:1 in the engine.. (does it?)
also computron, At least from what i've heard, the licensed version of the SDK is the exact same version as the free SDK.. Im not sure about what crytek uses internally. I would assume it to be the latest in-house stable build they have.
Well that's funny, everyone is claiming completly oppisite things in this thread and nobody aggree with anybody
thats possible but i was implying that the engine only uses half of the horizontal pixels.. I didnt code the engine though so i can't know for certain.
Uhh so does he...
edit:lol somebody already mentioned it.