2010-02-06 3 views
0

Пусть я открываю окно glfw с:Способы glfwOpenWindow и glReadPixels?

glfwOpenWindow(width, height, 8,8,8,8,8,8, GLFW_WINDOW); 

Затем я пытаюсь прочитать его обратно с:

glReadPixels(0, 0, width, height, ..1.., ..2..); 

Я не уверен, что я должен положить как ..1. и ..2 ..; Я думаю .. 1. должен быть GL_RGBA, но не знаю, для ..2 ..

Спасибо!

ответ

1

Не знаю, если это поможет, но я нашел эту статью на GPWiki about glfwOpenWindow и openGL docs for glReadPixels.

Я немного играл с openGL, но я не использовал эти функции. могли бы вы попробовать что-то основное, как:

glfwOpenWindow(width, height, 8,8,8,0,0,0, GLFW_WINDOW); 

и

glReadPixels(0, 0, width, height, GL_RGB, GL_FLOAT); 

И посмотреть, если вы получите правильный результат или что-нибудь близко, а затем постепенно добавлять детали, необходимые, как тестирование:

glfwOpenWindow(width, height, 8,8,8,8,0,0, GLFW_WINDOW); 

затем

glReadPixels(0, 0, width, height, GL_RGBA, GL_FLOAT); 

и так далее.

+0

+1 Почему GL_FLOAT? Я попробовал GL_UNSIGNED_BYTE, и это сработало; но, возможно, GL_FLOAT более эффективен. Не знаю, пожалуйста, просветите меня. – anon

+0

Я не использовал openGL, но я привык использовать float. в теории байты должны быть быстрее. –

Смежные вопросы