Tôi có một đối tượng framebuffer, trong đó tôi sử dụng Multi Target Rendering trên N texture kết hợp với nó. Tại một thời điểm nhất định, tôi muốn xóa nội dung của một số kết cấu đó, nhưng không phải tất cả chúng. Nếu tôi gọiChỉ có thể xóa một số họa tiết nhất định trong bộ đệm khung với hiển thị đa mục tiêu?
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
mọi kết cấu được liên kết với FBO sẽ bị xóa (tôi có đúng không?). Có cách nào để thực hiện việc này trên các bộ đệm/họa tiết vẽ cụ thể không?
Cảm ơn bạn. Việc sử dụng thích hợp của glClearBufferfv là gì? Có phải glClearBufferfv (GL_COLOR_ATTACHEMENT0, 0, và màu [0]) không? (trong đó màu là mảng float [4]) – darius
@darius: "* glClearBufferfv *" lấy một mảng phao. Đó là những gì ["fv" luôn có nghĩa là] (https://www.opengl.org/wiki/Nomenclature#Function_suffixes). Trong trường hợp này, nó luôn luôn là 4 phao. Cũng giống như phiên bản 'iv' có 4 số nguyên đã ký (để xóa bộ đệm định dạng số nguyên) và' uiv' lấy 4 số nguyên không dấu. –
Cảm ơn bạn đã liên kết! Trên thực tế, phần tôi thực sự có nghi ngờ về là hai đối số đầu tiên. Nếu tôi hiểu đúng, chúng là GLenum của bộ đệm, và vị trí của nó trong mảng đệm màu của GLenum. Vì vậy, nói chung, các công cụ như GL_COLOR_ATTACHEMENT0 + i, i – darius