Только в целях обучения я проверяю, что происходит, когда я вызываю glBlitFramebuffer, когда glReadBuffer и glDrawBuffer ссылаются на один и тот же буфер. Пользовательский фреймбуфер определяется следующим образом:
glBindFramebuffer(GL_FRAMEBUFFER, fboId);
render();
//now fboTexId is filled
glBindFramebuffer(GL_READ_FRAMEBUFFER, fboId);
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fboId);
glDrawBuffer(GL_COLOR_ATTACHMENT0);
glBlitFramebuffer(0, 0, w, h, 0, 0, w / 2, h / 2, GL_COLOR_BUFFER_BIT, GL_LINEAR);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
//render to the screen
renderTex(fboTexId);
Когда я отображаю текстуру fbo на экране, я получаю результат функции рендеринга — glBlitFramebuffer ничего не делает. Я ожидал получить результат функции рендеринга со вторым слоем сверху в два раза меньше. Я не знаю, разрешен ли вызов glReadBuffer и glDrawBuffer с одним и тем же аргументом. Должно ли это работать так, как я ожидал?
Только в целях обучения я проверяю, что происходит, когда я вызываю glBlitFramebuffer, когда glReadBuffer и glDrawBuffer ссылаются на один и тот же буфер. Пользовательский фреймбуфер определяется следующим образом: [code]bool initFBO() { glGenFramebuffers(1, &fboId); glBindFramebuffer(GL_FRAMEBUFFER, fboId);
GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); glBindFramebuffer(GL_FRAMEBUFFER, 0);
if (status != GL_FRAMEBUFFER_COMPLETE) { return false; }
return true; } [/code] Вот рендеринг: [code]glBindFramebuffer(GL_FRAMEBUFFER, fboId);
render(); //now fboTexId is filled
glBindFramebuffer(GL_READ_FRAMEBUFFER, fboId); glReadBuffer(GL_COLOR_ATTACHMENT0); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fboId); glDrawBuffer(GL_COLOR_ATTACHMENT0); glBlitFramebuffer(0, 0, w, h, 0, 0, w / 2, h / 2, GL_COLOR_BUFFER_BIT, GL_LINEAR);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
//render to the screen renderTex(fboTexId); [/code] Когда я отображаю текстуру fbo на экране, я получаю результат функции рендеринга — glBlitFramebuffer ничего не делает. Я ожидал получить результат функции рендеринга со вторым слоем сверху в два раза меньше. Я не знаю, разрешен ли вызов glReadBuffer и glDrawBuffer с одним и тем же аргументом. Должно ли это работать так, как я ожидал?
В консоли Spyder (REPL) я запускаю import matplotlib.pyplot как plt. Это самое верхнее пространство имен, т. е. соответствующее globals().
В файле запуска Spyder я определяю функцию, которая поднимает окна рисунков наверх. >
def TKraiseCFG( FigID =...
Я пытаюсь разобрать ряд шагов по очистке и анализу данных, написанных другими. Используемый набор данных «Титаник» содержит следующие два столбца: «embarked» и «embark_town».
#to check if the missing values for embark and embarked column are for...
Я пытаюсь разобрать серию шагов по очистке и анализу данных, написанных другими.
Используемый набор данных «Титаник» имеет следующие два столбца: «embarked» и «embark_town». Я не понимаю следующую строку кода:
#to check if the missing values for...
Если у меня есть код (салфетка), который выглядит следующим образом:
public static SomeClass someInstance;
ThreadLocal locals = new ThreadLocal(){
@Override protected HashMap initialValue() {
return new HashMap(){{put(5,someInstance);}};
}
Моя программа Android должна использовать функцию GlblitFrameBuffer () для копирования объекта FrameBuffer . Но функция glblitframebuffer () поддерживается только на устройствах OpenGL ES 3.0+. Я хочу поддерживать устройства OpenGL ES 2.0+.