2012-01-10 18 views
2

gl::textureファイルを描画する方法があり、ループごとにgl::drawコマンドを使用しなければならないかどうか疑問に思っていました。私は一度それを描くことができ、それを心配しない方法がありますか?Cinderにテキストを描画

draw()のすべてのループに画像を描画すると、アプリケーションが遅くなっているので、必要な場合は画面上で一度だけ描画してから更新します。燃えがらのチュートリアルから引用

答えて

2

「新しい燃えがらのプロジェクトを作成するとき、あなたはあなたのために宣言したいくつかの機能がありますわかりますすべての燃えがらプロジェクトは三つの主要な機能で構成されていますが、中にあなたの変数を初期化します。プログラムの開始時に一度呼び出されるsetup()メソッドupdate()メソッドでこれらの変数を変更し、最後にプログラムウィンドウにコンテンツを描画します(更新および描画はすべてのCinderプロジェクトのハートビートです)。 UpdateSetup、更新と描画、更新と描画、更新と描画、アプリケーションを終了するまでオンとオフを切り替えることができます。

OpenGLにオブジェクトを永久に描画する方法がありますが、それはCinderではうまくいきますが、お勧めしません。 draw関数でgl :: clear()を無効にすることです。不要なオブジェクトを選択的に削除することはできません。シーンを最初からレンダリングする必要があります。 OpenGLのフレームバッファをもっとキャンバスと考えてください。 gl :: clear()を呼び出すたびにブラシを取り、キャンバスを黒く塗りつぶすか、またはgl :: clear()で指定した色に塗りつぶします。その後、フレームバッファは "tabula rasa"であり、最初から表示したいものすべてを描画する必要があります。新しいオブジェクトを描画するときにgl :: clear()コマンドを指定しないと、キャンバスが元のままで、既に描画されたオブジェクトの上にオブジェクトを描画するようなものです。

関連する問題