Theo http://www.opengl.org/sdk/docs/man/xhtml/glFramebufferTexture.xml, một cuộc gọi đến glFramebufferTexture
sẽ trông giống như:Điểm của tham số mục tiêu văn bản cho glFramebufferTexture là gì?
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureId, 0);
Nếu API đã biết textureId
tại sao nó cần phải biết mục tiêu (GL_TEXTURE_2D
) quá? Điều này có nghĩa là kết cấu sẽ bị ràng buộc trước cuộc gọi này? tức là tôi cần gọi:
glBindTexture(GL_TEXTURE_2D, textureId);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureId, 0);
glBindTexture(GL_TEXTURE_2D, 0);
Hoặc sẽ glFramebufferTexture2D
xử lý mọi thứ?
Vì vậy, bạn có nói rằng tôi nên ngừng sử dụng 'glFramebufferTexture2D' và bắt đầu sử dụng' glFramebufferTextureLayer' thay thế không? Và tôi không cần phải lo lắng về việc ràng buộc các kết cấu trước và sau khi các cuộc gọi? –
@MarkIngram: Tôi đã thay đổi câu cuối cùng để làm rõ hơn. Và giải thích của tôi về lý do tại sao mục tiêu là có nên làm cho nó rõ ràng rằng bạn không cần phải ràng buộc các kết cấu; Tôi không có ý tưởng làm thế nào bạn thậm chí có ý tưởng đó. –
Cảm ơn Nicol, tôi đang sử dụng một kết cấu như đầu ra của một hoạt động GPGPU, vì vậy sẽ không được xử lý với các hình khối. Tôi đã có ý tưởng từ một số mã mẫu Apple, nhưng có thể là chúng không thể hủy kết cấu khi chúng được thực hiện với nó. –