5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GLFWをつかってオフスクリーンレンダリングをする方法

Last updated at Posted at 2015-04-18

#はじめに
glfwを使えば,クロスプラットフォームでOpenGLのオフスクリーンレンダリングができるということがわかりましたので,その方法を簡単にまとめます.WindowsやMesaではやる方法があったのですが,GLFWを使えばどこでも簡単にできるようになりました.

使い方としては,ウィンドウを出さずに済むので,サーバー側でバッチ処理とかに使えそうです.図を固定した視点でレンダリングして,画像にするという使い方を考えています.修論で,法線マップを画像に書き出して以来気にしていたのですが,できる方法が確立されてスッキリです.

#方法

 ::glfwWindowHint( GLFW_VISIBLE, 0 )を入れればokです.入れるタイミングは,以下のあたりです.画像の取得は,glReadPixels()などを使えばできます.

int width = 640;
int height = 480;
if ( ::glfwInit() == GL_FALSE )  return false;
::glfwWindowHint( GLFW_VISIBLE, 0 );
GLFWwindow* win =  ::glfwCreateWindow( width, height, "tmp", NULL, NULL );

#ラッパー
C++のラッパーを作成しました.サンプルプログラムや,他のクラス,関数(gluUnproject()などの代替,カメラクラスなど)もあります.

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?