我想讀的屏幕像素這樣做的RGB值:glReadPixels與屏幕像素
#include "stdafx.h"
#include<windows.h>
#include<stdio.h>
#include <gl\GL.h>
int main(int argc, char** argv)
{
GLubyte color[3];
glReadPixels(800, 800, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &color);
printf("R:%d G:%d B:%d", color[0], color[1], color[2]);
while (1);
}
但它並不重要座標我問。它始終返回我R:204 G:204 B:204
我在做什麼錯?
你想做什麼?您甚至沒有創建OpenGL上下文... –
我想讀取位置x = 800像素的RGB值y = 800 – sergio
glReadPixels只能在與其關聯的OpenGL上下文的屏幕中工作。在glReadPixels文檔中有一個註釋:「位於連接到當前GL上下文的窗口之外的像素的值未定義」。換句話說,只有在以下情況下,才能確保獲得實際的像素值:1.有一個窗口並且2.將GL上下文連接到它。 –