Ваш первый метод не использует биты самым эффективным способом. В первом примере вы используете шестнадцатеричное обозначение, и оно эквивалентно:
TEXTUREFLAGS_POINTSAMPLE = 1,
TEXTUREFLAGS_TRILINEAR = 16,
Во втором методе кажется, что вы просто увеличиваете на единицу каждый раз. Это не будет работать, когда вы комбинируете флаги, потому что объединенное значение может совпадать с другим флагом (например, 1 | 2 == 3).
Вы должны использовать эти значения вместо:
0x00000001 // == 1
0x00000002 // == 2
0x00000004 // == 4
0x00000008 // == 8
0x00000010 // == 16
0x00000020 // == 32
0x00000040 // == 64
etc...
Это полномочия двух, и их можно комбинировать, используя побитовый или любой другой способ, не создавая коллизий.