私は通常、自営業のGoogle社員ですが、OpenGLシェーダ機能texture2DRect()
に関するドキュメントは見つかりません。誰もこれを前にして来たのですか?OpenGLシェーダ関数texture2DRect()のドキュメントはどこにありますか?
これは、openframeworksにシェーダーを書き込むためのサンプルコードで使用されているので、存在することを知っています。正常に動作していれば正式なドキュメントは見つかりません。この機能の詳細はどこで知ることができますか?
私は通常、自営業のGoogle社員ですが、OpenGLシェーダ機能texture2DRect()
に関するドキュメントは見つかりません。誰もこれを前にして来たのですか?OpenGLシェーダ関数texture2DRect()のドキュメントはどこにありますか?
これは、openframeworksにシェーダーを書き込むためのサンプルコードで使用されているので、存在することを知っています。正常に動作していれば正式なドキュメントは見つかりません。この機能の詳細はどこで知ることができますか?
その関数が2Dテクスチャ矩形(NPOTテクスチャターゲット)をサンプリングするために使用され、そしてそれはGL_ARB_texture_rectangle extensionの「OpenGLのシェーディング言語仕様のバージョン1.10.59への追加」で指定されています:。
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."
フォローアップの質問として、vec coordの範囲についての洞察を提供できますか引数?通常、テクスチャ座標は0と1の間ですが、この関数はそれらを別々に扱います。私が与えたリンクは、その範囲が0から幅または0から高さであることを詳述しています。何か不足していますか? – Alan
@Alan Ho - 私の使い方では、矩形テクスチャイメージの幅と高さをテクスチャ座標の制限として入力し、 'texture2DRect()'を使用して、イメージ内のすべての点からサンプルできます。あなたの幅/ 4の限界がどこから来ているのかは分かりません。 –
ブラッドさん、ありがとうございました。 – Alan
texture2DRect()
はOpenGLシェーディング言語の関数で、矩形の2の累乗以外のテクスチャをサポートするために、ARB_texture_rectangle拡張によって追加されたものと考えられます。
それを使用するには、あなたが、あなたのシェーダでsampler2DRect
均一を設定texture2DRect()
グラブを持っている必要がありますことから、色はちょうどあなたがtexture2D()
の場合と好き。これを使用しているMacアプリケーションでは、GL_TEXTURE_2D
の代わりにGL_TEXTURE_RECTANGLE_EXT
を使用してOpenGLテクスチャを作成する必要がありました。
私の質問hereに応じて、コスはこれを私に指摘しなければなりませんでした。
http://www.gamedev.net/topic/309853-glsl-and-non-power-of-two-textures/ –