[英]Java Android OpenGL ES 2.0 - fragment shader texture2D does not work
[英]Android OpenGL ES 2.0 shader texture2d RGB value range
我在Android上使用OpenGL ES 2.0,並且編寫了一個使用texture2d
獲取圖像RGB值的示例着色器。
vec4 v1 = texture2D(sTexture,textCoord);
float r = v1.r;
所以,是值r
范圍[0.0, 1.0]
或[0.0 255.0]
OpenGL ES 2.0僅支持歸一化值的紋理,這意味着紋理采樣操作返回的浮點值在[0.0,1.0]范圍內。
這意味着原始整數值除以范圍支持的最大值。 例如,對於8位值,原始值除以255.0,對於5位值,其原始值除以31.0,依此類推。
具有更多功能內容的OpenGL版本通常具有不適用的紋理類型。 它們可以具有整數類型的紋理,在着色器中對它們進行采樣時可以獲取原始整數值,也可以包含包含各種精度/范圍的浮點的浮點紋理。 但是ES 2.0不支持這些類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.