Tôi đang chuyển một kết cấu có kích thước NxM làm mẫu trong trình đổ bóng đoạn GLSL (OpenGL ES 2.0). Cách đúng để đọc dữ liệu texel từ texel lân cận là gì? Tôi không có tọa độ kết cấu "thay đổi" trong trình đổ bóng phân đoạn. Tôi chỉ có thể sử dụng phân đoạn mảnh để đọc thông tin về kết cấu.Trong OpenGL ES 2.0, Làm thế nào để đọc các phần tử lân cận từ một Sampler?
Sau đây là đổ bóng của tôi, tôi không chắc chắn nếu nó thực sự đọc dữ liệu:
precision mediump float;
uniform sampler2D Sampler;
#define OFFSET 1.0
void main()
{
vec2 T = gl_FragCoord.xy;
//Find neighboring velocities:
vec2 N = texture2D(Sampler,vec2(T.x,T.y+OFFSET)).xy;
vec2 S = texture2D(Sampler,vec2(T.x,T.y-OFFSET)).xy;
vec2 E = texture2D(Sampler,vec2(T.x+OFFSET,T.y)).xy;
vec2 W = texture2D(Sampler,vec2(T.x-OFFSET,T.y)).xy;
}
Là giá trị OFFSET nên là 1.0 hay cái gì khác cho kết cấu kích thước NxM?
Chính xác thì bạn đang cố gắng làm gì ở đây? – IDWMaster
@IDWMaster Tôi đoán truy cập các giá trị texel lân cận, như ông nói. Tôi không biết có cái gì đó không rõ ràng hoặc nếu nó quan trọng những gì anh ta thực sự muốn đạt được cuối cùng. –
Chào mừng bạn đến với StackOverflow, tôi hy vọng bạn đọc [FAQ] (http://stackoverflow.com/faq#howtoask). –