2010-03-08 27 views
10

Tôi sử dụng glBindTexture() để liên kết kết cấu đã tạo trước đó. Sau hàm glBindTexture(), tôi sử dụng hàm glTexParameteri() để đặt bộ lọc MIN và MAG. Không có vấn đề cho đến nay.Độ bền của thông số kết cấu

Các thông số đó tôi đã đặt bằng cách sử dụng glTexParameteri() có ràng buộc với kết cấu hay chúng bị mất nếu tôi liên kết một kết cấu khác. Tôi có phải đặt lại chúng không?

glGenTexture(1, &tex1); 
glGenTexture(1, &tex2); 

/* bind tex1 and set params */ 
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1); 
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

/* do something */ 

/* bind tex2 and set params */ 
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex2); 
glTexImage2D(GL_TEXTURE_RECTANGLE_ARB, ...); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MIN_FILTER, GL_LINEAR); 
glTexParameteri(GL_TEXTURE_RECTANGLE_ARB, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 

/* do something */ 

/* bind tex1 again */ 
glBindtexture(GL_TEXTURE_RECTANGLE_ARB, tex1); 

/* do i have to set the parameters from above again or are they stored with tex1? */ 

Trả lời

10

Chúng được lưu giữ. Các trang hướng dẫn cho glBindTexture() nói:

Trong khi một kết cấu được ràng buộc, GL hoạt động trên mục tiêu mà nó là ràng buộc ảnh hưởng đến kết cấu bị ràng buộc.

Vì tham số đầu tiên là glTexParameter() là mục tiêu, chúng áp dụng cho đối tượng bị ràng buộc giống như glTexImage().

+0

cảm ơn vì đã làm rõ điều này :) – fen

Các vấn đề liên quan