It sets every used and intermediate bit to one, resulting in a number greater than the argument, and having the form (2^N)-1 for some N.
Adding one at the end rolls all those ones over to the next highest bit, giving 2^N, a power of two. 02.04.2011 3:16 пользователь "a a" <[email protected]> написал: > But i can't understand the following algorithm > > > function nextHighestPowerOfTwo(x) { > --x; > for (var i = 1; i < 32; i <<= 1) { > x = x | x >> i; > } > return x + 1; > } > > > 2011/4/2 a a <[email protected]>: >> My god, the following algorithm is very very brilliant from your >> provider url code. >> >> >> function isPowerOfTwo(x) { >> return (x & (x - 1)) == 0; >> } >> >> 2011/4/2 Dan Roberts <[email protected]>: >>> http://www.khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences >>> >>>> While OpenGL 2.0 and later for the desktop offer full support for >>>> non-power-of-two (NPOT) textures, OpenGL ES 2.0 and WebGL have only limited >>>> NPOT support. >>> >>> Chances are you're using OpenGL ES 1.1 anyways, unless the highest profile >>> is automagically selected for you when creating a context (I have no idea). >>> But if OpenGL ES 2.0 has only limited support, it seems likely NPOT is >>> almost entirely missing in 1.1 Someone more knowledgeable can correct me, >>> but this is likely at least close. Just use power of two sized textures, you >>> can pre-scale them is need be. >>> >>> Cheers, >>> Dan >>> >>> On Apr 1, 2011 6:24 PM, "a a" <[email protected]> wrote: >>>> Why should bitmap with 2, 4, 8, 16, 32, 64, 128.........otherwise, it >>>> will be white board? >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Android Developers" group. >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/group/android-developers?hl=en >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Android Developers" group. >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> For more options, visit this group at >>> http://groups.google.com/group/android-developers?hl=en >> > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

