рендеринг в текстуру с плавающей запятой под iOS

iPad теперь поддерживает OES_texture_half_float расширение. К сожалению, у меня возникли проблемы с привязкой текстуры с плавающей запятой к объекту фреймбуфера. Вот моя попытка:

GLuint textureHandle;
glGenTextures(1, &textureHandle);
glBindTexture(GL_TEXTURE_2D, textureHandle);
glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, 256, 256, 0, GL_LUMINANCE, GL_HALF_FLOAT_OES, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
assert(GL_NO_ERROR == glGetError()); // this passes

GLuint fboHandle;
glGenFramebuffers(1, &fboHandle);
glBindFramebuffer(GL_FRAMEBUFFER, fboHandle);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureHandle, 0);
assert(GL_FRAMEBUFFER_COMPLETE == glCheckFramebufferStatus(GL_FRAMEBUFFER)); // this asserts

Это отлично работает при замене GL_HALF_FLOAT_OES на GL_UNSIGNED_BYTE .

Это ограничение iOS или я что-то делаю неправильно?

-121--1517823- Могу ли я выбрать несколько элементов в LINQ? Допустим, у меня есть массив строк вроде этого: string [] foos = {"abc", "def", "ghi" }; Я хочу новую коллекцию, содержащую каждую строку и ее обратную сторону. Итак, результат должен быть: «abc», ...

Допустим, у меня есть массив из строк , например:

string [] foos = {
    "abc",
    "def",
    "ghi"
};

Мне нужна новая коллекция, содержащая каждую строку и ее обратную сторону. Результат должен быть таким:

    "abc",
    "cba",
    "def",
    "fed",
    "ghi",
    "ihg"

Я мог бы просто перебрать массив, но это довольно неуклюже:

string Reverse (string str)
{
    return new string (str.Reverse ().ToArray ());
}

List<string> results = new List<string> ();
foreach (string foo in foos) {
    results.Add (foo);
    results.Add (Reverse(str));
}

Есть ли способ сделать это в LINQ? Что-то вроде

var results = from foo in foos
    select foo /* and also */ select Reverse(foo)
6
задан Matthew 3 October 2010 в 16:30
поделиться