質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
GLFW

GLFWは、OpenGLを使用してアプリ開発を行うためのフレームワークです。Macにも対応しているマルチプラットフォームであることが特徴。ウィンドウ管理、解像度切り替え、入力管理などの機能を持ちます。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1804閲覧

OpenGLにてテクスチャ貼り付けた画像を消去したい

wide

総合スコア10

GLFW

GLFWは、OpenGLを使用してアプリ開発を行うためのフレームワークです。Macにも対応しているマルチプラットフォームであることが特徴。ウィンドウ管理、解像度切り替え、入力管理などの機能を持ちます。

OpenGL

OpenGLは、プラットフォームから独立した、デスクトップやワークステーション、モバイルサービスで使用可能な映像処理用のAPIです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/10/12 14:31

OpenGLとC++を使用してアプリを作成しています。

ノベルゲームのように、
「 テキストを描画 → 消去して次のテキストを描画 」
という処理を、一つのテクスチャに文字の画像を貼り付けて行おうとしているのですが、
glTexImage2D()で、一度コピーした画像の消去がうまくいかず詰まっています。

大まかな処理の流れは以下の通りです。
(テキストデータの読み込み部分などは省略しています)

//テクスチャの生成 glGenTextures( 1, &texture_id ); //バインド glBindTexture( GL_TEXTURE_2D, texture_id ); //1回目の画像データをコピー glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, X, Y, 0, GL_RGBA, GL_UNSIGNED_BYTE, &pixel); 1回目の描画 //貼り付けた画像を削除 glTexSubImage2D(GL_TEXTURE_2D, 0, GL_RGBA, X, Y, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); //2回目の画像データをコピー glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, X, Y, 0, GL_RGBA, GL_UNSIGNED_BYTE, &pixel); 2回目の描画をするが、1回目の画像データが残っている

試したこと

削除部分は、glTexSubImage2Dを使用せず、
以下のようにglTexImage2Dを使用して再生成してみる方法も試してみましたが、
消去はされるものの、3回目以降の文字列の描画でノイズが発生し、結局上手くいきませんでした。

glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, X, Y, 0, GL_RGBA, GL_UNSIGNED_BYTE, null);

何か手順を踏むのか、
そもそも画像データ消去の方法が間違っているのか、
ご教授お願い致します。

補足情報

動作環境は、
Windows10 64ビット

OpenGLのライブラリは、
GLFW、GLEW、文字描画用にFreeTypeを使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問