Где я могу найти документацию по функции шейдера OpenGL texture2DRect ()? - PullRequest
4 голосов
/ 18 июля 2011

Я обычно самодостаточный Googler, но я не могу найти никакой документации по функции шейдера OpenGL texture2DRect().Кто-нибудь сталкивался с этим раньше?

Он используется в некотором примере кода для написания шейдеров в openframeworks, поэтому я знаю, что он существует, и он работает, просто не могу найти на нем никаких официальных документов.Где я могу узнать больше об этой функции?

Ответы [ 2 ]

8 голосов
/ 18 июля 2011

Эта функция используется для выборки прямоугольника 2D-текстуры (текстурной цели NPOT), и она указана в «Дополнениях к версии 1.10.59 спецификации языка шейдеров OpenGL» расширения GL_ARB_texture_rectangle

Add to section 8.7 "Texture Lookup Functions"

Syntax:

    vec4 texture2DRect(sampler2DRect sampler, vec2 coord)
    vec4 texture2DRectProj(sampler2DRect sampler, vec3 coord)
    vec4 texture2DRectProj(sampler2DRect sampler, vec4 coord)

Description:

    "Use the texture coordinate coord to do a texture lookup in the
    rectangle texture currently bound to sampler.  For the projective
    ("Proj") version, the texture coordinate (coord.s, coord.t) is
    divided by the last component of coord.  The third component of
    coord is ignored for the vec4 coord variant.

    No "bias" parameter or "Lod" suffixed functions for rectangle
    textures are supported because mipmaps are not allowed for
    rectangular textures."
2 голосов
/ 18 июля 2011

texture2DRect() - это функция языка затенения OpenGL, которая, как мне кажется, добавлена ​​расширением ARB_texture_rectangle для поддержки прямоугольных текстур без степени двух.

Чтобы использовать его, вам нужно настроить униформу sampler2DRect в своем шейдере, а затем texture2DRect() получить цвет из этого, как если бы вы использовали texture2D(). В приложении Mac, которое я использую, мне нужно было создать текстуру OpenGL, используя GL_TEXTURE_RECTANGLE_EXT вместо GL_TEXTURE_2D.

Кос должен был указать мне на это в ответ на мой вопрос здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...