問題タブ [ftgl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - OpenGL + FTGL で影付きのテキストを描画する
FTGL ライブラリを使用して OpenGL でテキストを描画していますが、すべて正常に動作しますが、テキストに影を追加したいと考えています。私が試したのは、同じテキストを黒色で描画し、その上に次のような通常の色でテキストを描画することです(疑似コード):
しかし、テキストを 5 回描画する必要がありますが、それでも見栄えがよくありません。
スクリーンショットのようなものを取得したい
opengl - OpenGL:FTGLとテクスチャを使用
FTGLテクスチャフォントを使用する場合、プログラムの別の場所で別のテクスチャを使用するまで、すべてが完全に機能します。そうすると、フォントの元のテクスチャが失われたように見え、その結果、文字が黒い点として描画されます。glTexEnvfのさまざまなパラメータで遊んだ後、問題は単にフォントが書き込み時にデフォルトのテクスチャをロードしないことだと思います。
このデフォルトのテクスチャにアクセスして、書き込む前にバインドする方法はありますか?
c++ - たとえば、FTGLとQt(OpenGL)を使用して探します
3Dフォントを画像にレンダリングする簡単なアプリケーションを実行する必要があります。推奨されるライブラリはFTGLですが、3dQtと組み合わせるにはどうすればよいですか?
mingw - MinGWを使用してFreeType2ライブラリをリンクできません。ld.exe:-lfreetypeが見つかりません
IDEとしてCode::Blocksを使用して、Windows7でMinGWをコンパイルしています。すべてが最新である必要があります。同様の質問がいくつかあることに気づきましたが、それらは静的ライブラリをコンパイルするのではなく、動的ライブラリをリンクすることに関するもののようでした。
OpenGLでテキストを使用できるようにするためにFTGLを使用しようとしています。FTGLには、FreeType2がインストールされている必要があります。FreeTypeソースをダウンロードし、INSTALL.GNUの指示に従って、mingw32-make.exeを使用してCMD.EXEから静的ライブラリをビルドしました。
指示に従って、FreeTypeインストールのベースディレクトリからmingw32-makeを実行しました。コンソール出力は期待どおりでした:
プラットフォームとコンパイラの両方が正しいことを確認して、makeコマンドを再度実行しました。
これにより、ディレクトリD:\ freetype-2.4.4\objsにファイルfreetype.aが作成されました。
次に、Code :: Blocksの手順を実行してライブラリをプロジェクトにリンクし、FTGLをテストするためのサンプルビットを追加して、ビルドを試みました。
方法によっては、2つのエラーが発生します。
リンカに正しいディレクトリ(-LD:\ freetype-2.4.4 \ objs)を提供し、-lfreetypeでリンクすると、ld.exeがタイトルのエラーで終了し、-lfreetypeが見つからなくなるまで、すべて問題ありません。
正しいディレクトリを指定しないと、同じエラーが発生します。ライブラリが見つかりません。
ファイルの名前freetype.aをlibfreetype.aに変更し、適切なディレクトリを指定すると、代わりにいくつかの未定義の参照が取得されます。
間違ったディレクトリを指定すると、ライブラリが見つからないという以前のエラーが発生します。
インストールファイルの指示に従うと、makeがlibで始まらない名前のライブラリを生成するのは奇妙だと思いました。私がチェックしたところ、他のすべての.aファイルはlib-で始まっていました。そして、リンカがファイルlibfreetype.aを探しているようです。では、なぜmakeは代わりにfreetype.aを作成するのですか?これは、プログラムのコンパイルに使用しているライブラリと同じコンパイラを使用しています。
とにかく、ここからどこへ行くのかわからない。MinGWパッケージの一部であるMSysシェルを使用することを考えましたが、それについてはあまり経験がなく、INSTALL.UNIXの命令は、より明白なコマンドを知っていることを前提としています。彼らは、どのオプションが推奨されるかについては言及せずに、。/configure[options]の使用について言及しています。システムの知識が豊富な人にはおそらく明らかですが、MSysはshでの私の最初の経験です。
この件についてご協力いただければ幸いです。
c++ - WindowsにFTGLライブラリをインストールするには?
FTGL ライブラリが必要な haskell FTGL バインディングを使用したい。Windows 用のバイナリはないようで、コンパイル方法に関する有用な情報が見つかりません。それを機能させる最も簡単な方法は何ですか?
opengl - GL_ALPHA テクスチャをレンダリングするにはどうすればよいですか?
FTGL フォント ライブラリを使用して、テクスチャ マップ フォントを作成し、画面にレンダリングしようとしています。ライブラリは、フォント グリフを保持する形式でテクスチャを作成し、文字列をレンダリングするように指示すると、期待どおりに各グリフGL_ALPHA
を通過してレンダリングします。glBegin(GL_QUADS)
唯一の問題は、テキストが得られないことです。あるシナリオでは、テキストの代わりに真っ黒なボックスが表示されますが、別のシナリオでは何も表示されません。gDEBugger の下でコードを実行して、テクスチャがアップロードされ、正しく設定されていることを確認しました。すべてが正しく表示されますが、まだ出力が表示されません。
私は明白なものを試しました。glColor
テキストの色を設定しようと事前に呼び出しても何も起こりません。次のように、アルファブレンディングが適切に機能することを確認しようとすることもありません。
GL_ALPHA
テクスチャから画面へのレンダリングを適切に表示するために、何が欠けているのか誰にもわかりませんか?
c++ - FTGL の未定義の参照はありますか?
私はこのライブラリを使用して OpenGL アプリケーションでテキストを出力しようとしていましたが、これまでにコンパイル済みのライブラリを入手したので、簡単に始めることができたので、次のコードを使用しました。
したがって、このリンカーを使用してコンパイルすると、次のようになります。
-lmingw32 -lSDLmain -lSDL -lopengl32 -lglu32 -lSDL_image -lm -lgdi32 -lsdl_mixer
-lSDL_ttf
次のエラーが表示されます。
これは、残りの 2 つのリンカーを含めると、IDK の原因としてリンカーを正しく配置するのを忘れたことが原因であるはずです。
-lfreetype2 -lftgl
私は 50 のエラーのようなものを取得します。私はそれらをここに置くつもりはありません。皆さんの目を壊したくありません。
では、これを修正するために何ができるのでしょうか?
IDE: CodeBlocks OS: Windows
編集:
したがって、順序を変更した後もエラーが発生します
エラー:
編集:
カジュアルコーダーがまだエラーを言ったことをやった後、あなたの答えのためにそれはうまくいかないようです
最後の更新
正しい順序は次のとおりです。
-lmingw32 -lSDLmain -lSDL -lSDL_image -lm -lgdi32 -lsdl_mixer -lSDL_ttf -lftgl -lfreetype2 -lopengl32 -lglu32
c++ - MinGW でコンパイルし、FTGL lib をインストールして OpenGL でテキストをレンダリングする
環境
SDL と OpenGL を使用してゲーム エンジンを作成しています。ファンシーなTrue Typeフォントを使用して画面にテキストを出力する最良の方法を見つけようとしていますが、FTGLに出会いました。(より良い/より簡単な解決策がある場合は、自由に共有してください。)
FTGL のコンパイル
動作させるには FreeType2 が必要なので、入手してコンパイルし (Code::Block を使用)、次に Code::Block を使用して FTGL ライブラリをコンパイルしました。
CDT プラグインで Eclipse Indigo を使用しています。.lib
と.dll
ファイルがあるため、どのライブラリを使用すればよいかわかりません。私は両方を試しましたが、これは現在この行にある私の問題をまったく変えないようです:
エラーは次のとおりです。
FTPixmapFont コンストラクターなど、別の FTfont サブクラスを使用しても変わりません。
私が試したリンカーフラグは次のとおりです。
MinGWでEclipseを使用しています。
コピーして貼り付けました
src/FTGL
フォルダとInclude
フリータイプ ライブラリのフォルダの内容
MinGWディレクトリのinclude
フォルダに。
freetype2 ( と があり、freetype.lib
プロジェクトのプロパティにリンクするかどうかは不明) と ftgl ( 、、) の両方の lib ファイルを、MinGW ディレクトリの対応する lib フォルダーに入れます。freetype248_D.lib
freetype-bcc.lib
ftgl.dll
ftgl_D.lib
ftgl_static_D.lib
エラーがあり、Open Declaration オプションを使用している行をクリックすると、Eclipse によって、定義済みのFTTextureFont
ヘッダー ファイルとFTTextureFont(char const*)
定義済みのMakeGlyph
関数が表示されます。
詳細を確認したい場合、またはリファレンスとして、GetRandomGame プロジェクト ページで完全なコードを見つけることができます。
コンパイラ版はこちら
編集
同様の質問: FTGL 未定義の参照はすべてありますか? 、しかし、その質問の答えは私の問題を解決しません.私はまだこれらの2つのエラーを受け取ります.
編集2
最初に FTGL を使用しようとしたとき、MSVC を使用してコンパイルしていましたが、2 つのエラーが発生しました。
最後に code::block を使用して、両方のライブラリで提供される MSVC プロジェクトをインポートしました。2 つのエラーのうちの 1 つが解決されました。しかし、私はまだこれを持っています:
編集3
freetype 2.3.4 で FTGL 2.1.2 をコンパイルしようとしましたが、問題は解決しませんでした。freetype 2.3.4でFTGL 2.1.3 rc5を試しましたが、同じです。念のため、freetype 2.3.5 と 2.4.8 も試しました (最初は既に 2.4.8 でした)。
コードをヘッダー ファイルに移動しようとしましたMakeGlyph
が、問題は解決しませんでした。
ここに私が見つけた便利なリンクがいくつかありますが、まだ問題を解決していません。
編集4
リンカーフラグを削除するftgl
と、コンパイラはこれについて不平を言います:
そして、まだ純粋仮想メソッドMakeGlyph
エラーが発生します。
リンカー フラグを使用すると、 「継承された Pure Virtual メソッド MakeGlyph を実装する必要があります」ftgl
というエラーのみが表示されます。コンパイラはプロジェクトを正常にビルドします (ただし、起動時にクラッシュします)。
FTPixmapFont.cpp
したがって、純粋仮想メソッドを定義する必要があるため、FTGL lib が正しくコンパイルされていないと考えていMakeGlyph
ます。私はC ++でこれらすべてのlibのことを初めて知り、libの構築に何か間違ったことをしている可能性があります。
編集5
ファイルが必要な例を読んで見たので、FTGLに付属するconfig.h
適切に構成されたファイルを追加しました。config.h
ftgl
次に、ディレクトリで提供されている例で次のコードを見つけ、それをFont
クラスに追加しました。
そこに定義しMakeGlyph
ても、Eclipse は実装されていない純粋仮想メソッドについて文句を言いFTFont::MakeGlyph
ます。
編集6
gdb を使用してコマンド ラインからデバッグを試みましたが、freetype6.dll が見つからないことがわかりました。私は今、解決策を見つけようとしています。
opengl - glRasterPosを設定すると、ftglテキストが消えるのはなぜですか?
openglのフォント用のFTGLライブラリで苦労しています。たとえば、画面の左下以外の場所にテキストを配置する方法がまだわかりません。現在、pixmapフォントを使用しており、実験を開始しましたglRasterPos
。
次のコードは、左下のテキストを白で表示するという点で「機能」します。
次の例では、テキストはまったく表示されません。
よくわかりません!何も変わらないはずですが、なぜフォントがレンダリングされないのですか?
c++ - new演算子を使用してオブジェクトを作成すると、未解決の外部シンボルエラーC++FTGLが発生します
Microsoft Visual Studio 2012、C++プロジェクトでFTGLライブラリを使用しています。次を使用してフォントを適切にレンダリングできるため、最終的にプロジェクトに適切にリンクすることができました。
new
演算子を使用してオブジェクトを作成しようとするまでは、すべて問題ないようです。
上記のコードはこのエラーを生成します:
何が原因なのか全くわかりません。どんな回答でもよろしくお願いします。
ありがとう!